Мне интересно найти способ показать вертикальную линию в столбце 80 в Vim (не GVim).
Я использовал set wrap
, но я просто хочу показать вертикальную линию, чтобы я мог сам обернуть длинную строку.
Мне интересно найти способ показать вертикальную линию в столбце 80 в Vim (не GVim).
Я использовал set wrap
, но я просто хочу показать вертикальную линию, чтобы я мог сам обернуть длинную строку.
Изменить: для 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. Полезно для выравнивания текста. Замедлит перерисовку экрана. Столбец экрана может быть абсолютным числом или числом, которому предшествуют символы «+» или «-», которые добавляются к «ширине текста» или вычитаются из него.
Пример из документов:
: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
команд, так как это переопределит цвет выделения.
- person c4urself; 15.02.2013
textwidth
также вызывает перенос vim при вводе текста.
- person chicks; 20.01.2015
set colorcolumn=81
- person Leonid Vasilev; 18.09.2020
Есть еще один способ уведомить о длинной очереди.
highlight OverLength ctermbg=red ctermfg=white guibg=#592929 <br>
match OverLength /\%81v.*/
Проблемы с макетом столбца Vim 80
Я использую 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)