我需要做些什么来使其更加环保意识?
(let ((path (shell-command-to-string ". ~/.bashrc; echo -n $PATH"))) (setenv "PATH" path) (setq exec-path (append (split-string-and-unquote path ":") exec-path)))
根据您是否设置了.bash_profile或.bashrc中的env变量,您可能需要稍微调整此片段.该例子是PATH变量,这是一个更特别的(因为你必须在Emacs中设置exec-path),但可以扩展为任意变量的工作 – 你可以有一个变量的列表必须是从.bashrc读取并设置为Emacs.
我不知道你是否使用OS X或GNU / Linux.从Linux的GUI菜单栏启动Emacs通常会导致Emacs没有与从命令行启动的路径相同的路径.这个问题可追溯到第一个xdm Xsession脚本,而且它们相当容易修复(基本上使用一个执行exec $SHELL -c Xsession的Xsessionwrapper脚本,以便shell在运行用户的Xsession之前运行),没有人会打扰所以在很长一段时间(我怀疑任何人会).据我所知,问题出现在中等xdm后代,比如kdm和gdm.
在OS X上,处理env变量是另一个问题,为了获得ENV变量,您通常必须从命令行运行Emacs,如/Applications/Emacs.app/Contents/MacOS/Emacs或使用〜/ .MacOSX /environment.plist.我提供的代码段在两种情况下都应该覆盖你.
更新
最近这个过程更容易被exec-path-from-shell扩展.它以大致相同的方式设置emacs $PATH,但是使用扩展名通常比自己黑客解决方案更好.
原文地址:https://www.jb51.cc/bash/386405.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。