我尝试使用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-list
和eshell-aliases-file
。所以,我甚至不知道我的Eshell
别名文件应该驻留在哪里。
答案 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}'