8

我在 Mac OS X 和 Ubuntu 上都使用 emacs。我的 .emacs 在两个平台上基本相同,有几行涉及本地字体和其他与操作系统相关的内容。由于我通常会在我的 .emacs 文件中添加内容,因此我想以准自动的方式同步它们。我的问题是——在 Lisp 中有没有办法添加一个条件过程来检测正在运行的操作系统?类似(伪代码):

If OS X: 
  run this and that command;
If Linux:
  run that other command;
Fi

提前致谢。

4

2 回答 2

11

按照 bmeric 的建议,这个解决方案对我有用:

(cond
   ((string-equal system-type "gnu/linux")
        ;; window size
        (add-to-list 'default-frame-alist '(left . 0))
        (add-to-list 'default-frame-alist '(top . 0))
        (add-to-list 'default-frame-alist '(height . 32))
        (add-to-list 'default-frame-alist '(width . 70))
        )
   ((string-equal system-type "darwin")
    ;; window size
        (add-to-list 'default-frame-alist '(left . 0))
        (add-to-list 'default-frame-alist '(top . 0))
        (add-to-list 'default-frame-alist '(height . 63))
        (add-to-list 'default-frame-alist '(width . 100))
    )
)
于 2012-11-10T23:42:22.577 回答
9

您可以使用系统类型变量。

于 2012-11-10T22:51:45.217 回答