.vimrcで現在の行とカーソルを強調表示するにはどうすればよいですか?


14

現在の行とVimのカーソル位置を強調表示しようとしています。これが私の.vimrcです。

set cursorline
hi CursorLine ctermbg=8 ctermfg=15 "8 = dark gray, 15 = white
hi Cursor ctermbg=15 ctermfg=8

私が経験している問題は、現在の行の背景色がカーソルの背景色を覆っているため、次のように見えることです。

現在の行は強調表示されますが、カーソルは強調表示されません。

前景の色がほとんど黒であるため、カーソルの位置を明確に知ることができますが、カーソルがスペース上または行の先頭/末尾にある場合、移動しない限り、どこにあるのかわかりません。

カーソルは行末にありますが、あなたはそれを知らないでしょう。

ここで何が間違っていますか?

回答:


14

カーソルラインの色をカーソルの色以外の色に変更する必要があります。stまたはのようなターミナルエミュレータを使用している場合rxvt、Vimはカーソルの色を変更できません。それは、常にターミナルアプリケーションが決定する色になります。Vimのグラフィカルバージョンのみがカーソルの色を変更できます。

ただし、端末の設定でカーソルの色を変更できます。

いくつか~/.Xdefaults/ ~/.Xresources例:

XTerm*cursorColor: #FFFFFF
URxvt.cursorColor: white

Vimコマンド:set cursorcolumnを使用して、カーソルを十字線に合わせることもできます。


2
vimこのような端末では、カーソルの色xtermを変更できます(printf '\033]12;#f50\7'たとえば)。また、点滅ブロックまたは下線に変更する(できる\e[1 q\e[3 q
ステファンChazelas

それは面白い。これらのエスケープシーケンスが存在することは知りませんでした。vim での使用に関する情報はこちらにあります

6

Vimを起動するたびにコマンドを入力したくない場合は、コマンドを.vimrcファイルに入れる必要があります。

whereis vim    
*#type in your linux terminal* 

(別の場所がありますが、配色はこちらになります/usr/share/vim/vim74/colors/

既存の配色を一覧表示できます

ls /usr/share/vim/vim74/colors/    

リストされているものとは異なるカラースキームを試してください

:colorscheme desert
:colorscheme delek

Vimの次のコマンドは、カーソルの位置で垂直線をアクティブにします。

set cursorcolumn 
hi CursorColumn ctermbg=8

トグルする(感嘆符付き、すべてのsetコマンドで動作)

set cursorcolumn!

例えば:

set cursorline
set cursorline!

hi CursorLine ctermbg=235
*#defines a gray colour for the horizontal line*

xtermの色を含む表を次に示します。リンク

定義して番号を使用するctermbg=... (... =テーブルの色番号)を試すこともできますがctermfg=...、使用する価値はありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.