web-dev-qa-db-ja.com

Mac OSXターミナルでvimカーソルスタイルをカスタマイズする

Vimカーソルを長方形のブロックが点滅するようにカスタマイズしたいと思います。いくつかの検索の後、 thisthis と他の多くの同様のものを試しましたが、どれも期待どおりに機能しません。

現在、私のカーソルは灰色で点滅しない下線(つまり、下の最後の行の文字「e」の下の下線)であり、認識が非常に困難です。

underline cursor

カーソルが括弧文字の上にあるとき、それはブロックになります。 (実際、これは背景色の変更だと思います)私が欲しいのは、このブロックを常に表示し、点滅させることです。

block cursor

.vimrcファイルのカーソルスタイルに関連するものは何もありません。 Mac OS X 10.9、ターミナルバージョン2.4(326)、およびoh-my-zshを使用しています。ターミナル設定では、Proテーマを使用し、カーソルを下線に設定します。これをブロックに変更して、vimのカーソルも変更できるようにすることができますが、通常のターミナルでは下線カーソルが必要です。

terminal settings

4
Xiao Jia

あなたはあなたの.vimrcでこれを試すことができます:

let &t_SI="\033[4 q" " start insert mode
let &t_EI="\033[1 q" " end insert mode

これにより、インセットモードの場合は下線が設定され、通常の場合はブロックされます。詳細: http://vt100.net/docs/vt510-rm/DECSCUSR

また、ターミナルでこのコマンドを試すこともできます。ここで、Xは0、1、2、3、または4です。

printf '\033[X q'
3
avdyushin

これをvimrcに追加してみてください。

if exists('$TMUX')
    let &t_SI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\"
    let &t_EI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\"
else
    let &t_SI = "\<Esc>]50;CursorShape=0\x7"
    let &t_EI = "\<Esc>]50;CursorShape=0\x7"
endif

これにより、tmuxまたはiTermの正しいエスケープシーケンスが提供されます。

また、現在のモードに基づいてカーソルを自動的に変更する this プラグインも見つかりました。

1
Nate Mara