Saya menggunakan emacs di dalam mintty (dikonfigurasi untuk mengatakan itu xterm-256color) terminal di cygwin. list-colors-display
bekerja dengan baik. dan warna ditampilkan dalam daftar dired dll. Sekarang saya mengatur warna untuk git branch
cabang saat ini menjadi yellow reverse
. Namun, baik windows shell maupun eshell tidak menampilkan warna yang benar; sebaliknya, cabang saat ini ditampilkan dalam warna default. Di ansi-term
jendela, atau Di Luar emacs, di dalam terminal yang sama, itu ditampilkan sebagaimana mestinya.
Saya memiliki ini di .emacs
:
(add-hook 'eshell-preoutput-filter-functions 'ansi-color-apply)
Adakah cara untuk mendapatkan warna-warna ini untuk ditampilkan di dalam shell atau jendela eshell?
git config --global color.ui always
berjalangit diff
. Bisakah Anda memberikan langkah-langkah yang lebih rinci?Jawaban:
Eshell dan
shell-mode
keduanya digunakanansi-color.el
untuk mengubah kode warna ansi menjadi wajah.ansi-color.el
mendukung wajah-wajah berikut:"gambar negatif" adalah "terbalik" dan dipetakan ke
error
wajah. Ketika saya mengkonfigurasi repositori saya seperti ...... dan jalankan
git branch
saya melihat cabang lokal saya, dan cabang saat ini diberikan dengan warna kuning tebal. Ketika saya meletakkan titik pada teks kuning dan menjalankandescribe-face
saya melihat bahwa itu sebenarnya diberikan denganerror
wajah.Anda dapat menyesuaikan
ansi-color-faces-vector
untuk menetapkan wajah yang berbeda selainerror
untuk "gambar negatif" / "terbalik".Anda tidak perlu
(add-hook 'eshell-preoutput-filter-functions 'ansi-color-apply)
menggunakan warna ansi di eshell.sumber