在正常模式下,我可以按Ctrl+ E,删除当前单词的其余部分并进入插入模式.
我想删除整个单词,无论光标位置如何(当然在单词内).另外 - 如何用默认寄存器中的任何内容替换当前字?
Kaa*_*ali 157
您可以通过键入"ciw"来删除光标所在的单词来使用"更改内部单词".
"内部"和"a"命令在Vim中很棒,也可以在{}块中尝试"ci {",如果你也希望删除{}字符,也可以尝试"ca {".要将这些命令翻译成英语以便更好地记住它们,请尝试:"更改内部{block"和"更改{block".
http://vimdoc.sourceforge.net/htmldoc/motion.html#text-objects上的文档
too*_*php 18
回答你的后续问题: viwp
v -> start visual mode
iw -> select the 'inner word'
p -> paste - in visual mode it replaces the visually selected text.
Run Code Online (Sandbox Code Playgroud)
对于第二个问题: bPldw
这将按顺序将您带到当前单词的开头,在光标前插入默认寄存器,转到下一个字符(将您带到刚刚插入的文本的末尾),并删除其余的这个单词.
对于第一个问题,bcw同样工作。它的意思是“b确认单词的开头,change word”。但我觉得ciw更难忘,意思是“ change inner word”,只是一步而已。
对于第二个问题“使用粘贴替换”,我的解决方案是"_diwP。它将命令d删除到您不关心的寄存器中,并使用默认寄存器的内容。一个优点是您可以多次粘贴默认寄存器,因为它不会被污染。它有点复杂,所以我将其映射为.iwpnnoremap ,r "_diwP