Настройка нескольких правил выделения в vim

Я пытаюсь настроить правила, чтобы осветить пробелы и строки, которые за определенную длину, добавив к моему .vimrc:

highlight ExtraWhitespace ctermbg=lightgray guibg=lightgray
match ExtraWhitespace /\s\+$/

highlight OverLength ctermbg=lightgray guibg=lightgray
match OverLength /\%>80v.\+/

однако, он только кажется, что выбирает вверх какое бы ни последнее. Я не могу найти способ заставить их работать одновременно.

16
задан ICR 2010-11-17 19:03:32
источник

3 ответов

в одну сторону:

highlight EWOL ctermbg=lightgray ctermfg=black guibg=lightgray guifg=black
match EWOL /\%>20v.\+\|\s\+$/

другое:

highlight ExtraWhitespace ctermbg=lightgray ctermfg=black guibg=lightgray guifg=black
match ExtraWhitespace /\s\+$/

highlight OverLength ctermbg=lightgray ctermfg=black guibg=lightgray guifg=black
2match OverLength /\%>80v.\+/

также в наличии: 3match. Одновременно может быть активно до трех матчей. Или вы можете использовать matchadd() создание игр без ограничения по количеству.

Примечание: 3match используется matchparen, поэтому будет конфликтовать, если вы его используете.

9
отвечен Dennis Williamson 2012-12-15 07:38:58
источник

использовать matchadd(), так что добавь это к своему .vimrc:

highlight ExtraWhitespace ctermbg=grey guibg=grey
call matchadd('ExtraWhitespace', '\s\+$', 11)

highlight OverLength ctermbg=lightgrey guibg=lightgrey
call matchadd('OverLength', '\%>80v.\+')

для просмотра всех матчей:

:echo getmatches()

для удаления спичек используйте matchdelete().

6
отвечен James Haigh 2012-12-15 08:22:35
источник

Как насчет этого

:сы[ntax] матч {группа-имя} [{параметры}] [excludenl] {шаблон} [{параметры}]

:highlight ExtraWhitespace ctermbg=lightgray guibg=lightgray
:syntax match ExtraWhitespace /\s\+$/
:highlight OverLength ctermbg=lightgray guibg=lightgray
:syntax match OverLength /\%>80v.\+/

вы можете соответствовать много число картин используя это ...

1
отвечен imbichie 2016-02-16 13:12:36
источник

Другие вопросы vim highlighting

X