我习惯了vim中的“更改对象”命令:cw,ci“等等。
但是,有时候我正在处理格式化的文本文件,并希望保持间距。例如,在以下示例中
abc123 efg456
我真的想要一个rw
命令,当站在第一个a
字符上并用ABC
替换第一个字时,会用空格替换123
个字符。所以我会得到:
ABC efg456
(这是在光标最初在rwABC<esc>
上并在命令模式下键入a
之后。
有什么想法吗?
答案 0 :(得分:5)
我会做vwr<Space>RABC<Esc>
。这将应用运动/文本对象(此处:w
)进行可视选择,然后清空选择,然后启动替换模式。
您可以为此创建映射,但是您的rw
建议会阻止您使用原始r
命令替换单个字符(或者,如果您只想为{{1动作,替换为字母w
)。
答案 1 :(得分:2)
这是一个简单的映射(测试不是很好,但它适用于您的示例)。它用空格替换为单词的结尾,并使您处于替换模式。
nnoremap <leader>rw ver <esc>R
要使用此功能,请键入\rw
。 (您可以省略允许您按照请求键入<leader>
的{{1}},但这会干扰默认的rw
行为。)