Как я могу настроить приглашение eshell
? В частности, как я могу предотвратить отображение полного текущего пути?
2 ответа
1
Вы можете найти множество возможностей для настройки приглашения в вики emacs.
В следующем примере будут показаны только три последних имени каталога пути, каталоги в начале будут сокращены до одной буквы:
(setq eshell-prompt-function
(lambda()
(concat (getenv "USER") "@" (getenv "HOST") ":"
((lambda (p-lst)
(if (> (length p-lst) 3)
(concat
(mapconcat (lambda (elm) (substring elm 0 1))
(butlast p-lst (- (length p-lst) 3))
"/")
"/"
(mapconcat (lambda (elm) elm)
(last p-lst (- (length p-lst) 3))
"/"))
(mapconcat (lambda (elm) elm)
p-lst
"/")))
(split-string (eshell/pwd) "/"))
(if (= (user-uid) 0) " # " " $ "))))
0
Вы также должны установить eshell-prompt-regexp
в соответствии с тем, что eshell-prompt-function
иначе у вас возникнут проблемы, такие как Palace Chan в комментарии выше.