webdevqa.jp.net

vimで現在の行番号を強調表示する

現在の行の背景を強調表示せずに、vimでonly現在の行番号(左側の列)を強調表示する方法はありますか?理想的には、現在の行番号をboldにしたいと思います。

36
cg433n

&cursorlineオプションがアクティブなときに表示される行の強調表示を決定するグループは、CursorLineCursorLineNRの2つです。 1つ目は行全体を強調表示するために使用され、2つ目は行番号を強調表示するために使用されます。だからあなたが望むものを達成するには

  1. CursorLineの強調表示をクリアします:hi clear CursorLine:colorschemeおよびset background=の呼び出し後のみ。

    hi clear CursorLine
    augroup CLClear
        autocmd! ColorScheme * hi clear CursorLine
    augroup END
    
  2. CursorLineNRの強調表示を設定します(colorschemeで設定されていない場合)。

    hi CursorLineNR cterm=bold
    augroup CLNRSet
        autocmd! ColorScheme * hi CursorLineNR cterm=bold
    augroup END
    

    (colorschemeで既に設定されているかどうかを確認することをお勧めします。その場合、おそらくより見栄えが良くなります)。

もちろん、両方のオートコマンドに参加できます。

CursorLineNRはバージョン7.3.488を中心に比較的最近追加されました。

35
ZyX

これは私のために働いたものです:

highlight CursorLine cterm=NONE ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE
set cursorline

配色を設定した後、これを.vimrcで使用しています。もちろん、特定の背景色を設定することもできますが、すべてをNONEに設定すると、行番号が強調表示されます(つまり、明るくなります)。

:hi CursorLine cterm=NONEしかし、私はすべてを透明にすることを望んでいました(gvimが含まれています)。

CursorLineNRを使用して、強調表示された数値の前景色と背景色を設定することができました。

私にとってこれは自動コマンドなしで機能し、ほとんどの人が必要とするものなので、これを書いているだけです。

14
Alex Vanu

見たい

:se cursorline

そしておそらくさらに/また

:se cursorcolumn
14
sehe

これは私にとって、行の残りではなく行番号を強調するのに役立ちました:

highlight CursorLineNr cterm=NONE ctermbg=15 ctermfg=8 gui=NONE guibg=#ffffff guifg=#d70000

2
Simon Alford

highlight-groups のヘルプでは、排他的な「現在の行数」構文グループについて言及されていないため、公式の回答はno

役立つ場合は、行全体を強調表示する cursorline オプションを確認することをお勧めします。

0
sidyll