仅在命令行版本的Emacs中执行.emacs文件中的代码?

Mar*_*Wan 3 emacs configuration command-line

我在Mac上运行Carbon Emacs,我的GUI emacs设置了非常令人愉悦的配色方案.不幸的是,在终端窗口中运行"emacs"时看起来很糟糕,它会解析我的根文件夹中的相同.emacs文件.

那么,有没有办法在我的.emacs文件中有条件地执行代码,这样我就可以为命令行和"GUI"emacs选择不同的颜色方案?

谢谢!

Eme*_*gul 10

您可以使用该window-system变量来确定您是否在窗口环境中运行Emacs.例如,您可以在以下内容中添加以下内容.emacs.el:

(when window-system
  (setq default-frame-alist
    (append
      '((background-color . "#102e4e")
        (background-mode  . dark)
        ...))))
Run Code Online (Sandbox Code Playgroud)

这是window-system变量的文档(通过键入可在Emacs中查看C-h v window-system RET):

显示所选帧的窗口系统的名称.
该值是一个符号 - 例如,X窗口的"x".
如果所选帧位于纯文本终端上,则该值为nil.