Como personalizar o prompt do eshell?

0

Como posso personalizar o prompt de eshell ? Especificamente, como posso evitar que mostre o caminho atual completo?

    
por Palace Chan 29.10.2012 / 20:23

2 respostas

1

Você pode encontrar muitas possibilidades para personalizar um prompt no wiki do emacs .

No exemplo a seguir apenas três últimos nomes de diretório do caminho serão mostrados, os diretórios no início serão abreviados para uma letra:

(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) " # " " $ "))))
    
por 29.10.2012 / 22:04
0

Você também deve definir eshell-prompt-regexp para corresponder ao que eshell-prompt-function retorna ou você terá problemas como Chan Palace no comentário acima.

    
por 10.06.2016 / 21:41

Tags