2012-08-30 162 views
2

我想为我的终端设置一个Emacs颜色主题,它为所有文本设置颜色等,但使用终端的默认背景 - 主要是因为我喜欢我的终端配置文件具有的透明度设置。进入我的颜色主题(我使用color-theme-tomorrow-night)并删除背景颜色可以实现我正在寻找的功能,但每次打开Emacs时都不会发生错误。谢谢你的帮助。如何制作不设置背景颜色的Emacs颜色主题?

编辑:感谢Mawile的帮助,制作了色彩主题明日夜的新变种。这里,它是按预期工作:

(defun color-theme-tomorrow-night-term() 
    "Dark Tomorrow theme with background color removed for badass 
terminal transparency" 
    (interactive) 
    (color-theme-tomorrow-real "nil" "#282a2e" "#373b41" "#c5c8c6" "#969896" 
          "#cc6666" "#de935f" "#f0c674" "#b5bd68" "#8abeb7" 
          "#81a2be" "#b294bb" "#aeafad")) 
(provide 'color-theme-tomorrow-night-term) 

回答

1

您随时可以将其设置为“nil”(不带引号),而不是将其删除。“nil”是Emacs的版本的‘空’,或者“ false“或”nonexistant“...

这么做会让Emacs看到变量,并在查找变量时阻止它进入barfing。它会看到变量,但它不会将背景颜色设置为任何东西,因为它被设置为这个神奇的“nil”的东西,在这种情况下有效地提供了与删除变量但没有错误时相同的功能。

我想像this是你正在使用的主题?在这种情况下,您可以将“nil”放在第16行上...

如果要测试它,以下内容将您的背景颜色设置为“nil”。 (您可以通过在Emacs中的任意位置粘贴该代码来评估此代码,将光标移到最后一个括号后面并点击“C-x C-e”)。

(set-background-color nil) 
+0

(set-background-color nil)命令对我不起作用,但在颜色主题文件中将背景更改为“无”。我在上面发布了修改的主题,谢谢! – Beej

+0

是不是它的lisp“null版本?” – roundar