2016-08-01 37 views
0

Ich versuche, mit dem Befehl in here bereitgestellten Befehl zu kopieren. Das heißt,So kopieren Sie Zsh Aliase zu Eshell

alias | sed -E "s/^alias ([^=]+)='(.*)'$/alias \1 \2 \$*/g; s/'\\\''/'/g;" >~/.emacs.d/eshell/alias 

Das mit Bash arbeitete, war ich mit Emacs-Starter-Kit; aber nicht mit Zsh arbeiten - funktioniert nicht, es kopiert Dinge, aber ohne Wirkung.

[Als Randnotiz]

Es scheint, wie, ich habe nicht wenige Eshell Standardvariablen heißt eshell-read-aliases-list und eshell-aliases-file. Also, ich weiß nicht einmal, wo meine Eshell Alias-Datei liegen soll.

Antwort

1

Verstanden nach der Arbeit

(setq eshell-directory-name (expand-file-name "./" (expand-file-name "eshell" prelude-personal-dir))) 

in post.el (meine persönliche .el Datei für die Nachbearbeitung) Einstellung unter prelude/personal

... und modifiziert, um die gegebenen bash Befehl

alias | awk '{print "alias "$0}' | sed -E "s/^alias ([^=]+)='(.*)'$/alias \1 \2 \$*/g; s/'\\\''/'/g;" > ~/.emacs.d/personal/eshell/alias 

... und diese an .zshrc angehängt.

Gefunden, dass alias Befehl, in zsh, Drucke ohne Präfix alias<space>, im Gegensatz zu bash. Daher ist dieser Teil

| awk '{print "alias "$0}'