如何将Zsh别名复制到Eshell

时间:2016-08-01 11:29:09

标签: emacs alias zsh eshell emacs-prelude

我尝试使用here中提供的命令进行复制。也就是说,

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

这适用于Bash,我正在使用Emacs-Starter-Kit;但不使用Zsh - 不工作意味着它复制了东西但没有效果。

[作为旁注]

好像,我没有Eshell个默认变量,即eshell-read-aliases-listeshell-aliases-file。所以,我甚至不知道我的Eshell别名文件应该驻留在哪里。

1 个答案:

答案 0 :(得分:2)

设置

后工作正常
(setq eshell-directory-name (expand-file-name "./" (expand-file-name "eshell" prelude-personal-dir)))
post.el下的.el(我的个人prelude/personal文件进行后期处理)

{/ 1}}

...并将给定的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}'