2016-08-01 7 views
0

Я пытаюсь скопировать, используя команду, указанную в here. То есть,Как скопировать псевдонимы Zsh в Eshell

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

Это работало с Bash, я использовал Emacs-Starter-Kit; но не работает с Zsh - не работает означает, что он скопировал все, но не имеет никакого эффекта.

[В качестве примечания]

Похоже, у меня нет несколько Eshell переменных по умолчанию, т.е. eshell-read-aliases-list и eshell-aliases-file. Итак, я даже не знаю, где должен находиться файл псевдонима Eshell.

ответ

1

Понял работать после установки

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

в post.el (мой личный .el файл для последующей обработки) под prelude/personal

... и модифицировали данную bash команду

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

... и прилагается к .zshrc.

Найдено, что alias команда, в zsh, печатает псевдонимы без префикса alias<space>, в отличие от bash. Поэтому эта часть

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