作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我启动 emacs GUI 时,PATH 未根据我的 .zshrc 设置。如何获取我的 .zshrc 以正确设置它?
编辑:我正在尝试使用 swank-clojure 但它找不到 lein,因为它不在 PATH
上.
最佳答案
编辑添加(2014):现在有一个 package in MELPA命名 exec-path-from-shell
,这解决了这个确切的问题。 (另请参阅 Github repository )。安装该软件包几乎肯定比复制和粘贴此代码段要好。除了正确维护之外,它还支持从您的 shell 设置中复制其他环境变量,因此任何从 Emacs 启动的子进程都将按预期工作。
原答案:
这是我对这个问题的解决方法,它不需要总是从 shell 启动 Emacs(我有时在我的 mac 上也被这个困扰):
(let ((path (shell-command-to-string ". ~/.zshrc; echo -n $PATH")))
(setenv "PATH" path)
(setq exec-path
(append
(split-string-and-unquote path ":")
exec-path)))
PATH
的想法。环境变量(所以它会被子 shell 继承)和 Lisp 变量
exec-path
,用于从 Lisp 代码中查找可执行文件和某些自动完成目的。您可能还需要检查
shell-file-name
是根据您的位置定制的
zsh
二进制而不是默认
/bin/bash
.
关于emacs - 如何在 emacs 中获取我的 .zshrc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9435019/
我是一名优秀的程序员,十分优秀!