К сожалению, в 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.
'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
Я думаю, что здесь хорошо отметить, что цвет автоматически определяется цветом вашего выделения, если вы не установите его вручную, как в примере.
Alex Hart
Обратите внимание, что этот highlightпараметр должен быть установлен после любых colorschemeкоманд, поскольку это переопределит цвет выделения.
c4urself
7
Я выбрал яркий, красный для мозга ... потому что вы знаете ... длина строки
Рон Дальгрен
Вы знаете, как иметь два разных цвета для столбца color? Я хотел бы иметь два: простой на 80 символов для кода и очень слабый на 72 символа для текущего текста / комментариев.
Алиса
Было бы хорошо упомянуть, что это textwidthтакже приводит к переносу vim при вводе текста.
цыплята
12
Есть еще один способ уведомить о длинной очереди.
выделить OverLength ctermbg = red ctermfg = white guibg = # 592929
соответствует OverLength /\%81v.*/
Ответы:
Изменить: для Vim> = 7.3 см. Ответ ниже .
К сожалению, в vim нет механизма для отображения вертикальной линии после столбца, как вы хотите (в отличие, скажем, от TextMate). Однако есть альтернативные визуальные индикаторы, которые можно использовать, чтобы показать, что линия слишком длинная.
Вот что я использую (вы можете вставить это в свой
.vimrc
):Таким образом, вы можете использовать
<Leader>H
для переключения столбцов, которые выделяются более 80.источник
Новое в Vim 7.3:
Пример из документов:
Вы также можете использовать абсолютные числа:
источник
highlight
параметр должен быть установлен после любыхcolorscheme
команд, поскольку это переопределит цвет выделения.textwidth
также приводит к переносу vim при вводе текста.Есть еще один способ уведомить о длинной очереди.
Проблемы с расположением столбцов в VIM 80
источник
Я использую,
match ErrorMsg '\%>80v.\+'
который выделяет красным цветом все, что превышает 80 символов.Я поместил эту команду в свои python.vim и ruby.vim в ~ / .vim / after / ftplugin /.
источник
Несколько ответов здесь http://vim.wikia.com/wiki/Highlight_long_lines простая автокоманда
источник