用相同长度的空格替换一个单词(或多个单词)?

Replace a word (or many words) with spaces of same length?

在一般意义上,我的问题是如何做类似“dw”或“dd”的操作,而不是删除字符,我想用空格覆盖?

例如假设我有文本:

first second third

如果光标在第二个“s”上,我可以按“dw”得到:

first third

但如果我想要怎么办:

first        third

有简单的方法吗?理想的解决方案是使用“d”样式语法(例如 dw、daw、d$ 等),但使用空格替换而不是删除。

从单词的开头,

  • Ctrl-v 进入可视块模式,
  • e移动到单词的末尾(突出显示过程中的单词),
  • r[SPACE] 用空格替换突出显示的字符。

由于它们的本质(必须消耗下一个字符),rR 不能像运算符一样工作。如果你想替换一个动作,首先视觉 select 它,然后做 r<Space>r_ 或其他。

在这个非常具体的案例中:

ver<Space>

或:

viwr<Space>

注意:我使用了 veviw,因为 w 的语义不一致,所以我希望尽可能避免使用它。