Есть ли способ выделить только текущий номер строки (в левой колонке) в vim, не выделяя фон текущей строки? В идеале, мне бы хотелось сделать текущий номер строки жирным.
Выделение текущего номера строки в vim
Ответ 1
Есть две группы, которые определяют выделение строки, отображаемой при активной опции &cursorline
: CursorLine
и CursorLineNR
. Сначала используется для выделения всей строки, вторая для номера строки. Чтобы достичь желаемого, вы должны
-
Снимите выделение
CursorLine
: простоhi clear CursorLine
после любых вызовов:colorscheme
иset background=
.hi clear CursorLine augroup CLClear autocmd! ColorScheme * hi clear CursorLine augroup END
-
Установите подсветку
CursorLineNR
, если она не установлена в вашей цветовой схеме:hi CursorLineNR cterm=bold augroup CLNRSet autocmd! ColorScheme * hi CursorLineNR cterm=bold augroup END
(лучше проверить, уже ли он установлен в цветовой схеме, возможно, в этом случае он будет выглядеть лучше).
Вы можете присоединиться к обоим автокомандам в одном из них.
CursorLineNR
был добавлен относительно недавно вокруг версии 7.3.488
.
Ответ 2
Вы хотите посмотреть
:se cursorline
и, возможно, даже/также
:se cursorcolumn
Ответ 3
Это то, что сработало для меня:
highlight CursorLine cterm=NONE ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE
set cursorline
Я просто использую это в своем .vimrc после установки цветовой схемы. Конечно, вы также можете установить определенный цвет фона, но при установке всех из них NONE просто выделяет номер строки (т.е. Делает ее ярче).
Я думаю, вы могли бы просто использовать :hi CursorLine cterm=NONE
, но я просто хотел убедиться, что я делаю все прозрачным (включен gvim).
С CursorLineNR
я смог установить цвета переднего плана и фона выделенного номера.
Я только пишу это, потому что для меня это работало без каких-либо автокоманд, и это может быть то, что требуется большинству людей.
Ответ 4
В помощи highlight-groups не упоминается эксклюзивная группа синтаксиса "номер текущей строки", поэтому официальный ответ может быть нет.
Вы можете посмотреть в опции cursorline, которая выделяет всю строку, если это помогает.
Ответ 5
Это помогло мне выделить номер строки, а не остальную часть строки:
highlight CursorLineNr cterm=NONE ctermbg=15 ctermfg=8 gui=NONE guibg=#ffffff guifg=#d70000