Odpowiedzi:
Edycja: Dla Vima> = 7.3 zobacz odpowiedź poniżej .
Niestety vim nie ma mechanizmu wyświetlającego pionową linię po kolumnie, tak jak chcesz (w przeciwieństwie do, powiedzmy, TextMate). Istnieją jednak alternatywne wskaźniki wizualne, których można użyć do pokazania, że linia jest zbyt długa.
Oto czego używam (możesz to umieścić w swoim .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
Możesz więc użyć <Leader>H
do przełączania podświetlonych kolumn powyżej 80.
Nowość w Vim 7.3:
„kolumna kolorów” to rozdzielona przecinkami lista kolumn ekranu, które są podświetlone za pomocą kolumny ColorColumn. Przydatne do wyrównywania tekstu. Spowalnia odświeżanie ekranu. Kolumna ekranu może być liczbą bezwzględną lub liczbą poprzedzoną znakiem „+” lub „-”, która jest dodawana lub odejmowana od „textwidth”.
Przykład z dokumentów:
:set colorcolumn=+1 " highlight column after 'textwidth'
:set colorcolumn=+1,+2,+3 " highlight three columns after 'textwidth'
:highlight ColorColumn ctermbg=lightgrey guibg=lightgrey
Możesz również użyć liczb bezwzględnych:
:set colorcolumn=80
highlight
ustawienie należy ustawić po każdym colorscheme
poleceniu, ponieważ spowodowałoby to przesłonięcie koloru podświetlenia.
textwidth
powoduje to również zawijanie się vima podczas pisania.
Istnieje inny sposób powiadamiania o długiej kolejce.
podświetl OverLength ctermbg = red ctermfg = white guibg = # 592929
match OverLength /\%81v.*/
Używam, match ErrorMsg '\%>80v.\+'
który podświetli wszystko powyżej 80 znaków na czerwono.
Umieściłem to polecenie w moim python.vim i ruby.vim pod ~ / .vim / after / ftplugin /.
Kilka odpowiedzi tutaj http://vim.wikia.com/wiki/Highlight_long_lines prosta automatyczna komenda
:au BufWinEnter * let w:m1=matchadd('Search', '\%<81v.\%>77v', -1)
:au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)