Соответствие Vim по началу строк - PullRequest
4 голосов
/ 16 ноября 2011

У меня есть файл, в котором строка может начинаться с +, - или *.Между некоторыми из этих строк могут быть строки (содержащие также эти символы, но не в столбце 1!), Которые начинаются с буквы или цифры (общий текст).

Зная это, что будетСамый простой способ настроить механизм сопоставления и выделения, чтобы строка, начинающаяся, например, с + и все последующие строки до строки с +, - или * в столбце 1, была выделена... Красный?

Все идеи приветствуются.

1 Ответ

4 голосов
/ 16 ноября 2011

Вы можете использовать:

syntax region MyRegion start=/^+/ end=/\ze\n[-+*]/
hi MyRegion guifg=red ctermfg=red

Если вы хотите интегрировать его с вашей текущей схемой цветов, используйте:

hi link MyRegion Keyword

(или Комментарий, Идентификатор, Константа и т. Д.)

Примечание .Это означает, что область заканчивается на строке перед следующей -, + или * в начале следующей строки.Поэтому две области, начинающиеся с +, являются смежными, и вы не заметите разницы в выделении.

Если вы хотите, чтобы каждая область начиналась с строки, начинающейся с +, до строки ( включительно ) начиная с +, - или *, затем используйте:

syntax region MyRegion start=/^+/ end=/^[-+*].*/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...