Vim: Как выделить каждую вторую строку?


0

Можно ли настроить подсветку синтаксиса vimдля выделения каждой второй строки?


Вы имеете в виду визуальные строки или строки файла? Если первое, Вим не поддерживает это. Если последнее, это, вероятно, можно сделать, но как вы хотите обрабатывать пустые строки?
— Гептит

Файловые строки. Там нет пустых строк, так что это не имеет значения.
— octosquidopus

Я извиняюсь, но единственный способ, которым я могу думать об этом, очень грязный. По сути, вам нужно определить синтаксическое правило для каждой другой строки буфера.
— Гептит

Ответы:


1

Мой плагин DynamicSigns позволяет это. Смотрите помощь на:h Signs-Alternate


Как вы устанавливаете этот плагин? Я использую патоген и не могу его запустить.
— octosquidopus

Патоген должен просто работать.
— Кристиан Брабандт

Кроме того, вы можете установить zip-файл с vim.org/scripts/script.php?script_id=3965
— Кристиан Брабандт,

0

Это очень грубо и грязно, и я подозреваю, что есть лучший способ сделать это, но вот что я придумал:

function! SynEvenLines()
    syn clear
    highlight clear EvenLines
    for l:i in range(2,line('$')+1,2)
        exe "syn match EvenLines '\\%" . l:i . "l.*'"
    endfor
    highlight EvenLines guibg=darkgrey ctermbg=grey
endfunction

Получив эту функцию, вы можете просто набрать:

:call SynEvenLines()

Если вы добавляете строки в буфер или выполняете другие виды редактирования, вам нужно будет снова запустить функцию.

В последней строке функции вы можете изменить цвет подсветки.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.