VIM:如何只匹配某些行

时间:2011-06-14 14:46:12

标签: vim selection match highlight lines

我无法找到如何匹配某些行的全部行p.e。

如何匹配(并突出显示)第10行到第25行的其他3行:

匹配
第10,11,12行 第16,17,18行 第22,23,24行

2 个答案:

答案 0 :(得分:3)

试试这个

:match Search /\%10l\|\%11l\|\%12l/

将突出显示第10,11和12行

答案 1 :(得分:3)

嗯,实用的方法是定义一个在你的文件上运行的函数,并匹配你想要的所有行。像这样:

fun! <sid>HiLines(steps) range                                                 
    for line in range(a:firstline,a:lastline,6)                                
        call matchadd('Search', join(map(range(line,line+a:steps-1), '''\%'' . v:val . ''l'''), '\|'))                                                           
    endfor                                                                     
endfun                                                                         

com! -range=% -nargs=1 HiLines :<line1>,<line2>call <sid>HiLines(<f-args>)

现在使用例如:10,25HiLines 3以匹配10到25之间的所有其他3行。

(调整突出组以品尝)。