1. ホーム
  2. vim

VimのbとBはどう違うの?

2023-11-24 20:34:19

質問

ググったらそう書いてあった。

単語を戻すには、b を使用します。もう一度言いますが、B は Vim が単語と見なすより多くの文字を含みます。

Bはbと何が違うのか理解できませんでした。私が理解できるような例を教えていただけませんか?ありがとうございます。

[EDIT]実は、オンラインvimでは、このように疑問に思っています。 ゲーム で、bで!からWORDSに戻ろうとしたのですが、うまくいきませんでした。ということは、手がかりを頼りにBを使わせるだけなのでしょうか?

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

どのように解決するのですか?

大文字の動作ペアのほとんどと同じように b は単語単位で移動しますが B は WORD で移動します。 この違いは、vim が "word" を文字、数字、アンダースコアとみなしていることです (この設定は iskeyword 設定で設定できます)、しかし "WORD"は 常に であり、空白でないものはすべて

ということで、これを考えると

foo-bar-baz

カーソルが z の上にあり b を押すと、カーソルは再び baz の先頭に戻り、次にハイフンに移動し、次に bar といった具合です。 これらはそれぞれ、vimにとっては別の"word"です。 foo , - , bar , - , baz .

しかし、もしあなたが B を押すと、カーソルはずっと左の f に移動します。 foo-bar-baz はすべて空白でないため、1つのWORDになります。

:help word vimの内部ではこのような説明もされています。


vimのゲームについて。このゲームはボルダーを句読点として扱うと思います。 vim でこのように入力してみてください。

not WORDS*!

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