답변:
emacs 위키 에서 프롬프트를 사용자화할 수있는 많은 가능성을 찾을 수 있습니다 .
다음 예에서는 경로의 마지막 3 개의 디렉토리 이름 만 표시되며 처음의 디렉토리는 한 글자로 단축됩니다.
(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) " # " " $ "))))
또한 반품 eshell-prompt-regexp
과 일치하도록 설정해야합니다. 그렇지 않으면 위의 설명에서 Palace Chaneshell-prompt-function
과 같은 문제가 발생 합니다.