在VIM中有效地搜索特定行位置上的特定字符串

时间:2016-09-28 13:33:59

标签: regex string search vim

众所周知,Vim是一个很棒的工具,可以做这样的事情。我在某些报告文字中搜索错误。比方说,我正在寻找字符串" 0000"在文中我会输入命令":s / 0000"。默认情况下,它会突出显示该序列的所有实例,我的意思是全部。好的部分是我知道,例如,字符串从每行的第11个位置开始。 我想知道的是有一个命令,我可以全局搜索字符串" 0"它只发生在每一行的第11个位置? 我很感激你的时间。谢谢。

2 个答案:

答案 0 :(得分:2)

Vim有一些特殊的正则表达式原子。对于屏幕栏,有\%v。因此,要在第11列搜索0000,您可以使用

/\%11v0\{4}

对于字节数和行号,还有少于(\%<v)和大于,以及类似原子的变体。请参阅:help /\%l及以下段落。

答案 1 :(得分:0)

这很简单:搜索正则表达式:

  • ^ :(行首)
  • 。\ {10}:正好10个任意字符
  • 0000:字符串应该从第11列开始

所以你输入的是:

/ ^ \ {10} 0000