Saya menggunakan Emacs yang berjalan di urxvt, dan saya tidak bisa membuat huruf miring bekerja di Emacs meskipun terminal mendukungnya.
Inilah pengaturan saya saat ini:
- Saya belum menetapkan
$TERM
, jadi ini adalah defaultrxvt-unicode-256color
. - Saya
~/.Xdefaults
mendefinisikanURxvt.font: xft:Inconsolata:size=15
sebagai font terminal. - Menjalankan
echo '\e[3mitalics\e[m'
di shell memang hasilitalics
, sehingga miring di terminal do kerja, pada dasarnya.
Ketika menyesuaikan “Miring” wajah, itu tidak ada bedanya apakah saya pilih italic
, oblique
, normal
, atau roman
sebagai nilai untuk Slant
atribut, juga tidak jika saya tidak mengatur Slant
atribut sama sekali. Saya juga mencoba ini dalam kombinasi dengan mendefinisikan secara eksplisit URxvt.italicFont
di saya ~/.Xdefaults
, tetapi tidak berhasil.
Berani bekerja dengan baik, cetak miring tidak bekerja sama sekali. Ada ide?
Jawaban:
Singkatnya: Anda tidak dapat menggunakan versi Emacs saat ini (diperiksa dengan 23.2), tetapi lihat di bawah untuk kemungkinan solusinya.
Cerita yang lebih panjang: dukungan untuk huruf miring dikodekan dalam basis data terminfo sebagai kemampuan
sitm
(masukkan huruf miring) danritm
(keluar huruf miring) (juga disebutZH
danZR
untuk kompatibilitas termcap); Anda dapat memeriksa apakah terminal Anda mendukungnya melalui:Jika tidak ada, maka
rxvt-unicode-256color
deskripsi terminal Anda tidak memberikan informasi kepada perpustakaan ncurses tentang kemampuan cetak miring terminal dan Anda mungkin ingin menambahkannya, jika tidak, tidak ada aplikasi TTY yang dapat menggunakan italics.Namun, fungsi
turn_on_face
(dalam sumber Emacs, filesrc/term.c
pada baris 1919-2012), yang mengelola tampilan terminal, tidak memberikan dukungan untuk cetak miring: ia memeriksa atribut wajah yang tebal / redup / berkedip / bergaris bawah. Sebenarnya, tidak ada atribut "miring" yang disandikan distruct face
.Memang, Emacs saya (versi 23.1 pada Ubuntu 11.04 natty) menunjukkan wajah miring (yang ditampilkan dengan benar di X11) seperti yang digarisbawahi dalam TTY. (Yang berarti bahwa, jika Anda tidak peduli dengan garis bawah, Anda bisa mengubah uraian terminfo terminal Anda untuk menggunakan urutan lolos / enter italics alih-alih yang masuk / keluar yang digarisbawahi dan dapatkan huruf miring.)
sumber
ESC
tidak menyisipkan karakter pelarian. Anda dapat menekanCtrl+V ESC
untuk memasukkan satu, tetapi Anda jarang perlu melakukannya. Misalnya karakter escape diwakili oleh\E
dalam sumber terminfo; di terminal (dengan bash / ksh / zsh), cobaecho $'\e[3mhello\e[0m'
.Saya menambahkan jawaban ini karena yang lain sudah ketinggalan zaman. Emacs 24.5 tidak menampilkan wajah miring dengan benar di terminal.
Ini adalah emacs 24.5 yang berjalan di terminal (
emacs -nw
). Terminal adalahuxvrt
dan pengaturan di saya.Xdefaults
adalah:sumber
Mengenai emacs yang tidak dapat memanfaatkan huruf miring di emulator terminal yang menyediakan fungsi ini: Ini adalah bug emacs # 9652 yang diperbaiki oleh Chong Yidong pada 10 Juni 2012.
Perbaikannya tidak dalam versi emacs yang dirilis, tetapi misalnya dalam paket snapshot emacs dari emacs.naquadah.org .
sumber