Aktualisieren Sie den Namen des Mehrfachpuffers basierend auf PWD
Wenn ich eine Konsole oder ein anderes Terminal verwende, kann sich der Name des Terminal-Tags je nach PWD ändern. Im Mehrfachbegriff lautet der Puffername jedoch*terminal<number>*
. Das ist nicht sehr schön. Denn wenn ich zwischen ihnen wechsle, ist der Name nicht sehr informativ. Also möchte ich es basierend auf PWD umbenennen.
Ich finde das dieEnter-Taste ist an term-send-raw gebunden, daher schreibe ich eine Funktion
(defadvice term-send-raw (around rename-term-name activate)
(progn
(rename-buffer
(concat "⇒ "
(shell-command-to-string "pwd | xargs basename | tr -d '\n'")
(format-time-string " [%M ∞ %S]")))
ad-do-it))
Aber das Problem istpwd
Befehl zurück diePWD
des Terminalpuffers, während es nicht der istPWD
desSHELL
in diesem Terminal.
DasPWD
des Terminalpuffers wird durch gesetztdefcustom multi-term-default-dir
. Und es ändert sich nicht, wenn diePWD
Änderung in derSHELL
.
(defcustom multi-term-default-dir "~/"
"The default directory for terms if current directory doesn't exist."
:type 'string
:group 'multi-term)
Wie kann ich die PWD der SHELL in das Terminal bekommen?
Grüße.