ALi*_*LiX 9 colors gnu-screen terminal emacs tmux
我想知道是否可以制作 emacs,在 gnu 屏幕或 tmux 会话中运行时,使用与 when 相同的颜色TERM=xterm
。在 gnu 屏幕或 tmux 会话中, TERM=screen
与TERM=xterm
.
例如,当 时TERM=xterm-256color
, 的前景色font-lock-comment-face
为“Firebrick”。但是当TERM=screen-256color
,它被设置为'chocolate1'。
要使 tmux 正常工作,必须将TERM 变量设置为 screen 或某些派生对象,因此重置 TERM 对我来说不是一个选项。
的定义font-lock-comment-face
包括针对不同颜色支持情况的许多变体。
chocolate1
当至少有 88 种可用颜色且 \xe2\x80\x9cbackground\xe2\x80\x9d 为 \xe2\x80\x9cdark\xe2\x80\x9d 时,使用该变体。Firebrick
当至少有 88 种可用颜色且 \xe2\x80\x9cbackground\xe2\x80\x9d 为 \xe2\x80\x9clight\xe2\x80\x9d 时,使用该变体。差异是由一些代码引起的,这些代码赋予以xterm
、rxvt
、dtterm
和开头的 TERM 值特殊含义eterm
:它认为它们具有 \xe2\x80\x9clight\xe2\x80\x9d 背景。
您应该能够将frame-background-mode
*自定义为其light
值,以始终使用 \xe2\x80\x9clight\xe2\x80\x9d 颜色变体。
如果您的 Emacs 还不够新,无法拥有自己的term/screen.el
,那么您还需要为自己调整一个,以进行适当的颜色调整调用。您可以使用Emacs trunk中的一个,或者我有一个要点,其中包括 a (带有一些额外的位来识别tmux \xe2\x80\x99s选项.emacs.d/lisp/term/screen.el
提供的修饰符+箭头/Home/End 序列),以及xterm-keys
.emacs
所需的修改让它自动加载。
当然,仍然可能有其他代码直接检查 TERM 值并对screen
- 和 -xterm
类似值\xe2\x80\xa6执行不同的操作
* Mx自定义变量框架背景模式
\n