Answers:
Gnome终端确实支持斜体(至少在版本3.8.4中)。您可以通过执行来测试终端对斜体的支持$ echo -e "\e[3mfoo\e[23m"
。如果看到foo以斜体打印foo,则终端支持它。
然后,您必须在中插入以下内容.vimrc
:
set t_ZH=^[[3m
set t_ZR=^[[23m
注意,这^[
是一个字符,可以在vim插入模式下通过键入插入<ctrl>-v <esc>
。
之后,您必须告诉vim斜体注释。:highlight Comment cterm=italic
当打开带有某些注释的文件时,可以在vim中执行,以快速测试它是否有效。评论应立即变为斜体。
我在reddit上找到了上述说明(在vim和tmux中为斜体),但是我不必遵循那里列出的所有步骤。我的答案是对我有用的说明的精简版。
不。我读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
是否支持ANSI斜体转义码的终端?