如何将 Zsh 别名复制到 Eshell
How to copy Zsh aliases to Eshell
我正在尝试使用 here 中提供的命令进行复制。也就是说,
alias | sed -E "s/^alias ([^=]+)='(.*)'$/alias $*/g; s/'\\''/'/g;" >~/.emacs.d/eshell/alias
这适用于 Bash
,我使用的是 Emacs-Starter-Kit;但不能与 Zsh
一起工作——不工作意味着它复制了一些东西但没有效果。
[作为旁注]
看来,我没有几个 Eshell
默认变量,即 eshell-read-aliases-list
和 eshell-aliases-file
。所以,我什至不知道我的 Eshell
别名文件应该放在哪里。
设置后正常运行
(setq eshell-directory-name (expand-file-name "./" (expand-file-name "eshell" prelude-personal-dir)))
in post.el
(我的个人 .el
文件用于 post-处理)在 prelude/personal
下
... 并将给定的 bash
命令修改为
alias | awk '{print "alias "[=11=]}' | sed -E "s/^alias ([^=]+)='(.*)'$/alias $*/g; s/'\\''/'/g;" > ~/.emacs.d/personal/eshell/alias
... 并将其附加到 .zshrc
.
发现 alias
命令在 zsh
中打印没有前缀 alias<space>
的别名,这与 bash
不同。因此这部分
| awk '{print "alias "[=12=]}'
我正在尝试使用 here 中提供的命令进行复制。也就是说,
alias | sed -E "s/^alias ([^=]+)='(.*)'$/alias $*/g; s/'\\''/'/g;" >~/.emacs.d/eshell/alias
这适用于 Bash
,我使用的是 Emacs-Starter-Kit;但不能与 Zsh
一起工作——不工作意味着它复制了一些东西但没有效果。
[作为旁注]
看来,我没有几个 Eshell
默认变量,即 eshell-read-aliases-list
和 eshell-aliases-file
。所以,我什至不知道我的 Eshell
别名文件应该放在哪里。
设置后正常运行
(setq eshell-directory-name (expand-file-name "./" (expand-file-name "eshell" prelude-personal-dir)))
in post.el
(我的个人 .el
文件用于 post-处理)在 prelude/personal
... 并将给定的 bash
命令修改为
alias | awk '{print "alias "[=11=]}' | sed -E "s/^alias ([^=]+)='(.*)'$/alias $*/g; s/'\\''/'/g;" > ~/.emacs.d/personal/eshell/alias
... 并将其附加到 .zshrc
.
发现 alias
命令在 zsh
中打印没有前缀 alias<space>
的别名,这与 bash
不同。因此这部分
| awk '{print "alias "[=12=]}'