Ответы:
Изменить: для Vim> = 7.3 см. Ответ ниже .
К сожалению, в vim нет механизма для отображения вертикальной линии после столбца, как вы хотите (в отличие, скажем, от TextMate). Однако есть альтернативные визуальные индикаторы, которые можно использовать, чтобы показать, что линия слишком длинная.
Вот что я использую (вы можете вставить это в свой .vimrc
):
nnoremap <Leader>H :call<SID>LongLineHLToggle()<cr>
hi OverLength ctermbg=none cterm=none
match OverLength /\%>80v/
fun! s:LongLineHLToggle()
if !exists('w:longlinehl')
let w:longlinehl = matchadd('ErrorMsg', '.\%>80v', 0)
echo "Long lines highlighted"
else
call matchdelete(w:longlinehl)
unl w:longlinehl
echo "Long lines unhighlighted"
endif
endfunction
Таким образом, вы можете использовать <Leader>H
для переключения столбцов, которые выделяются более 80.
Новое в Vim 7.3:
'colorcolumn' - это список столбцов экрана, разделенных запятыми, которые выделены ColorColumn. Полезно для выравнивания текста. Замедляет перерисовку экрана. Столбец экрана может быть абсолютным числом или числом, которому предшествуют символы «+» или «-», которые добавляются к «textwidth» или вычитаются из него.
Пример из документов:
:set colorcolumn=+1 " highlight column after 'textwidth'
:set colorcolumn=+1,+2,+3 " highlight three columns after 'textwidth'
:highlight ColorColumn ctermbg=lightgrey guibg=lightgrey
Вы также можете использовать абсолютные числа:
:set colorcolumn=80
highlight
параметр должен быть установлен после любых colorscheme
команд, поскольку это переопределит цвет выделения.
textwidth
также приводит к переносу vim при вводе текста.
Есть еще один способ уведомить о длинной очереди.
выделить OverLength ctermbg = red ctermfg = white guibg = # 592929
соответствует OverLength /\%81v.*/
Я использую, match ErrorMsg '\%>80v.\+'
который выделяет красным цветом все, что превышает 80 символов.
Я поместил эту команду в свои python.vim и ruby.vim в ~ / .vim / after / ftplugin /.
Несколько ответов здесь http://vim.wikia.com/wiki/Highlight_long_lines простая автокоманда
:au BufWinEnter * let w:m1=matchadd('Search', '\%<81v.\%>77v', -1)
:au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)