많은 검색 후 gnome-terminal이 기울임 꼴 글꼴을 표시하는 방법을 찾을 수 없습니다. 버전 3.6.2를 실행 중입니다.
특히 vim이 기울임 꼴로 주석을 표시하고 싶습니다. 추가했습니다
highlight Comment cterm=italic
내 .vimrc에 있지만 작동하지 않습니다.
이것이 가능한지 아는 사람이 있습니까?
답변
그놈 터미널은 이탤릭체를 지원합니다 (최소 버전 3.8.4 이상). 를 실행하여 기울임 꼴에 대한 터미널 지원을 테스트 할 수 있습니다 $ echo -e "\e[3mfoo\e[23m"
. 당신은 foo는 이탤릭체로, 인쇄를 참조하면 foo는 , 다음 터미널 지원을.
그런 다음에 다음을 삽입해야합니다 .vimrc
.
set t_ZH=^[[3m
set t_ZR=^[[23m
참고 ^[
정력 삽입 모드에서 하나의 문자 수입니다 입력하여 삽입 <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
하는지 확인하십시오. 제어 시퀀스를 생성하는 방법을 읽으십시오 .