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