Niektóre edytory tekstu GUI mają pionową linię, która służy jako znacznik długości linii (pomaga utrzymać linie krótsze niż 80 znaków w plikach kodu źródłowego).
Czy można mieć coś podobnego w vim / gvim? Wiem o opcji linijki vim, ale nie jest bardzo przydatne śledzenie jej wizualnie na dużym ekranie.
Edycja: kiedy googling dla „colorcolumn”, aby dowiedzieć się więcej, odkryłem, że to pytanie jest duplikatem https://stackoverflow.com/questions/235439/vim-80-column-layout-concerns
Odpowiedzi:
Po prostu to wykonaj
Możesz także poprzedzić argument za pomocą
-
lub,+
aby umieścić znacznik, którego wiele kolumn po lewej lub prawej stronietextwidth
, i akceptuje listę kolumn oddzieloną przecinkami. Myślę, żecolorcolumn
opcja jest tylko w Vimie 7.3. Widziećźródło
columns=80
,wrap
jest ustawiony,colorcolumn=81,161,241,321,401,481,561,641,721,801
- zawiera do 10 owiniętych linie z pierwszej kolumny podświetlone.Z przemówienia Damiana Conwaya „More Natychmiast Better Vim” na OSCON 2013:
Powoduje to, że postać jest podświetlona na purpurowo (zrzut ekranu jest włączony
DarkCyan
), gdy linia przekroczy maksimum 80 znaków.Dla gVim: najlepiej przenieść te 2 linie do ostatniej części swojego
.vimrc
pliku, aby upewnić się, że działa.źródło
'\$81v\S'
który pasuje tylko do znaków innych niż białe znaki. Oznacza to, że wyróżnienie nie pojawi się, gdy linia będzie miała dokładnie 80 znaków (co mnie naprawdę niepokoi). Zobacz to, aby uzyskać więcej informacji stackoverflow.com/questions/12985042/...$
Powinno być%
. Podobnie, teraz używam wzorca,\%81v.
ponieważ zapewnia to, że 81. kolumna zostanie podświetlona dla każdego znaku w 81. kolumnie, co prawdopodobnie jest tym, czego chcesz.Możesz spróbować:
lub
(lub skrót stenografii)
lub jak wspomniano powyżej:
źródło
Poniżej znajduje się niezdarna sztuczka z Hacking Vim: Książka kucharska, aby uzyskać jak najwięcej z najnowszego edytora Vima autorstwa Kim Schultz.
Podkreśla
ErrorMsg
(zwykle jaskrawoczerwoną) każdą linię o długości ponad 80 znaków. Działa dla mnie dobrze.źródło
:call matchadd("ErrorMsg", "\\%>79v.\\+", 10, 4)
. Ale nie poleciłbym tego więcej, ponieważ @garyjohn wiedział coś lepszego