vim中是否有块替换模式?
假设我有下面的文本vim中是否有块替换模式?,vim,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个字符,我通常会执行以下三个步骤 使用视觉块模式选择并删除每行的前n个字符 使用视觉块模式选择每行的第一个字符 键入I,
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个字符,我通常会执行以下三个步骤
I
,然后键入替换文本REPLACE
模式,我们可以在正常模式下点击R
,然后简单地在文本上键入
是否有在多条线路上运行的等效替换模式?
我能找到的最接近的方法是用视觉块选择整个字符网格,然后点击小写字母
r
,然后键入单个字符。但是,这仅在替换文本都是相同字符时有效,并且需要事先知道要替换的字符数 使用c
对文本块进行更改
请参阅:
:h v_b_c
(据我所知)没有。但您可以通过gv
加速重新选择;块的左边框是相同的,对于I
,无论选择了多少文本:
<C-V>...xgvI
…xgvI
它也适用于s
(它在正常模式下的行为更类似于s
,而不是在正常模式下的c
,因此我发现这更容易记住)。