【发布时间】:2012-12-23 09:34:08
【问题描述】:
如何在 Vim 中替换光标下的单词。
那么除了使用dw然后i然后是单词然后Esc,有没有更简单的组合来替换光标下的单词?
【问题讨论】:
如何在 Vim 中替换光标下的单词。
那么除了使用dw然后i然后是单词然后Esc,有没有更简单的组合来替换光标下的单词?
【问题讨论】:
【讨论】:
/usr/bin/bash或1222.333),如何处理?看起来 vim 将 / 和 . 解释为单词的结尾,并且不会选择整个字符串。
cW 或ciW(注意大写W)
ciw
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".
希望这就是您想要的。
【讨论】:
once。如果我必须替换几个second' by first`(在您的示例中),则在第一次替换后复制的单词变为second。
viw"0p 而不仅仅是 viwp 如果要粘贴多次,会为您提供帮助。基本上和viwp一样,但是粘贴前用"0,不会覆盖缓冲区
如果你想用之前抽出的词来改变一个词,viwp 的另一个解决方案是(一旦你抽出第一个词)。
ciw 删除前一个单词并将您置于插入模式。但随后您可以使用ctrl+r, 0 插入寄存器 0 的内容(其中包含先前提取的单词)。
所以:
yiw
[move to next word]
ciw
ctrl+r
0
这比viwp 效果更好,因为在第一次使用后,您可以重复使用. 执行替换。它也不会切换到可视模式并短暂突出显示。
【讨论】:
viwp相反)只需一次拉动就可以完成多次。谢谢!
viwp 的限制——即使. 也不会复制它。
. 非常棒!
按光标复制单词:bvey
要替换光标下的单词:bvep
【讨论】: