Ich benutze gvim mit
set number
in meinem .vimrc
so zeigt es die Leinenzahl plus ein Leerzeichen vor jeder Zeile.
Wenn das Dokument weniger als 10 Zeilen enthält, werden 2 Spalten benötigt. Wenn es mehr als 10, 3 Spalten usw. enthält.
Wenn ich setze
set lines=40 columns=80
In .gvimrc
werden 78 Codespalten und 2 für die Leinenzahl plus Tempo oder 77 + 3 usw. angezeigt.
Ich möchte, dass die Fensterbreite auf 80 Spalten + die Anzahl der Spalten eingestellt wird, die zum Anzeigen der Leinenzahl erforderlich sind.
Es muss nicht dynamisch sein, aber ich möchte die Anzahl der Zeilen einer bestimmten Datei lesen und entsprechend einstellen können columns
. (Natürlich wäre eine dynamische Lösung wirklich ordentlich, aber nicht unbedingt erforderlich.)
:help autocommand-events
. Unter anderemTabEnter
können Sie versuchen, im obigen BeispielBufRead
durch zu ersetzen,BufRead,TabEnter
und prüfen, ob Sie dadurch das gewünschte Verhalten erhalten. Ich habe das Beispiel mit diesem Ereignis nicht selbst getestet.'numberwidth'
wächst nur logarithmisch mit der Anzahl der Zeilen in der Datei. Wenn Sie sich also den horizontalen Platz leisten können, der überhaupt'number'
aktiviert werden soll, müssten Sie sich keine Gedanken darüber machen, ihn einzuschränken.:help expr1
) oder mit einem if / endif (z:help options-in-terminal
. B. ) zu steuern . Das Problem ändert sich & Spalten, wenn'number'
geändert wird. Ich habe überlegt, das OptionSet-Autocommand-Ereignis zu verwenden, aber:help OptionSet
es ist eine schlechte Idee, eine Option während der Verarbeitung dieses Ereignisses zurückzusetzen.ich benutze
in meinem $ HOME / .gvimrc, das mir gibt, was Sie wollen. Ich habe selten (wenn überhaupt) Dateien, die länger als 999 Zeilen sind, also funktioniert es für mich.
quelle
Ich setze die Zahlenbreite beispielsweise auf 5 und dann die Spalten auf 85 (80 + 5). Das sollte für Dateien von 0 bis 1 Million Zeilen gut sein.
Folgendes müssen Sie möglicherweise in die (Standard-) Datei ~ / .vimrc einfügen
Sie werden sehen, dass die Zeilennummer mit '% 5d' (5 ist die oben angegebene Zahlenbreite) anstelle des Standardformats '% d' formatiert ist, wodurch ein wenig Platz vor den Zeilennummern verschwendet wird, aber die Konsistenz erhalten bleibt.
quelle