我已经习惯了vim中的"change object"命令:cw, ci"等
然而,有时我正在处理格式化的文本文件,并希望保留空格。例如,在下面的例子
中abc123 efg456
我真的想要一个rw
命令,当站在第一个a
字符上并用ABC
替换第一个单词时,将用空格替换123
字符。所以我得到:
ABC efg456
(这是在输入rwABC<esc>
之后,当光标最初在a
上并且处于命令模式时)
任何想法?
我会选择vwr<Space>RABC<Esc>
。这将应用运动/文本对象(这里:w
)来制作一个视觉选择,然后空白选择,然后开始替换模式。
你可以为此创建一个映射,但是你的rw
建议会阻止你使用原始的r
命令来替换单个字符(或者,如果你只是想为w
运动替换字母w
)。
下面是一个简单的映射(没有经过很好的测试,但它适用于您的示例)。它用空格替换单词的末尾,并使您进入替换模式。
nnoremap <leader>rw ver <esc>R
输入rw
。(您可以省略<leader>
,这将允许您按要求键入rw
,但这会干扰默认的r
行为。)