如何在 Vim 中替换光标下的单词。
因此,不是使用dw
then i
then 单词 then Esc
,而是有一个更简单的组合来替换光标下的单词?
我经常发现自己想用我从别处抽出的另一个词来替换一个词。其他解决方案的问题是,如果您尝试更改一个单词,那么您的下一个粘贴将是您删除的那个单词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".
希望这就是你要找的。
ciw
c change
iw inner word
这将删除光标下的单词(即使光标位于单词中间的某个位置)并进入插入模式。
另请参阅 Vim 的文档以供参考:
:help c
:help text-objects
如果你想用之前拉过的词来改变一个词,还有另一种解决方案viwp
(一旦你拉了第一个词)。
ciw
删除前一个单词并将您置于插入模式。但随后您可以使用ctrl+r, 0
插入寄存器 0 的内容(其中包含先前抽出的单词)。
所以:
yiw
[move to next word]
ciw
ctrl+r
0
这比viwp
因为在第一次使用后您可以重复使用.
. 它也不会切换到可视模式并短暂突出显示。
尝试cw
- 如“更改单词”。
使用http://linuxmoz.com/vi-commands-cheat-sheet/或任何其他备忘单作为参考。
要复制光标下的单词,请按:bvey
要替换光标下的单词,请按:bvep