Как я могу настроить приглашение eshell? В частности, как я могу предотвратить отображение полного текущего пути?

2 ответа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 в комментарии выше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .