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