Нет. Я прочитал, 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
чтобы узнать, как генерировать управляющие последовательности.
\e[3m
Терминал, который поддерживает escape-код ANSI?