基于$ TERM环境变量的emacs颜色


9

我想知道是否有可能使emacs在gnu屏幕或tmux会话中运行时使用与when相同的颜色TERM=xterm。在gnu屏幕或tmux会话中, TERM=screenemacs与when相比使用不同的颜色集TERM=xterm

例如,当时TERM=xterm-256color,的前景色font-lock-comment-face是'Firebrick'。但是当时TERM=screen-256color,它将设置为“ chocolate1”。

为了使tmux正常工作,必须将TERM变量设置为screen或某些派生类,因此对我而言,重置TERM是不可选项。


(希望我能发表评论...)我不清楚您是否尝试将emacs运行为:TERM=xterm emacs强制TERM为emacs设置变量。当您这样做时会发生什么?
verdammelt 2012年

我目前正在对此进行试验。我还没有发现任何不良情况。看来tmux可以配置为发出xterm键序列(尽管仍然不支持TERM = xterm)。根据tmux常见问题解答,将来tmux可能会支持xterm,而不仅仅是屏幕。
ALiX 2012年

Answers:


3

定义font-lock-comment-face包括多种变体,用于支持不同颜色的情况。

  • chocolate1当至少有88种颜色可用且“背景”为“深色”时使用该变体。
  • Firebrick当至少有88种颜色可用且“背景”为“浅色”时,使用该变体。

所不同的是通过一些代码,给予特别的意义与开始词语值造成的xtermrxvtdtterm,和eterm:它认为他们有一个“光”的背景。

您应该能够将frame-background-mode*自定义为其light值,以始终使用“浅色”颜色变体。

如果您的Emacs不够新,无法拥有自己的Emacs term/screen.el,那么您还需要自己调整一个以进行适当的颜色调整调用。您可以使用从一个Emacs的行李箱,或者我有一个要点包括.emacs.d/lisp/term/screen.el(有一些额外的比特来识别所提供的修改+箭头/ Home / End键序列TMUXxterm-keys选项),而.emacs需要修改,让它自动加载。

当然,还有可能是其他代码位的是直接检查长期价值和做不同的事情screen-和xterm样值...

* MX自定义变量帧背景模式

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.