カーソルの下の単一の単語を置き換える方法は?


144

Vimでカーソルの下の単語を置き換えるにはどうすればよいですか。

では、dwthenとithen を使用する代わりにEsc、カーソルの下の単語を置き換える簡単な組み合わせはありますか?

回答:


251
ciw

(内側の単語を変更)は、カーソルの下の単語全体を変更します。と比べて

cw

現在のカーソル位置から単語を変更するだけです。詳細については、このSOの質問/回答を参照してください。


単語にドットやスラッシュが含まれている場合の対処方法(例: /usr/bin/bashまたは1222.333)?vim が単語の終わりとして解釈し/.文字列全体を選択するようには見えません。
Alexander Cska

85

ある単語を他の場所から引き継いだ別の単語に置き換えたいと思うことがよくあります。他のソリューションの問題は、単語を変更しようとすると、次の貼り付けは削除した単語になるということですcw

以下を試してください:

1 "This first word should overwrite the second"

yiw     yank inner word (copy word under cursor, say "first").
...     Move the cursor to another word (say "second").
viwp    select "second", then replace it with "first". 

それがあなたが探していたものであることを願っています。


7
うまく機能しますが、交換が必要な場合のみですoncesecond' by 最初のカップルを置き換える必要がある場合(例では)、コピーされた単語secondは最初の置き換えの後になります。
ViFI

32

ciw

c   change
iw  inner word

これにより、カーソルの下の単語が削除され(カーソルが単語の中央にある場合でも)、挿入モードになります。


Vimのドキュメントも参照してください。

:help c
:help text-objects

17

以前にヤンクした単語で単語を変更する場合は、別の解決策がありviwpます(最初の単語をヤンクした後)。

ciw前の単語を削除し、以前の単語を挿入モードにします。しかし、これを使用ctrl+r, 0して、レジスター0(以前にヤンクされたワードを含む)の内容を挿入できます。

そう:

yiw
[move to next word]
ciw
ctrl+r
0

これviwpは、最初の使用後に、との置換を繰り返し実行できるため、より効果的に機能します.。また、ビジュアルモードに切り替わらず、短時間ハイライトされます。


1
それがモードを変更しないという意味がわからない、反対がそうであるように思われるかもしれませんが、おそらくそれはあなたが挿入モードのままにしたいことです。しかし、大きな利点は、これは(とは対照的にviwp)1回のヤンキングで数回実行できることです。ありがとう!
パロ

そうそう、私は編集されたビジュアルモードに入るつもりでした。それが制限であることを私は知りませんでしたviwp-それを.複製することすらありません。
コナー

3
これは、私たちが既に置き換え用の単語を使用している場合には、群を抜いて最良の解決策です。
mljrg

1
これが答えです!.これを使う能力は素晴らしいです!
izzy、

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.