vim中是否有块替换模式?

3
假设我有以下文本。
Foo Bar Foo Foo Bar Bar Bar
Foo Bar Foo Foo Bar Bar Bar
Foo Bar Foo Foo Bar Bar Bar
Foo Bar Foo Foo Bar Bar Bar
Foo Bar Foo Foo Bar Bar Bar
Foo Bar Foo Foo Bar Bar Bar

如果我想替换每一行的前n个字符,通常会执行以下三个步骤:
  1. 使用可视化块模式选择并删除每行中前n个字符。
  2. 使用可视化块模式选择每行的第一个字符。
  3. 输入 I,然后输入要替换的文本。
然而,在操作单行文本时有一个更快的选项,即使用REPLACE模式,我们可以通过在正常模式下按下 R,然后简单地输入新文本来进入该模式。 是否有相应的适用于多行的 REPLACE 模式? 我能找到的最接近的方法是可视化块选择整个字符网格,然后按小写字母r,并输入单个字符。但是,这仅适用于替换文本全是相同字符的情况,并且需要事先知道要替换的字符数。
2个回答

4

使用c可以在一段文本中进行更改。

请参见:

:h v_b_c

它也适用于s(在正常模式下,它的行为更类似于s而不是c,所以我觉得这更容易记住)。 - Philipp Wendler

-1

据我所知,没有这样的功能。但是您可以通过gv加快重新选择的速度;块的左边界是相同的,对于I而言,选择的文本数量并不重要:

<C-V>...xgvI

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接