Gnu screenまたはtmuxセッションで実行しているときに、TERM=xterm
のときと同じ色を使用して、emacsを作成できるかどうかを知りたいです。 gnu screenまたはtmuxセッションでは、TERM=screen
とemacsは、TERM=xterm
の場合とは異なる色のセットを使用します。
たとえば、TERM=xterm-256color
の場合、font-lock-comment-face
の前景色は「耐火レンガ」です。ただし、TERM=screen-256color
の場合は、「chocolate1」に設定されます。
Tmuxが正しく機能するには、TERM変数必須をscreenまたは派生物に設定する必要があるため、TERMをリセットすることはできません。
font-lock-comment-face
の定義には、さまざまな色のサポートの場合の多くのバリエーションが含まれています。
chocolate1
バリアントは、88色以上が使用可能で、「背景」が「暗い」場合に使用されます。Firebrick
バリアントは、88色以上が使用可能で、「背景」が「明るい」場合に使用されます。この違いは、xterm
、rxvt
、dtterm
、およびeterm
で始まるTERM値に特別な意味を与えるコードによって引き起こされます。 「明るい」背景を持っています。
frame-background-mode
をカスタマイズできるはずです*light
値に変更して、常に「明るい」カラーバリエーションを使用します。
Emacsが独自のterm/screen.el
を持つほど新しくない場合は、適切な色調整呼び出しを行うEmacsを自分に合わせて調整する必要もあります。 Emacsトランク のものを使用するか、.emacs.d/LISP/term/screen.el
(修飾子+矢印/ホーム/を認識するための追加ビットを含む)を含む 要点tmuxのxterm-keys
オプション)によって提供される終了シーケンス、および自動的にロードするために必要な.emacs
変更。
もちろん、TERM値を直接チェックし、screen
-とxterm
のような値に対して異なる処理を実行するコードの他のビットがまだ存在する可能性があります…
* M-xカスタマイズ変数フレームバックグラウンドモード