Правое поле в Vim
есть ли способ заставить Vim/gVim выделить правое поле в текущем документе? Я только начал работать с Vim на некоторое время, и я нашел его раздраженным без правого поля в столбце 80.
4 ответа:
Vim 7.3 представил colorcolumn.
:set colorcolumn=80
возможно, Вам будет легче запомнить короткую форму.
:set cc=80
нет простого способа визуализировать вертикальный край
textwidth
-маржа (в Vim 7.2 и выше). Тем не менее, можно выделить все символы после ограничение 80 столбцов с помощью .:match ErrorMsg /\%>80v.\+/
Итак, общее решение заключается в использовании следующей автоматической команды.
:autocmd BufWinEnter * call matchadd('ErrorMsg', '\%>'.&l:textwidth.'v.\+', -1)
Я написал функцию vimscript в моем .vimrc для переключения colorcolumn, когда я нажимаю, 8 (запятая, за которой следует 8, где запятая-определенный лидер для пользовательских команд, а восемь - мой мнемонический ключ для " показать поле в 80-м столбце):
" toggle colored right border after 80 chars set colorcolumn=81 let s:color_column_old = 0 function! s:ToggleColorColumn() if s:color_column_old == 0 let s:color_column_old = &colorcolumn windo let &colorcolumn = 0 else windo let &colorcolumn=s:color_column_old let s:color_column_old = 0 endif endfunction nnoremap <Leader>8 :call <SID>ToggleColorColumn()<cr>
я переписал ответ на Джонатан Хартли для старых версий Vim, таких как 7.2, поскольку нет
colorcolumn
в старых Vims.highlight OverLength ctermbg=red ctermfg=white guibg=#592929 let s:OverLengthToggleVariable=0 function! ToggleOverLength() if s:OverLengthToggleVariable == 0 match OverLength /\%81v.\+/ let s:OverLengthToggleVariable=1 else match OverLength // let s:OverLengthToggleVariable=0 endif endfunction " I like <leader>h since highlight starts with h. nnoremap <leader>h :call ToggleOverLength()<cr>