Saya ingin tahu apakah mungkin untuk membuat emacs, ketika berjalan di layar gnu atau sesi tmux, gunakan warna yang sama seperti kapan TERM=xterm
. Dalam layar gnu atau sesi tmux, TERM=screen
dan emacs menggunakan serangkaian warna yang berbeda dibandingkan dengan kapan TERM=xterm
.
Misalnya, ketika TERM=xterm-256color
, warna latar depan font-lock-comment-face
adalah 'Firebrick'. Tetapi ketika TERM=screen-256color
, itu diatur ke 'chocolate1'.
Agar tmux berfungsi dengan baik, variabel TERM harus disetel ke layar atau turunannya, jadi mengatur ulang TERM bukan pilihan bagi saya.
TERM=xterm emacs
untuk memaksaTERM
pengaturan variabel untuk emacs. Apa yang terjadi ketika Anda melakukan itu?Jawaban:
The definisi
font-lock-comment-face
mencakup banyak varian untuk kasus-kasus dari berbagai dukungan warna.chocolate1
varian digunakan ketika ada setidaknya 88 warna yang tersedia dan “latar belakang” adalah “gelap”.Firebrick
varian digunakan ketika ada setidaknya 88 warna yang tersedia dan “latar belakang” adalah “cahaya”.Perbedaan tersebut disebabkan oleh beberapa kode yang memberi arti khusus untuk nilai-nilai JANGKA yang dimulai dengan
xterm
,rxvt
,dtterm
, daneterm
: menganggap mereka memiliki “cahaya” latar belakang.Anda harus dapat menyesuaikan
frame-background-mode
* sesuailight
nilainya untuk selalu menggunakan varian warna "terang".Jika Emacs Anda tidak cukup baru untuk memilikinya
term/screen.el
, maka Anda juga perlu menyesuaikannya untuk diri Anda sendiri yang melakukan panggilan penyesuaian warna yang sesuai. Anda mungkin menggunakan salah satu dari Emacs batang , atau saya memiliki sebuah Intisari yang mencakup.emacs.d/lisp/term/screen.el
(dengan beberapa bit ekstra untuk mengenali urutan pengubah + panah / Home / End disediakan oleh tmux ‘sxterm-keys
pilihan), dan.emacs
modifikasi yang diperlukan untuk membiarkannya secara otomatis beban .Tentu saja, masih ada bit kode lain yang secara langsung memeriksa nilai TERM dan melakukan sesuatu yang berbeda untuk
screen
- danxterm
-seperti nilai ...* Mx menyesuaikan-frame-latar-mode variabel
sumber