ฉันสามารถใช้ตัวเอียงใน gnome-terminal ได้ไหม?


13

หลังจากการค้นหามากมายฉันไม่สามารถหาวิธีรับ gnome-terminal เพื่อแสดงแบบอักษรตัวเอียงได้ ฉันใช้เวอร์ชั่น 3.6.2

โดยเฉพาะฉันต้องการเป็นกลุ่มเพื่อแสดงความคิดเห็นในตัวเอียง; ฉันได้เพิ่ม

highlight Comment cterm=italic

ถึง. vimrc ของฉัน แต่ใช้งานไม่ได้

ไม่มีใครรู้ว่าสิ่งนี้สามารถทำได้?


คำถามนี้ช่วยได้ไหม มันแนะนำให้ใช้ลำดับการหลบหนีของ ANSI: \e[3m เทอร์มินัลที่รองรับโค้ดตัวเอียง ANSI ตัวเอียงใช่ไหม
Nattgew

คำตอบ:


14

Gnome terminal รองรับการใช้ตัวเอียง (อย่างน้อยในรุ่น 3.8.4) $ echo -e "\e[3mfoo\e[23m"คุณสามารถทดสอบการสนับสนุนขั้วตัวเอียงโดยการดำเนินการ หากคุณเห็น foo ที่พิมพ์เป็นตัวเอียงfoo แสดงว่าเทอร์มินัลรองรับ

จากนั้นคุณต้องแทรกสิ่งต่อไปนี้ใน.vimrc:

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

โปรดทราบว่า^[เป็นอักขระเดียวและสามารถแทรกโหมด vim ในการพิมพ์<ctrl>-v <esc>ได้

หลังจากนั้นคุณต้องบอกเป็นกลุ่มเพื่อทำให้ความคิดเห็นเป็นตัวเอียง คุณสามารถทดสอบได้อย่างรวดเร็วว่าทำงานได้หรือไม่โดย:highlight Comment cterm=italicเรียกใช้งานเป็นกลุ่มเมื่อไฟล์ที่มีความคิดเห็นเปิดอยู่ ความคิดเห็นควรทำให้เป็นตัวเอียงทันที

ฉันพบคำแนะนำข้างต้นเกี่ยวกับ reddit ( ตัวเอียงใน terminal vim และ tmux ) แต่ฉันไม่ต้องทำตามขั้นตอนทั้งหมดที่ระบุไว้ที่นั่น คำตอบของฉันคือรุ่นกลั่นของคำแนะนำที่ทำงานสำหรับฉัน


ขอขอบคุณ! ชุดคำสั่งเป็นสิ่งที่ฉันหายไปใน vimrc ของฉัน ตอนนี้ความคิดเห็นของฉันใน terminal vim จะถูกทำให้เป็นตัวเอียงเพียงวิธีที่ฉันชอบ 'em
Chronos

อย่าพลาดบันทึกย่อนั้นเกี่ยวกับ ^ [หรือคุณจะสับสนเป็นเวลานาน!
Jeremy West

1
gnome terminal 3.6.2 รองรับตัวเอียง! ในที่สุดฉันมีตัวเอนใน markdown ขอบคุณ!
Ayrat

3

ไม่ฉันอ่านman 5 terminfoเพื่อค้นหาว่าเทอร์มินัล ESCape ลำดับใด (สิ่งที่คุณส่งเทอร์มินัลเพื่อทำให้เกิดพฤติกรรม) ที่เกี่ยวข้องกับตัวเอียงถูกเรียก:

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  

จากนั้นฉันเคยinfocmpถ่ายโอนคำอธิบายเทอร์มินัลแต่ละคำเพื่อที่ฉันจะได้เห็นว่าเทอร์มินัลใดรองรับตัวเอียง:

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

ดังนั้นเทอร์มินัลทั้งสามชนิดนี้ (rxvt-unicode-256color, opus3n1 +, iris-color) จึงรองรับตัวเอียง คนอื่นทำไม่ได้

เนื่องจากฉันไม่สามารถหาคำนิยามเทอร์มินัลสำหรับ "gnome-terminal" (ดูls /usr/share/terminfo/g/ฉันค้นหาตัวเอียงทั้งหมดลองinfocmp $TERMดูว่าความสามารถของเทอร์มินัลของคุณรองรับอะไรบ้างอ่านman tputเพื่อดูวิธีเปล่งลำดับการควบคุม


ขอบคุณสำหรับคำตอบและขอโทษที่ไม่ยอมรับมันเร็ว ฉันเปลี่ยนเป็นการใช้ Urxvt; มันปรับแต่งได้สูงและด้วยความพยายามเล็กน้อยฉันสามารถทำให้มันดูเหมือนกับการตั้งค่า gnome-terminal เก่าของฉัน
Chronos
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.