Emacs 获取Linux环境变量

问题:在设置golang 的开发环境中,Emacs 一直提示godef找不到。

查了几天,终于发现了问题所在。

我用的是Debian 9.1 + Cinnamon桌面 , 发现从菜单打开Emacs时,无法找到godef进行函数跳转,但是从字符终端敲Emacs命令打开时可以正常跳转。

本来通过终端打开也能进行开发了,用了几天,作为强迫证患者还是觉得不开心。于是,开始一轮搜索,解决方案也很简单。

解决:
通过包管理,下载exec-path-from-shell这个包。
在配置中加入以下几行,(一定要在 package-initialize 之后加入)
 (exec-path-from-shell-copy-env "GOPATH")
 (exec-path-from-shell-copy-env "GOROOT")
 (when (memq window-system '(mac ns x))
  (exec-path-from-shell-initialize))
重启搞定。

教训:
做一个永不妥协的猿使人。

参考文章:
https://stackoverflow.com/questions/6411121/how-to-make-emacs-use-my-bashrc-file
https://www.jianshu.com/p/23922cebec35
https://github.com/purcell/exec-path-from-shell

你可能感兴趣的:(Emacs 获取Linux环境变量)