#行番号のハイライト
vimの行番号は、どうも仕様上、カーソルラインを有効しないとハイライトされないようです。
cursorlineの有効化
set cursorline
常にカーソルラインを表示するのが好きでないならば、cursorlineの色を付けないように設定します。
cursorlineの色をクリア
set cursorline
hi clear CursorLine
これで常に編集行の行番号のみがハイライトされるようになりました。
#auto-cursorlineを改造
自分は加えてthincaさんの設定例をお借りして、しばらく手をはなしたり、
バッファを移動したりした際にcursorlineを表示するようにしています。
'cursorline' を必要な時にだけ有効にする / 永遠に未完成
参考にした設定そのままですと、行番号のみのハイライトはされませんので、初項の設定を入れた修正をします。
##設定例
vimrc
" 初期状態はcursorlineを表示しない
" 以下の一行は必ずcolorschemeの設定後に追加すること
hi clear CursorLine
" 'cursorline' を必要な時にだけ有効にする
" http://d.hatena.ne.jp/thinca/20090530/1243615055
" を少し改造、number の highlight は常に有効にする
augroup vimrc-auto-cursorline
autocmd!
autocmd CursorMoved,CursorMovedI * call s:auto_cursorline('CursorMoved')
autocmd CursorHold,CursorHoldI * call s:auto_cursorline('CursorHold')
autocmd WinEnter * call s:auto_cursorline('WinEnter')
autocmd WinLeave * call s:auto_cursorline('WinLeave')
setlocal cursorline
hi clear CursorLine
let s:cursorline_lock = 0
function! s:auto_cursorline(event)
if a:event ==# 'WinEnter'
setlocal cursorline
hi CursorLine term=underline cterm=underline guibg=Grey90 " ADD
let s:cursorline_lock = 2
elseif a:event ==# 'WinLeave'
setlocal nocursorline
hi clear CursorLine " ADD
elseif a:event ==# 'CursorMoved'
if s:cursorline_lock
if 1 < s:cursorline_lock
let s:cursorline_lock = 1
else
" setlocal nocursorline
hi clear CursorLine " ADD
let s:cursorline_lock = 0
endif
endif
elseif a:event ==# 'CursorHold'
" setlocal cursorline
hi CursorLine term=underline cterm=underline guibg=Grey90 " ADD
let s:cursorline_lock = 1
endif
endfunction
augroup END
##設定内容
追加した部分には " ADD
と行末コメントしています。
追加設定
hi CursorLine term=underline cterm=underline guibg=Grey90
追加した上記の設定は、defaultのカラースキーム用ですので、お使いの設定によっては異なる場合があります。
:highlight
で設定値を確認して下さい
初期状態の設定
hi clear CursorLine
上記の設定はお使いのcolorschemeの設定後に追加するようにしてください(上書きされるため)
#行番号のハイライト設定
編集行の行番号のハイライト色は CursorLineNr
で設定できます
設定例
hi CursorLineNr term=bold cterm=NONE ctermfg=228 ctermbg=NONE