1

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

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

abc123  efg456

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

ABC     efg456

(这是在rwABC<esc>光标最初打开a并处于命令模式时键入之后。

有任何想法吗?

4

2 回答 2

5

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

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

于 2013-04-08T13:17:55.570 回答
2

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

nnoremap <leader>rw ver <esc>R

要使用它,请键入\rw。(您可以省略<leader>which 将允许您按rw要求键入,但这会干扰默认r行为。)

于 2013-04-08T13:24:25.950 回答