如何在Vim中删除单词并进入插入模式?
在正常模式下,我可以Ctrl
+ E
,删除当前单词的其余部分,并进入插入模式。
我想要删除整个单词,而不pipe光标的位置(在单词当然)。 另外 – 我怎样才能用默认寄存器中的任何东西来replace当前的单词?
您可以通过键入“ciw”来删除光标所在的单词,从而使用“更改内部单词”。
在Vim中,“inner”和“a”命令是很好的,也可以在{}块内尝试“ci {”,如果你也希望删除{}字符,可以使用“ca {”。 要将这些命令翻译成英文以便更好地记住它们,请尝试:“更改内部{块”和“更改块”。
http://vimdoc.sourceforge.net/htmldoc/motion.html#text-objects上的文档;
回答你的后续问题: viwp
v -> start visual mode iw -> select the 'inner word' p -> paste - in visual mode it replaces the visually selected text.
对于第二个问题: bPldw
这将按顺序将您带到当前单词的开头,在光标前插入默认的寄存器,转到下一个字符(带您过去刚刚插入的文本的末尾),然后删除剩下的这个单词。
或者,也许可以使用键序列bdwi
删除当前单词并进入INSERT模式。
对于第一个问题, bcw
也适用。 这意味着“开始词,改变语气”。 但是我觉得ciw
更加难忘,意思是说“更不用说”,只有一步。
对于第二个关于“replace使用粘贴”的问题,我的解决方法是"_diwP
”,它会更改为一个你不关心和注册默认registry内容的registry,一个好处是你可以粘贴默认的registry很多次,因为它不会被污染,这是一个复杂的,所以我把它映射为nnoremap ,r "_diwP
。