vim-Tip: screen-Titel setzen

Das folgende habe ich mir aus diesem Tip zusammengebaut und in die vim-Konfiguration eingebaut. Es setzt automagisch den Titel, wenn man unter screen arbeitet (was ich nur jedem empfehlen kann). So steht da nicht mehr nur lakonisch ‚vi‘, sondern geradezu geschwätzig ‚.zshrc (~) – VIM‘:

" screen-Bezeichnung sinnvoll setzen, falls wir im screen laufen
set titlestring="%t%(\ %M%)%(\ (%{expand(\"%:p:h\")})%)%(\ %a%)\ -\ %{v:servername}"

if &term == "screen"
  " Achtung: ^[ wird als <CTRL+V><ESC> eingegeben
  set t_ts=^[k
  set t_fs=^[\
endif

if &term == "screen" || &term == "xterm"
  set title
endif

EDIT: Mist, so alleinglücklichmachend ist diese Einstellung doch nicht. Wenn ich jetzt mutt starte, heißt der Screen ‚mutt‘. Klar soweit. Während ich eine Mail editiere heißt der Screen z. B. ‚mutt-antarktis-1000-21401-214 (/tmp) – VIM‘. Damit könnte ich noch leben. Aber nach Beendigung des Editors — wenn ich also schon wieder im mutt bin — heißt der Screen ‚Danke für die Benutzung von Vim‘, und das ist eigentlich nicht erwünscht… für Sachdienliche Hinweise zum Unterdrücken dieser Nachricht wäre ich dankbar…

EDIT^2: OK, ich habe einen schmutzigen Workaround. Ich habe in der mutt-Konfiguration die Zeile

set editor="vim -c 'set tw=72 et nohls' '+/^$'"

gegen

set editor="vim -c 'set tw=72 et nohls titleold=mutt' '+/^$'"

ausgetauscht. Schön finde ich das nicht, aber es funktioniert. Laut Google sollte es auch irgendwie eine Option titlerestored geben, die scheint aber nie implementiert worden zu sein.

5 Kommentare

  1. Sobald Du ’set title‘ verwendest, wird das „Thanks for flying VIM“ angezeigt (oder was immer NLS ausgibt). Entweder Du aenderst das in den Sourcen oder Du wirfst einen Blick auf VimLeavePre() (vim -c ‚help vimleavepre‘ -c on“). Damit kannst Du naemlich eine function() aufrufen, *bevor* VIM beendet wird und das ‚Danke für die Benutzung von Vim’ ausgibt. Sollte eigentlich kein groesseres Problem sein, aber ich hab fruehestens heute Abend Zeit mir das mal genauer anzugucken. HTH.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

;-) :-) :-D :-| :-/ :-( :-P more »