在vim中是否有块替换模式?

时间:2015-02-16 19:19:18

标签: vim

假设我有以下文字。

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,然后键入替换文本。
  4. 但是,当我们在一行文本上操作时,有一个更快的选项,那就是使用REPLACE模式,我们可以通过在正常模式下点击R然后只需输入在文本上。

    是否存在可在多行上运行的等效REPLACE模式?

    我能找到的最接近的是Visual Block选择一个完整的字符网格,然后点击小写r,然后输入一个字符。但是,这仅在替换文本是完全相同的字符时才有效,并且要求我知道要替换先验的字符数。

2 个答案:

答案 0 :(得分:4)

使用c对文本块进行更改。

请参阅:

:h v_b_c

答案 1 :(得分:-1)

不,没有(据我所知)。但是你可以通过gv加快重选速度;块的左边框是相同的,对于I,选择的文本数量无关紧要:

<C-V>...xgvI