Vim の b と B の違いは何ですか? 質問する

Vim の b と B の違いは何ですか? 質問する

グーグルで調べたらこう書いてありました:

単語を 1 つ戻すには、b を使用します。この場合も、B を使用すると、Vim が単語と見なす範囲にさらに多くの文字が含まれます。

B と b の違いがわかりません。わかりやすい例を挙げていただけますか? ありがとうございます。

[編集]実は私はオンラインのvimでこれを疑問に思っていますゲーム、b を使用して ! から WORDS に戻ろうとしましたが、機能しませんでした。ただし、コンピューターにインストールされている Vim で試したところ、b で機能しました。これは、プレイヤーが手がかりの助けを借りて B を使用するようにするためだけのものですか?

ゲームの画像はこちらです:

ここに画像の説明を入力してください

ベストアンサー1

大文字の移動ペアのほとんどと同様に、b単語単位で移動しますが、BWORD単位で移動します。違いは、vimでは「単語」を文字、数字、アンダースコアと見なす点です(設定でこれを構成できますiskeyword)。一方、「WORD」はいつも空白以外のもの。

したがって、次のようになります。

foo-bar-baz

カーソルが にあるときに をz押すとb、カーソルは の先頭に戻りbaz、次にハイフンに移動し、さらに の先頭に戻るbar、というように続きます。これらはそれぞれ、vim にとって異なる「単語」です: foo、、、、。-bar-baz

しかし、 を押すと、はすべて空白文字ではなく単一の WORD であるため、Bカーソルは まで左端に移動します。ffoo-bar-baz

:help wordinside vim でもこれについて説明されています。


vim ゲームに関して: ゲームでは岩を句読点として扱うと思います。vim で次のように入力してみてください:

not WORDS*!

カーソルが にある場合!bは に戻ります。これは、 がすべて句読点であり、したがって 1 つの単語であるためです。しかし、これは*実際には岩であるため、そこに移動することはできず、何も起こりません。一方、 は、スペース以外のすべてをスキップして戻ります。*!*B

おすすめ記事