在我的 shell 环境中,我有别名和自定义函数。当我在 emacs 实例中(我总是使用 emacs -nw
)并执行 shell 命令(M-!
)时,我无法使用它们。这是有道理的,因为我想它会启动自己的子 shell 来执行这些操作......但是有没有办法(也许在我的 .emacs
中)让它工作?也许即使它涉及在执行任何给定的 shell 命令之前默认采购环境?
最佳答案
以下是我对相关问题的评论:
我认为 M-x shell-command 和 M-x compile 通过调用在劣质 shell 中执行命令-过程。在您的 .emacs 中尝试以下操作(或只是评估):
(setq shell-file-name "bash")
(setq shell-command-switch "-ic")
我注意到在对上述进行评估之后,.bashrc 别名被 M-x shell-command 和 M-x compile 选择使用,即
M-x 编译 RET 你的别名 RET
然后应该工作。
我的环境:Emacs 24.1 (pretest rc1), OSX 10.7.3
关于bash - 当我运行 shell 命令时,有没有办法让我的 emacs 识别我的 bash 别名和自定义函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12224909/