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

yftpprvb  于 11个月前  发布在  其他
关注(0)|答案(6)|浏览(137)

如何在Vim中替换光标下的单词。
那么,除了使用dw,然后i,然后单词,然后Esc,有没有更简单的组合来替换光标下的单词?

7d7tgy0s

7d7tgy0s1#

ciw

字符串
(change inner word)将改变光标下的 * 整个单词 *。比较

cw


这只会改变 * 当前光标位置 * 的单词。有关更多信息,请参阅this SO问题/答案。

dffbzjpn

dffbzjpn2#

我经常发现自己想用另一个我从其他地方拉来的单词替换一个单词。其他解决方案的问题是,如果你试图改变一个单词,那么你的下一个粘贴将是你用cw删除的单词。
尝试以下操作:
希望这就是你要找的。

6jjcrrmo

6jjcrrmo3#

CIW

c   change
iw  inner word

字符串
这将删除光标下的单词(即使光标位于单词中间)并进入插入模式。
另请参阅Vim的文档以供参考:

:help c
:help text-objects

ecbunoof

ecbunoof4#

如果你想用一个先前被拉出来的单词来改变一个单词,还有另一个解决方案viwp(一旦你拉出来了第一个单词)。
ciw删除前一个字,并将您置于插入模式。但随后您可以使用ctrl+r, 0插入寄存器0的内容(其中包含先前被拉的字)。
于是:

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

字符串
这比viwp更好,因为在第一次使用后,你可以重复执行.的替换,它也不会切换到可视模式并短暂高亮显示。

niknxzdl

niknxzdl5#

试试cw-就像“change word”一样。
使用http://linuxmoz.com/vi-commands-cheat-sheet/或任何其他备忘单作为参考。

mdfafbf1

mdfafbf16#

要在光标下复制单词,请按:bvey
要替换光标下的单词,请按:bvep

相关问题