我在多台工作站上使用相同的Emacs配置,通过git进行同步。然而,不同的工作站(和笔记本电脑)具有不同的屏幕尺寸和像素密度等,因此我需要有一些特定于每台机器的设置。是否有一种方法可以有条件地仅在特定机器上执行我的配置文件中的某些部分,同时仍保持所有机器上的配置文件完全相同?
我在多台工作站上使用相同的Emacs配置,通过git进行同步。然而,不同的工作站(和笔记本电脑)具有不同的屏幕尺寸和像素密度等,因此我需要有一些特定于每台机器的设置。是否有一种方法可以有条件地仅在特定机器上执行我的配置文件中的某些部分,同时仍保持所有机器上的配置文件完全相同?
system-name
和system-type
对你有帮助,它们让你可以编写基于它们的标准Lisp条件语句。此外,frame.el
中还有一些代码片段可能会有所帮助,例如理论上返回显示器物理尺寸的display-mm-width
。
如果需要特定的Lisp结构来确定如何表达决策,请参阅elisp参考中的if
和cond
。
system-name
和system-type
正是我在寻找的。 - Ryan C. Thompson