在部分线上执行Vim替换

时间:2009-09-05 18:53:50

标签: editor vim

我们可以通过在可视模式下选择它们并进入命令模式来对一组行执行vim替换。它自动填充选定的范围
: '<,' >

我们可以执行替补 : '<,' > S / TestSubstitute // GC

我想知道是否可以在vim中对在视觉模式中选择的部分行执行替换命令,所以类似于

  

:`<,``> [其次是替补   命令]

通常,我将在vim中复制由分隔符“,”分隔的一组字段名称,并希望计算列数,一旦在可视模式下选择了所有字段名称,就可以通过逗号出现次数来确定。

从fileInfo中选择fname,lastmodtime,lastaccesstime;

如果我在视觉模式中选择从fname到lastaccesstime的文本,并想知道所选文本中的逗号数。

提前致谢,
Naga Kiran

1 个答案:

答案 0 :(得分:11)

在模式表达式中使用\%V修饰符。它将强制vim仅在您当前所处或之前的视觉块中匹配。使用这样的修饰符:

:s/\%Vpattern/substitution/

在可视模式下,这将显示为:。

:'<,'>s/\%Vpattern/substitution/