Jedes Mal, wenn ich eine tmux-Sitzung im Terminal öffne, sind alle Registerkarten mit vim-Sitzungen beschriftet vim
.
Meine Frage ist: Wie man es so konfiguriert, dass es tmux-Tabs mit dem Namen der bearbeiteten Datei oder so etwas wie vim | test.cpp
dem Titel der fraglichen Tabs beschriftet .
Antworten:
Es geht los:
Zerlegen:
Führen Sie beim Lesen des Puffers, beim Lesen der Datei oder beim Puffern eines neuen Dateiereignisses (siehe
:help autocmd-events
) den folgenden Befehl aus:Rufen Sie eine Systemfunktion auf und übergeben Sie den Text:
Benennen Sie das aktuelle Fenster mit einer Zeichenfolge um, die mit beginnt
vim |
Fügen Sie der Zeichenfolge den Dateinamen hinzu (siehe diesen Artikel für die Formatierung und diesen Beitrag für die Erweiterungseinfügung).
Fügen Sie das Finale hinzu
'
, um den Befehl zu schließen.Nach dem Erweitern wird es so aussehen (während die .vimrc-Datei bearbeitet wird):
Wie @erthalion im Kommentar sagte, können Sie aufräumen, wenn Sie vim verlassen mit:
quelle
BufEnter
Ereignis in diese Liste aufzunehmen (um die Bezeichnung zu ändern, auch wenn wir zwischen vorhandenen Puffern wechseln) und so etwasautocmd VimLeave * call system("tmux rename-window 'tmux'")
zum Aufräumen.Um das standardmäßige tmux-Benennungsschema beim Beenden von vim wiederherzustellen, können Sie auch Folgendes tun:
quelle
Das ist es, was ich dank der Antwort von @raphael in mein vimrc geschrieben habe
Ich installiere auch das Plugin tmux-plugins / vim-tmux-focus-events für die Ereignisse FocusGained und FocusLost.
quelle