基于主机名的Elisp条件语句

27

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

(color-theme-initialize)  ;; required for Ubuntu 10.10 and above.

我想避免检查主机名的一种方法是将系统依赖关系从.emacs中分离出来,但是将.emacs放入版本控制中很方便。欢迎提出其他建议。

1个回答

44

system-name变量可能是在Emacs 25.1以下实现你所需功能最简单的方法:

(when (string= system-name "your.ubuntu.host")
  (color-theme-initialize))

这个变量从25.1版本开始已经过时了,现在请使用 (system-name) 替代它。

因此,在新版的Emacs中请使用以下内容:

(when (string= (system-name) "your.ubuntu.host")
  (color-theme-initialize))

4
请使用(system-name)函数而不是变量。请参见Emacs Stack Exchange网站上的how-do-i-retrieve-the-machines-hostname - Jeff Bauer
string= 这里是做什么用的? - buhtz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接