Angenommen, ich habe eine Reihe von Registerkarten in Vim geöffnet, die in etwa so aussehen:
1 v/file1.py 2 t/file.py 1 t/file.py 1 o/otherfile.py
Sehen Sie, wie auf zwei Registerkarten "t / file.py" steht? Das sind verschiedene Dateien, sie werden einfach in die gleiche Tab-Bezeichnung umgewandelt.
In meinem Workflow sind die Registerkartentitel häufig mehrdeutig (yay for Chef, der alles "default.rb" nennt ) oder nicht hilfreich ("Ich weiß, dass eine dieser 8 Registerkarten mit jeweils 4 Puffern die gesuchte Datei enthält ...").
Ich möchte die Registerkarten umbenennen, um anzuzeigen, was sie logisch darstellen:
1 homepage_view 2 tests 1 homepage_template 1 o/otherfile.py
Ich bin in Ordnung mit Tabs, die standardmäßig auf Dateinamen basieren, solange ich sie ändern kann, sobald der Tab erstellt ist.
Wie kann ich das in Vim machen?
:help setting-tabline
(für vim in einem Terminal) oder:help setting-guitablabel
(für gvim). Sie könnten eine Funktion schreiben, die nach einer tabulatorlokalen Variablen sucht und entweder diese oder eine Standardvariable zurückgibt. Nachdem Sie einen Tab geöffnet haben, klicken Sie auf:let t:mytablabel = 'homepage_template'
.Antworten:
Es gibt ein nettes kleines Plugin namens Taboo , das dies einfach macht. Einfach installieren und dann können Sie den Tab-Titel ändern mit:
Sie können sich den Quellcode für dieses Plugin ansehen, wenn Sie daran interessiert sind, Ihre eigene Lösung zu schreiben.
quelle
Taboo
ist fantastisch.TabooReset
undTabooRename
schaltet buchstäblich zwei "Modi" der Tab-Zeile um ==> ein benannter Tab von Taboo und ein automatisch benannter Tab von Vim. Dies repliziert das " named Windows " von Tmux perfekt. Besser noch, Registerkarten, die unter "Tabu" genannt werden, können mit " Startify" (oder einem anderen sitzungsspeichernden Tool) wiederhergestellt werden .Für gvim siehe
Setzen Sie die Option auf einen Ausdruck
t:mytablabel
(eine tabulatorlokale Variable), falls vorhanden, oder auf eine leere Zeichenfolge (dh die Standardeinstellung verwenden):Vielleicht ist das schon zu kompliziert, oder vielleicht möchten Sie schicker werden. In diesem Fall definieren Sie eine Funktion:
Führen Sie dann in einer beliebigen Registerkarte, in der Sie die Standardeinstellung überschreiben möchten, Folgendes aus:
Wenn Sie vim in einem Terminal verwenden, nicht gvim, müssen Sie die
'tabline'
Option anstelle von festlegen'guitablable'
. Dies ist etwas komplizierter, da Sie einen einzelnen Ausdruck benötigen, der Beschriftungen für alle geöffneten Registerkarten enthält. Es gibt ein vollständiges Beispiel unterquelle