Изменение цвета фона в vim для определенного столбца
Вопрос
Я хотел бы иметь возможность выделить поле обтекания / ширину текста в vim, изменив цвет фона (или, может быть, просто строку?). У многих IDE есть это. Я издевался над тем, о чем говорю:
Кто-нибудь знает, можно ли это сделать в macvim или gvim?
Решение
Попробуйте это:
:match ErrorMsg '\%>80v.\+'
Он будет выделять текст длиной более 80 символов, вы можете заменить «80» любой шириной переноса. Однако он будет выделять только те символы, которые превышают ширину, и только в тех строках, которые на самом деле длиннее ширины.
Проверьте http://vim.wikia.com/wiki/Highlight_long_lines для получения дополнительной информации, но все они в значительной степени выполняют одно и то же.
Другие советы
Начиная с Vim 7.3, можно выделять столбцы следующим образом:
Чтобы установить текущую текстовую ширину
:
:set cc=+1
Или вы можете установить для него предопределенное значение:
:set cc=80
Вы можете изменить его цвет следующим образом:
:hi ColorColumn ctermbg=lightgrey guibg=lightgrey
См. справку для получения дополнительной информации:
:help colorcolumn
autocmd FileType * execute "setlocal colorcolumn=" . join(range(&textwidth,250), ',')
highlight ColorColumn guibg=#303030 ctermbg=0
Большая проблема в том, что подсветка цветных колонок имеет более высокий приоритет, чем hlsearch! Таким образом, вы не сможете увидеть выделенные элементы поиска за пределами этого поля ...