5

私は Vim を使用して C コードを編集してc<movement>おり、ファイルの一部をすばやく変更するために Vim を使用しています。特に、c2W「スペースで区切られた 2 つの単語を変更する」などの機能は便利です。

カーソルが単語の最後の文字にある場合、「単語を元に戻す」というコマンドcbを実行しても、編集したい単語の最後の文字が削除されません。カーソルは技術的には最後の文字の前にあったため、これは理にかなっていますが、それは私が望むものではありません。

カーソルが で示されている場合は、次のようになります|

皮切りに:

This is just a typ|ical series of words

「典型的」を「異なる」に変えたいと思います。私は押しeます:

This is just a typica|l series of words

そしてcb

This is just a |l series of words

ハンギングl(明確にするために小文字の L) が残っています。それは私が欲しかったものではありません。

この例bcwでは、カーソルを単語の先頭に置き、単語全体を変更するという単純な組み合わせを使用できたことに、より鋭い人はすでに気づいています。真実!しかし、「単語」を「文字列」に変更したい場合はどうなるでしょうか。

皮切りに:

This is just a typ|ical series of words

「言葉」を「文字列」に変えたい。私は押し$ます:

This is just a typical series of word|s

同じ問題!を押すcbと "s" がぶら下がったままになります (ただし、この例では、"strings" は "s" で終わるので問題ありません)。もちろん、 を押すこともできbcwますが、それは 1 つの追加キーであり、受け入れられません。

この信じられないほどの困難に耐えなければならないのですか?

4

3 に答える 3

11

iw("inner word") モーションを使用して、カーソルが現在置かれている単語全体を選択できます。したがって、 c("change") コマンドと組み合わせると、 ciw.

これは最初の例にも当てはまります。最初に で単語の末尾に移動してからeを使用cbして後方の単語を変更する代わりにciw、現在の位置から を使用することもできます。

于 2013-06-17T18:30:19.080 に答える
5

次のいずれかを試してください:cawまたはciw.

このようにして、カーソルが単語の途中にあるときに単語を置き換えることができます。

于 2013-06-17T18:30:34.377 に答える