如何替换光标下的一个单词?

如何替换 Vim 中光标下的单词。

因此,与使用 dw然后 i然后单词,然后 Esc,有一个更简单的组合,以取代光标下的单词?

92689 次浏览
ciw

(更改内部单词)将更改光标下的 整个世界

cw

这将只改变字从 当前光标位置当前光标位置。为更多的信息见 这样的问题/答案。

C < kbd > w

c   change
iw  inner word

这将删除光标下的单词(即使光标位于单词中间的某个位置)并进入插入模式。


还可以参考 Vim 的文档:

:help c
:help text-objects

尝试 cw-在’改变单词’。

使用 http://linuxmoz.com/vi-commands-cheat-sheet/或任何其他备忘单作为参考。

我经常发现自己想把从别处扯下来的一个词换成另一个。其他解决方案的问题是,如果您试图更改一个单词,那么您的下一个粘贴将 的单词,您删除了与 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".

希望这就是你要找的。

如果您想用之前被拉掉的单词更改一个单词,那么还有另一个 viwp解决方案(一旦您拉掉了第一个单词)。

ciw删除前一个单词并将您置于插入模式。但是,您可以使用 ctrl+r, 0插入寄存器0的内容(其中包含先前提取的单词)。

所以:

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

这比 viwp工作得更好,因为在第一次使用之后,您可以用 .重复执行替换操作。它也不切换到视觉模式和突出短暂。

在光标按下复制单词: B翻译你好

替换光标按下的单词: B翻译你好P