eshell 프롬프트를 사용자 정의하는 방법은 무엇입니까?


0

프롬프트를 eshell어떻게 사용자 정의 할 수 있습니까? 특히 전체 전류 경로가 표시되지 않도록하려면 어떻게해야합니까?


eshell에 문서가 없기 때문에 실제로 유효한 질문입니다.
pmr

답변:


1

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) " # " " $ "))))

깨끗한 '>'를 얻으려면 (setq eshell-prompt-function (lambda () ">")) 시도했지만 탭 완성과 'Cc Ca'가 중단되어 명령 시작으로 이동합니다. 이 문제를 해결하지 않고 간단한 프롬프트를 표시하는 방법은 무엇입니까?
Palace Chan

0

또한 반품 eshell-prompt-regexp과 일치하도록 설정해야합니다. 그렇지 않으면 위의 설명에서 Palace Chaneshell-prompt-function 과 같은 문제가 발생 합니다.


이것은 실제로 주석이며 원래 질문에 대한 답변이 아닙니다 . 작성자의 의견을 비판하거나 설명을 요청하려면 게시물 아래에 댓글을 남겨주세요. 언제든지 자신의 게시물 에 댓글 수 있으며 평판 이 충분 하면 게시물댓글 수 있습니다 . 댓글을 작성하려면 50 개의 평판이 필요한 이유를
DavidPostill
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.