繁体   English   中英

使 PATH 和其他环境变量在 emacs 中可用

[英]Making the PATH and other environment variables available in emacs

在 OSX 中使用 emacs 有时会令人不安。

我使用 Terminal.app 应用程序和 emace shell进行交互,这两个应用程序都使用 bash,并且两者似乎都可以工作,但是我确实遇到了两个问题,即两者的环境设置不同。

我正在从emacs运行 OSX Lion 和 emacs 24 的全新安装,并希望 emacs shell 中的环境变量与 osx 下的 Terminal.app 中的环境变量相同。 我该如何解决?

只需安装很棒的小包exec-path-from-shell就完成了! 它会自动将您的 emacs exec-path设置为与您的zsh/bash配置中的PATH相同。

它还允许您复制其他 shell 变量的值,如下所示:

(exec-path-from-shell-copy-env "PYTHONPATH")

如果您的环境变量是在 ~/.bash_profile 中设置的,请创建一个名为 ~/.emacs_bash 的文件并将以下内容放入其中:

. ~/.bash_profile

不要忘记该行末尾的换行符,否则它不会被执行。

~/.emacs_bash 当您在其中运行 bash 时由 emacs 加载,例如使用 Mx shell 或 shell-command 时,因此您可以使用它来设置您想要的任何环境变量。

从 Terminal.app(而不是 Finder)打开 Emacs.app:

$ emacs

这对我使用来自 Homebrew 的 Emacs 和 Cocoa 有效( brew install emacs --with-cocoa )。 它在 Cocoa GUI 窗口中启动 Emacs.app(使用emacs -nw回退到终端 UI)。 我在 bash 环境中设置的所有环境变量似乎都是在 Emacs 中设置的。

我还没有用 Emacsformacosx 尝试过这个。 我个人更喜欢 Homebrew 的 Emacs,因为我听说 Emacsformacosx 没有使用我使用的某些扩展(例如 TLS 和 Imagemagick)编译……您可以使用brew install emacs --with-XXX使用这些扩展编译 Emacs。

截至2019年, exec-path-from-shell只会将PATH传递给Emacs,如果要传递所有环境,可以尝试:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM