Atualizar o nome do buffer de vários termos com base no PWD
Se eu usar o konsole ou outro terminal, o nome da tag do terminal pode mudar com base no PWD. Mas no multi-termo, o nome do buffer é*terminal<number>*
. Isso não é muito legal. Porque quando eu alternar entre eles, o nome não é muito informativo. Então, quero renomeá-lo com base no PWD.
Eu acho que oTecla Enter é vincular a term-send-raw, então eu escrevo uma função
(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))
Mas o problema épwd
comando retornar oPWD
do buffer de terminal, enquanto não é oPWD
doSHELL
nesse terminal.
oPWD
do buffer de terminal é definido pordefcustom multi-term-default-dir
. E isso não muda quando oPWD
mudar noSHELL
.
(defcustom multi-term-default-dir "~/"
"The default directory for terms if current directory doesn't exist."
:type 'string
:group 'multi-term)
Como posso obter o PWD da SHELL no terminal?
Saudações.