如何将Zsh别名复制到Eshell

问题描述:

我试图使用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别名文件应该放在哪里。

得到它prelude/personal

下设置

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

后工作......并修改了给定的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}'