2

我正在尝试使用此处提供的命令进行复制。那是,

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别名文件应该放在哪里。

4

1 回答 1

3

设置后就可以工作了

(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命令 inzsh打印不带前缀的别名alias<space>,不像bash. 因此这部分

| awk '{print "alias "$0}'
于 2016-08-02T03:37:33.960 回答