Highlighting the current line number in vim
Is there a way to highlight only the current line number (in the left hand coloumn) in vim, without highlighting the background of the current line? Ideally, I would Like to make the current line number bold.
Solution 1:
There are two groups that determine highlighting of line displayed when &cursorline
option is active: CursorLine
and CursorLineNR
. First is used to highlight the whole line, second for the line number. So to achieve what you want you must
-
Clear the highlighting of
CursorLine
: justhi clear CursorLine
after any:colorscheme
andset background=
call.hi clear CursorLine augroup CLClear autocmd! ColorScheme * hi clear CursorLine augroup END
-
Set the highlighting of
CursorLineNR
if it is not set in your colorscheme:hi CursorLineNR cterm=bold augroup CLNRSet autocmd! ColorScheme * hi CursorLineNR cterm=bold augroup END
(better to check whether it is already set in the colorscheme, maybe it will look better in that case).
You can join both autocommands in one of course.
CursorLineNR
has been added relatively recently around version 7.3.488
.
Solution 2:
You want to look at
:se cursorline
and perhaps even/also
:se cursorcolumn
Solution 3:
This is what worked for me:
highlight CursorLine cterm=NONE ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE
set cursorline
I'm just using this in my .vimrc after having set the color scheme. Of course you could also set a specific background color but setting all of them to NONE just highlights the line number (i.e. makes it brighter).
I guess you could just use :hi CursorLine cterm=NONE
but I just wanted to make sure I'm making everything transparent (gvim included).
With CursorLineNR
I was then able to set the foreground and background colors of the highlighted number.
I'm only writing this because for me it worked without any autocommands and it may be what most people require.