gnome-terminalで斜体にすることはできますか?


13

多くの検索を行った後、gnome-terminalで斜体フォントを表示する方法を見つけることができません。バージョン3.6.2を実行しています。

具体的には、vimにコメントを斜体で表示したいと思います。私は追加しました

highlight Comment cterm=italic

私の.vimrcに、しかしそれは動作しません。

これができるかどうか誰もが知っていますか?


この質問は役に立ちますか?ANSIエスケープシーケンスを使用することをお勧め\e[3m します。ANSIイタリックエスケープコードをサポートする端末ですか?
ナットゲ14

回答:


14

Gnomeターミナルは斜体をサポートします(少なくともバージョン3.8.4で)。を実行することにより、イタリックの端末サポートをテストでき$ echo -e "\e[3mfoo\e[23m"ます。あなたはイタリック体で印刷さFOO、表示された場合はFOOを、端末がサポートそれ。

次に、以下を挿入する必要があります .vimrc

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

ご了承ください ^[は1文字であり、vim挿入モードではと入力することで挿入できることに<ctrl>-v <esc>

その後、vimにコメントを斜体にするように指示する必要があります。:highlight Comment cterm=italicいくつかのコメントのあるファイルが開いているときにvimで実行することにより、動作するかどうかをすばやくテストできます。コメントはすぐに斜体になります。

reddit(ターミナルvimおよびtmuxの斜体)で上記の手順を見つけましたが、そこにリストされているすべての手順に従う必要はありませんでした。私の答えは、私のために働いた指示の蒸留版です。


ありがとうございました!setコマンドは、vimrcに欠けていたものです。現在、ターミナルvimでのコメントはイタリック体で表示されています。
クロノ14

^ [についての注意を忘れないでください。そうしないと、長い間混乱するでしょう!
ジェレミーウェスト

1
gnomeターミナル3.6.2は斜体もサポートします!最後に、マークダウンでイタリック体を使用しています、ありがとう!
アイラート

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

そのため、これら3つの端末タイプ(rxvt-unicode-256color、opus3n1 +、iris-color)は斜体をサポートしています。他の人はしません。

「gnome-terminal」の端末定義を見つけることができなかったので(ls /usr/share/terminfo/g/イタリック体をすべて探しました。infocmp $TERM端末がサポートしている機能を確認man tputしてください。制御シーケンスを発行する方法を読んでください。


ご回答いただきありがとうございます。また、早めにご了承いただけないことをおologiesび申し上げます。Urxvtの使用に切り替えました。それは高度にカスタマイズ可能であり、少しの努力で、私の古いgnome-terminalのセットアップとほとんど同じように見せることができました。
クロノ14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.