如何将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}'