Відповіді:
Редагувати: Для 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 = червоний ctermfg = білий 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)