Wenn ich in verschiedenen Sprachen codiere, muss ich meine Zeilen in der Regel auf eine bestimmte Länge beschränken (normalerweise 79 oder 80 Zeichen).
Ich habe dies in anderen Editoren durch die Verwendung eines Lineals (durchgezogene Linie in der Spalte) oder durch Ändern der Textfarbe als Hinweis darauf gesehen, dass der Text übergangen ist.
Wie kann ich mir von Vim anzeigen lassen, wenn ich mich 79 Zeichen in einer einzelnen Zeile nähere oder mehr als diese Zeichen überschreite?
quelle
execute "set colorcolumn=" . join(range(81,335), ',')
Als Ergänzung zu Kevins Antwort können Sie mehrere Farbspalten verwenden. Wenn ich programmiere, habe ich manchmal ein "weiches" Limit bei 80 Spalten und ein "hartes" Limit bei 120 Spalten. Ich möchte also eine Zeile bei 80 und dann jede Spalte nach 120 einfärben.
Ich mache das mit
Natürlich kann dies leicht an andere Vorlieben angepasst werden.
quelle
Vim 7.3 bringt die
colorcolumn
Option, wie in anderen Antworten sehr gut ausgeführt.Wenn Sie jedoch aus irgendeinem Grund nicht über Version 7.3 verfügen, können Sie mit der
match
Funktionalität von vim trotzdem visuell anzeigen, dass Sie eine bestimmte Spaltenanzahl überschreiten (siehe:help match
für Details).Im Wesentlichen können Sie mit den Übereinstimmungsbefehlen dauerhafte Hervorhebungen für Text erstellen, der mit einem bestimmten regulären Ausdruck übereinstimmt.
:match ColorColumn "\%80v."
markiert Text in Spalte 80 mit der Gruppe "ColorColumn". Sie können natürlich jede Hervorhebungsgruppe und jeden Spaltenwert ersetzen. Wenn Sie eine starke visuelle Anzeige wünschen,"\%>79v.\+"
hebt der Ausdruck Spalte 80 und höher hervor.(
\%80v
bedeutet "Übereinstimmung in virtueller Spalte 80" und\%>79v
bedeutet "Übereinstimmung nach virtueller Spalte 79";:help /\%c
weitere Informationen finden Sie hier.)Dieser Ansatz wird jedoch nur hervorgehoben, wenn in den angegebenen Spalten tatsächliche Zeichen vorhanden sind, wodurch die visuelle Konsistenz geringer ist als bei
colorcolumn
.quelle
match
es besser, da er nur die Zeilen hervorhebt, bei denen ich das 80-Spalten-Limit überschreite, anstatt eine (für mich) aufdringliche große rote Linie auf der rechten Seite des Bildschirms anzuzeigen. Daher verwende ich in meinem vimrc für Pythoncall matchadd('ColorColumn', '\(\%80v\|\%100v\)')
(80 und 100 sind die empfohlenen Längen in PEP 8)