Frage Wie richte ich eine Zeilenlängenmarkierung in vim / gvim ein?


Einige GUI-Texteditoren haben eine vertikale Linie, die als Linienlängenmarkierung dient (sie hilft, Zeilen in Quellcodedateien kürzer als 80 Zeichen zu halten).

Ist es möglich, etwas ähnliches in vim / gvim zu haben? ich weiss Bescheid Herrscher vim-Option, aber es ist nicht sehr praktisch, es visuell auf einem großen Bildschirm zu verfolgen.

Edit: Beim googeln nach "colorcolumn" um mehr zu erfahren, habe ich festgestellt, dass diese Frage ein Duplikat von ist https://stackoverflow.com/questions/235439/vim-80-column-layout-concerns


67
2018-02-24 13:44


Ursprung


auf einer anderen Site duplizieren ... stackoverflow.com/questions/235439/ ... - Trevor Boyd Smith


Antworten:


Führe das einfach aus

:set colorcolumn=72

Sie können dem Argument auch das Präfix voranstellen - oder + um den Marker so viele Spalten nach links oder rechts zu setzen textwidthund akzeptiert eine durch Kommas getrennte Liste von Spalten. Ich denke der colorcolumn Option ist nur in Vim 7.3. Sehen

:help colorcolumn

111
2018-02-24 16:46



Wow, Vim hört nie auf, mich zu überraschen! - Peter Nore
Nett! Auch nützlich wenn columns=80, wrap ist eingestellt und colorcolumn=81,161,241,321,401,481,561,641,721,801 - Zeigt bis zu 10 umhüllte Zeilen an, wobei die erste Spalte markiert ist. - Amir


Von Damian Conways "Mehr sofort besser Vim" sprechen auf der OSCON 2013:

highlight ColorColumn ctermbg=magenta
call matchadd('ColorColumn', '\%81v', 100)

Dies führt dazu, dass das Zeichen in Magenta hervorgehoben wird (der Screenshot ist in DarkCyan) wenn die Linie das Maximum von 80 Zeichen überschreitet.

vim with highlighting enabled

Für gVim: Es ist am besten zu Verschiebe diese 2 Zeilen zum letzten Teil von deinem .vimrc Datei, um sicherzustellen, dass es funktioniert.


15
2018-06-21 04:12



Hä! Ich habe dir einfach geantwortet sehr ähnliche Frage dazu ... kleine Welt! superuser.com/questions/771558/ ... - lornix
Ich legte diese Antwort ein und erinnerte mich, dass ich es in gVim nicht machen konnte, also fragte ich. ;) - Isxek
Wow, das ist wirklich großartig! Das ist die Art von Feature, nach der ich nicht einmal suchen würde. Ich benutze das Muster '\$81v\S' Das entspricht nur Nicht-Leerzeichen Zeichen. Das bedeutet, dass die Markierung nicht angezeigt wird, wenn die Zeile genau 80 Zeichen lang ist (was mich wirklich gestört hat). Sehen Sie das für mehr Info stackoverflow.com/questions/12985042/... - fvgs
Ich möchte einige Korrekturen an meinem vorherigen Kommentar vornehmen. Das $ hätte sein sollen %. Genauso benutze ich jetzt das Muster \%81v. da dies sicherstellt, dass die 81. Spalte für jedes Zeichen in der 81. Spalte hervorgehoben wird, was wahrscheinlich das ist, was Sie wollen. - fvgs


Du könntest das versuchen:

grep '.\{81\}' file

oder

set colorcolumn=80

(oder das Kürzel entspricht)

set cc=80

oder wie zuvor erwähnt:

match ErrorMsg '\%>80v.\+'

2
2018-05-02 07:21





Unten ist ein tollpatschiger Trick von Hacking Vim: Ein Kochbuch, um den neuesten Vim Editor optimal zu nutzen  von Kim Schultz.

Es hebt mit hervor ErrorMsg (normalerweise hellrot) alle Zeilen, die mehr als 80 Zeichen enthalten. Funktioniert gut für mich.

function! RemoveWidthLimitWarnigns()
    silent! call matchdelete(4)
endfunction
function! InsertWidthLimitWarnings()
    call RemoveWidthLimitWarnigns()
    call matchadd("ErrorMsg", "\\%>79v.\\+", 10, 4)
endfunction

0
2018-02-24 14:26



Was soll ich mit diesem Snippet machen? Einfach in .vimrc stecken? - vtest
Versuchen Sie zuerst, indem Sie einfach anrufen :call matchadd("ErrorMsg", "\\%>79v.\\+", 10, 4) reicht aus. Aber ich würde das nicht mehr empfehlen, da @garyjohn etwas Besseres wusste - progo