Eu queria suprimir o diretório de trabalho atual do prompt do eshell, como faço na linha de comando, porque ele ocupa muito espaço na tela. Usando C-h v
eu verifico se o valor padrão é:
Value:
(lambda nil
(concat
(eshell/pwd)
(if
(=
(user-uid)
0)
" # " " $ ")))
e tentei mudar para isso no meu .emacs
:
(setq eshell-prompt-function
(lambda () "> "))
mas quando faço o que foi dito acima, certas teclas quebram. Por exemplo, não posso mais M-p
navegar pelos comandos anteriores e C-c C-a
não definirei o ponto para o início do comando que estou digitando, como acontece com o prompt padrão. Eu estou querendo saber por que isso está acontecendo e se há uma maneira de contornar isso?
Obrigado
Responder1
eshell-bol usa a função eshell-skip-prompt para ignorar o prompt. Como você alterou o prompt para terminar com > em vez de $, você precisa alterar o valor de eshell-prompt-regexp. Alterá-lo para ^>
deve permitir que funcione.
eshell-prompt-regexp is a variable defined in `em-prompt.el'.
Its value is "^[^#$
]* [#$] "
Documentation:
A regexp which fully matches your eshell prompt.
This setting is important, since it affects how eshell will interpret
the lines that are passed to it.
If this variable is changed, all Eshell buffers must be exited and
re-entered for it to take effect.
You can customize this variable.