Jak wyświetlić pionową linię, aby zawinąć linię w Vimie?


Odpowiedzi:


15

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>Hdo przełączania podświetlonych kolumn powyżej 80.


Reprezentacja klucza lidera w skrypcie vim. Zobacz Pokaż aktualne ustawienie klawisza <leaderka>
Rod

@Will, Learn Vimscript the Hard Way to dobre źródło informacji o króliczej norze vim.
jazzabeanie

310

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

4
Myślę, że dobrze jest zauważyć, że kolor jest automatycznie określany przez kolor podświetlenia, chyba że ustawisz go ręcznie, jak w przykładzie.
Alex Hart

Zwróć uwagę, że highlightustawienie należy ustawić po każdym colorschemepoleceniu, ponieważ spowodowałoby to przesłonięcie koloru podświetlenia.
c4urself

7
Poszedłem z jasną, spalającą mózg czerwoną ... ponieważ wiesz ... długość linii
Ron Dahlgren

Czy znasz sposób, aby mieć dwa różne kolory dla kolumny kolorów? Chciałbym mieć dwa: zwykły z 80 znakami dla kodu i bardzo słaby z 72 znakami dla tekstu / komentarzy.
Alice,

Byłoby dobrze wspomnieć, że textwidthpowoduje to również zawijanie się vima podczas pisania.
pisklęta


6

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 /.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.