Emacs环境变量

Emacs有一套自身的环境变量,可以通过getenv获取。很多插件会访问Emacs的环境变量,然后进行后续操作。

例:获取PATH变量

M-x getenv  --> PATH

可以通过setenv来设置一个Emacs环境变量,比如将FOO设置为BAR

M-x setenv --> FOO --> BAR

值得注意的是Emacs的环境变量不等同于Shell的环境变量,换句话说,假设在shell的PATH里配置了某些命令,发现在Emacs里找不到,很大程度是Emacs和Shell的PATH变量不一样造成的。(特别是默认使用的shell不是bash)

很多时候我们希望在SHELL里配置好环境变量,然后在Emacs里直接使用SHELL配好的,此时可以通过插件exec-path-from-shell来解决。

例:使用shell的PATH变量代替Emacs的PATH变量

(exec-path-from-shell-initialize)

也可以将指定shell变量拷贝到Emacs里,比如go的GOPATHGOROOT

(exec-path-from-shell-copy-env "GOPATH")
(exec-path-from-shell-copy-env "GOROOT")

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