VIM在替换模式下“更改单词”等效

时间:2013-04-08 13:03:37

标签: vim

我习惯了vim中的“更改对象”命令:cw,ci“等等。

但是,有时候我正在处理格式化的文本文件,并希望保持间距。例如,在以下示例中

abc123  efg456

我真的想要一个rw命令,当站在第一个a字符上并用ABC替换第一个字时,会用空格替换123个字符。所以我会得到:

ABC     efg456

(这是在光标最初在rwABC<esc>上并在命令模式下键入a之后。

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

我会做vwr<Space>RABC<Esc>。这将应用运动/文本对象(此处:w)进行可视选择,然后清空选择,然后启动替换模式

您可以为此创建映射,但是您的rw建议会阻止您使用原始r命令替换单个字符(或者,如果您只想为{{1动作,替换为字母w)。

答案 1 :(得分:2)

这是一个简单的映射(测试不是很好,但它适用于您的示例)。它用空格替换为单词的结尾,并使您处于替换模式。

nnoremap <leader>rw ver <esc>R

要使用此功能,请键入\rw。 (您可以省略允许您按照请求键入<leader>的{​​{1}},但这会干扰默认的rw行为。)