Bisakah saya mendapatkan huruf miring di terminal gnome?

13

Setelah banyak mencari saya tidak dapat menemukan cara untuk mendapatkan gnome-terminal untuk menampilkan font miring. Saya menjalankan versi 3.6.2.

Secara khusus saya ingin vim untuk menampilkan komentar dalam huruf miring; aku sudah menambahkan

highlight Comment cterm=italic

ke .vimrc saya tetapi tidak berfungsi.

Adakah yang tahu kalau ini bisa dilakukan?

Chronos
sumber
Apakah pertanyaan ini membantu? Disarankan menggunakan urutan escape ANSI: \e[3m Terminal yang mendukung kode escape italik ANSI?
Nattgew

Jawaban:

14

Terminal Gnome mendukung italics (setidaknya dalam versi 3.8.4). Anda dapat menguji dukungan terminal untuk huruf miring dengan menjalankan $ echo -e "\e[3mfoo\e[23m". Jika Anda melihat foo dicetak miring, foo , maka terminal mendukungnya.

Maka Anda harus memasukkan yang berikut ini di .vimrc:

set t_ZH=^[[3m
set t_ZR=^[[23m

Perhatikan bahwa itu ^[adalah karakter tunggal dan dalam mode vim insert dapat dimasukkan dengan mengetik <ctrl>-v <esc>.

Setelah itu Anda harus memberitahu vim untuk membuat miring komentar. Anda dapat dengan cepat menguji apakah itu berfungsi dengan mengeksekusi :highlight Comment cterm=italicdi vim ketika file dengan beberapa komentar terbuka. Komentar harus segera dicetak miring.

Saya menemukan instruksi di atas pada reddit ( Italic dalam terminal vim dan tmux ), tetapi saya tidak harus mengikuti semua langkah yang tercantum di sana. Jawaban saya adalah versi suling instruksi yang bekerja untuk saya.

Kranjski Janez
sumber
Terima kasih! Perintah yang ditetapkan adalah apa yang saya lewatkan di vimrc saya. Sekarang komentar saya di terminal vim dicetak miring, persis seperti yang saya suka.
Chronos
Jangan ketinggalan Note tentang ^ [atau Anda akan bingung untuk waktu yang lama!
Jeremy West
1
terminal gnome 3.6.2 juga mendukung italic! akhirnya, saya memiliki huruf miring di bawah, terima kasih!
Ayrat
3

Tidak. Saya membaca man 5 terminfountuk mengetahui urutan terminal ESCape (apa yang Anda kirim ke terminal yang menyebabkan perilaku) yang disebut italics:

man 5 terminfo | egrep 'italics|Cap-|Code'|head -n 10| tail -n 4
               Variable                   Cap-            TCap               Description  
                String                    name            Code  
       enter_italics_mode                 sitm            ZH             Enter italic mode  
       exit_italics_mode                  ritm            ZR             End italic mode  

Kemudian, saya biasa infocmpmembuang setiap deskripsi terminal sehingga saya bisa melihat terminal mana yang mendukung huruf miring:

for i in $( find /usr/share/terminfo -type f ) ; do 
    j=${i##*/}; hdr="$( infocmp $j | head -n 1)";  
    infocmp $j | egrep -q 'sitm|ZH' 
    if [ $? = 0 ] ; then echo $hdr; fi; 
done
# Reconstructed via infocmp from file: /usr/share/terminfo/r/rxvt-unicode-256color
# Reconstructed via infocmp from file: /usr/share/terminfo/o/opus3n1+
# Reconstructed via infocmp from file: /usr/share/terminfo/i/iris-color

Jadi, ketiga tipe terminal ini (rxvt-unicode-256color, opus3n1 +, iris-color) mendukung huruf miring. Yang lain tidak.

Karena saya tidak dapat menemukan definisi terminal untuk "gnome-terminal" (lihat ls /usr/share/terminfo/g/, saya mencari huruf miring semuanya. Cobalah infocmp $TERMuntuk melihat kemampuan apa yang didukung terminal Anda. Baca man tputuntuk melihat bagaimana cara memancarkan urutan kontrol.

waltinator
sumber
Terima kasih atas jawaban Anda, dan permintaan maaf karena tidak mengakuinya lebih awal. Saya telah beralih menggunakan Urxvt; ini sangat dapat dikustomisasi, dan dengan sedikit usaha saya dapat membuatnya hampir persis seperti pengaturan gnome-terminal lama saya.
Chronos