44

~/.vimrcコード内のコメントをイタリック体にするように変更するにはどうすればよいですか?

私の~/.vimrcファイルには次のものがあります。

highlight Comment ctermfg=blue

コメントが青くなります。それらをイタリックにするために、私は何を変える必要がありますか?

4

7 に答える 7

51

何よりもまず、端末がテキストを斜体で表示できるかどうかを確認する必要があります。端末タイプ(-eフラグはエスケープコードが解釈されることを確認します)

echo -e "\e[3m foo \e[23m"

表示された場合はfoo問題ありません。それ以外の場合は、ターミナルを変更する必要があります(GnomeターミナルとKonsoleが適切な選択です)。

次に、Vimが使用している端末の種類を認識できるように支援する必要があります~/.bashrc

export TERM="xterm-256color"

これで、これで十分かどうかを確認vim foo.htmlして、次の内容の新しいファイルを開くことができます。

<i>foo</i>

fooイタリックで表示されますか?いいえの場合は、もう少し先に進む必要があります。現在、Vimはイタリックモードに切り替えるためのエスケープコードを認識していません。それを伝える必要があります(これは最も難しい部分です。それを理解するのに数年かかりました) 。

次の2行を~/.vimrc

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

これらは、ターミナルで以前に使用したものと同じエスケープコードです。^[リテラル文字ではなく、エスケープ文字を表すことに注意してください。挿入モードでは、CTRL-のV後にESC(を参照:help i_CTRL-V)を付けて挿入できます。

前に作成したファイルを再度開くと、斜体foo.htmlで表示されます。fooそうでなければ、私はもうあなたを助けることができません。それ以外の場合は、ほぼ完了です。最後のステップが1つあります。

あなたの~/.vimrcファイルに入れて

highlight Comment cterm=italic

配色を読み込んだ後。

于 2014-01-12T16:48:35.677 に答える
45
highlight Comment cterm=italic gui=italic

イタリックセットのフォントとイタリックを表示できる端末が必要です。また、デフォルト以外の配色を使用している場合は、~/.vimrc配色が上書きされないように、配色が読み込まれた後に上記の行を表示する必要があります。

ctermターミナルで動作し、guiグラフィカルVimクライアント用です。

于 2010-08-16T16:00:02.587 に答える
25

私の場合、これをvimrcファイルに入れる必要がありました。

let &t_ZH="\e[3m"
let &t_ZR="\e[23m"
highlight Comment cterm=italic

次のものと同じではないことに注意してください。

set t_ZH=^[[3m
set t_ZR=^[[23m
highlight Comment cterm=italic

前者は私のために働いたが、後者はそうではなかった。

于 2015-06-19T12:12:30.917 に答える
8

gvimのようなGUI環境の場合、シンプル

highlight Comment gui=italic

それをします。

于 2014-09-03T08:47:50.753 に答える
3

michaelmichaelの答えは、ほとんどの場合それを解決するはずです。ただし、イタリックを持たない(ただし、斜体など)gvimのフォントでこれが必要な場合に備えて、〜/.gvimrcでこのようなものを試すことができます。

highlight Comment font=Bitstream_Vera_Sans_Mono_Oblique:h14

ここで、h14はフォントサイズです。ただし、このフォントのセルサイズは通常のフォントと同じである必要があるため、まったく異なるフォントを使用しないでください。

于 2010-08-18T21:21:56.840 に答える
0

私はSolarizedの配色を使用しているため、 Solarized#120.vim/colors/solarized.vimで推奨されているように編集して、137〜157行目を次のように置き換える必要がありました。

if has("gui_running") || ( has("unix") && system("tput sitm") == "\033[3m" )
    let s:terminal_italic=1
else
    let s:terminal_italic=0
endif

これはさらに、この要点の指示に従い、これらの2行をmyに追加し、-を.vimrc使用して次のように入力しました。CtrlvEsc^[

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

(これらの行を私のに追加するためのヒントを提供してくれたGabriele Lanaに感謝します.vimrc。)

于 2021-05-12T14:47:55.787 に答える
0

いずれの回答も機能しない場合は、移動します

highlight Comment cterm=italic

.vimrcの最後まで。テーマ設定の1つによって上書きされている可能性があります

于 2021-11-21T03:37:02.783 に答える