elisp条件基于主机名

Jef*_*uer 24 elisp

我在不同的Linux系统之间有一个共享的.emacs文件.我想根据我正在运行的系统的主机名执行一个表达式:

(color-theme-initialize)  ;; required for Ubuntu 10.10 and above.
Run Code Online (Sandbox Code Playgroud)

我想避免检查主机名的一种方法是从.emacs中分解系统依赖性,但在版本控制中使用.emacs很方便.欢迎提供其他建议.

Hug*_*ugh 37

system-name变量可能是实现你在Emacs低于25.1找什么简单的方法:

(when (string= system-name "your.ubuntu.host")
  (color-theme-initialize))
Run Code Online (Sandbox Code Playgroud)

这个变量从25.1开始就已经过时了; 请改用(系统名称)

所以在较新的Emacs中使用这个:

(when (string= (system-name) "your.ubuntu.host")
  (color-theme-initialize))
Run Code Online (Sandbox Code Playgroud)

  • @PauloMatos使用`(system-name)`函数代替变量.请参阅emacs stackexchange站点上的[how-do-i-retrieve-the-machines-hostname](https://emacs.stackexchange.com/questions/33728/how-do-i-retrieve-the-machines-hostname) . (2认同)