Saya mencoba untuk mendapatkan pengaturan tema-warna (khusus) untuk custom emacs saya yang menggunakan palet 16 warna, yang telah saya siapkan untuk terminal saya (gnome-terminal).
Saat menjalankan emacs dari terminal normal dengan TERM=xterm-256color
, Saya bisa mendapatkan dengan benar M-x list-colors-display
untuk menampilkan semua 16 warna ansi, mis. merah, hijau, hijau cerah, cerah, dll.
Namun, saat menjalankannya dari dalam tmux dan TERM=screen-256color
, M-x list-colors-display
hanya mencantumkan 8 warna dasar, dan tidak memiliki warna cerah yang diperluas. Di bawah kedua pengaturan, mengevaluasi (display-color-cells)
melaporkan 256 warna. Satu-satunya referensi untuk warna-warna cerah yang dapat saya temukan adalah di lisp / term / xterm.el dan lisp / term / rxvt.el, jadi sepertinya masalahnya ada di TERM
pengaturan.
Agar tmux berfungsi dengan benar TERM
harus diatur ke layar atau layar-256color, sehingga pengaturan JANGKA berbeda keluar. Saya beruntung menggunakan alias:
alias emacs='TERM=xterm-256color emacs'
Apakah ada cara yang lebih baik dari ini untuk memaksa emacs untuk memungkinkan penggunaan semua 16 warna ansi?
screen-256color
) yang mencakupncv
kemampuan yang mengatakan bahwa terminal tidak dapat mendukung garis bawah dan warna pada saat yang sama; ini menyebabkan Emacs mengabaikan menggarisbawahi dalam huruf tebal (lihatdefface underline
difaces.el
). Anda dapat memeriksa entri terminfo Anda dengantput ncv
(idealnya, untuk mendukung garis bawah, Anda memerlukan -1, atau nomor ketika "2 bit" tidak aktif). Di emacs Anda bisa menggunakanM-x : (display-supports-face-attributes-p '(:underline t))
untuk memeriksa dukungan garis bawah.ncv
dari nyascreen
entri, jadi saya kira biner Emacs Anda menggunakan versi yang lebih lama jika basis data terminfo. Anda bisa membuat entri khusus yang kosongncv
dengan perintah seperti ini:{ infocmp -x screen-256color; printf '\t%s\n' 'ncv@,'; } > /tmp/t && tic -x /tmp/t
(ketika dijalankan sebagai non-root, itu akan menulis yang baruscreen-256color
entri di bawah~/.terminfo/
). Anda bisa mendapatkan gambaran wajah denganM-x list-faces-display
untuk memeriksa caranya (mis.)underline
ditampilkan.