Tôi có thể in nghiêng trong gnome-terminal không?


13

Sau rất nhiều lần tìm kiếm, tôi không thể tìm được cách để gnome-terminal hiển thị phông chữ in nghiêng. Tôi đang chạy phiên bản 3.6.2.

Cụ thể tôi muốn vim hiển thị các bình luận in nghiêng; Tôi đã thêm

highlight Comment cterm=italic

với .vimrc của tôi nhưng nó không hoạt động.

Có ai biết nếu điều này có thể được thực hiện?


Câu hỏi này có giúp được gì không? Nó gợi ý sử dụng chuỗi thoát ANSI: \e[3m Terminal hỗ trợ mã thoát ANIC in nghiêng?
Nattgew

Câu trả lời:


14

Thiết bị đầu cuối Gnome không hỗ trợ chữ nghiêng (ít nhất là trong phiên bản 3.8.4). Bạn có thể kiểm tra hỗ trợ thiết bị đầu cuối cho chữ nghiêng bằng cách thực hiện $ echo -e "\e[3mfoo\e[23m". Nếu bạn thấy foo được in nghiêng, foo , thì terminal hỗ trợ nó.

Sau đó, bạn phải chèn như sau .vimrc:

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

Lưu ý rằng đó ^[là một ký tự đơn và có thể chèn chế độ chèn vim bằng cách gõ <ctrl>-v <esc>.

Sau đó, bạn phải nói với vim để in nghiêng ý kiến. Bạn có thể nhanh chóng kiểm tra nếu nó hoạt động bằng cách thực thi :highlight Comment cterm=italictrong vim khi tệp có một số bình luận được mở. Bình luận nên được in nghiêng ngay lập tức.

Tôi đã tìm thấy các hướng dẫn ở trên trên reddit (chữ nghiêng trong terminal vim và tmux ), nhưng tôi không phải làm theo tất cả các bước được liệt kê ở đó. Câu trả lời của tôi là phiên bản chưng cất của các hướng dẫn làm việc cho tôi.


Cảm ơn bạn! Các lệnh thiết lập là những gì tôi đã thiếu trong vimrc của tôi. Bây giờ ý kiến ​​của tôi trong terminal vim được in nghiêng, giống như cách tôi thích.
Chronos

Đừng bỏ lỡ Lưu ý về ^ [hoặc bạn sẽ bối rối trong một thời gian dài!
Jeremy West

1
gnome terminal 3.6.2 cũng hỗ trợ in nghiêng! Cuối cùng, tôi có chữ nghiêng trong markdown, cảm ơn!
Ayrat

3

Không. Tôi đọc man 5 terminfođể tìm hiểu trình tự ESCape của thiết bị đầu cuối (những gì bạn gửi thiết bị đầu cuối để gây ra hành vi) xử lý chữ nghiêng được gọi là:

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  

Sau đó, tôi thường infocmpkết xuất từng mô tả thiết bị đầu cuối để tôi có thể xem thiết bị đầu cuối nào hỗ trợ in nghiêng:

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

Vì vậy, ba loại thiết bị đầu cuối (rxvt-unicode-256color, opus3n1 +, iris-color) hỗ trợ in nghiêng. Những người khác thì không.

Vì tôi không thể tìm thấy định nghĩa thiết bị đầu cuối cho "gnome-terminal" (xem ls /usr/share/terminfo/g/, tôi đã tìm chữ nghiêng trong tất cả. Hãy thử infocmp $TERMxem thiết bị đầu cuối của bạn hỗ trợ những gì. Đọc man tputđể xem cách phát ra các chuỗi điều khiển.


Cảm ơn bạn đã trả lời, và xin lỗi vì đã không thừa nhận nó sớm hơn. Tôi đã chuyển sang sử dụng Urxvt; nó có khả năng tùy biến cao và với một chút nỗ lực tôi đã có thể làm cho nó trông gần giống hệt như thiết lập thiết bị đầu cuối gnome cũ của tôi.
Chronos
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.