VIM: как сопоставить только определенные строки - PullRequest
1 голос
/ 14 июня 2011

Я не могу узнать, как сопоставить всю строку только с определенными строками pe

Как я могу сопоставить (и выделить) все остальные 3 строки от 10 до 25:

соответствие
строка 10,11,12
строка 16,17,18
строка 22,23,24

Ответы [ 2 ]

3 голосов
/ 14 июня 2011

Хм, прагматичным способом было бы определить функцию, которая работает над вашим файлом и соответствует всем строкам, которые вы хотите. Примерно так:

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 для сопоставления через каждые 3 строки с 10 до 25.

(настроить группу выделения по вкусу).

3 голосов
/ 14 июня 2011

Попробуйте это

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

выделит строки 10, 11 и 12

...