Подсветка номера текущей строки в vim - PullRequest
33 голосов
/ 23 ноября 2011

Есть ли способ выделить только номер текущей строки (в левой колонке) в vim, не выделяя фон текущей строки?В идеале я хотел бы сделать номер текущей строки жирным шрифтом .

Ответы [ 5 ]

32 голосов
/ 07 ноября 2012

Существуют две группы, которые определяют выделение строки, отображаемой при активной опции &cursorline: CursorLine и CursorLineNR. Первый используется для выделения всей строки, второй - для номера строки. Чтобы достичь желаемого, вы должны

  1. Очистить выделение CursorLine: просто hi clear CursorLine после любых :colorscheme и set background= вызовов .

    hi clear CursorLine
    augroup CLClear
        autocmd! ColorScheme * hi clear CursorLine
    augroup END
    
  2. Установите выделение CursorLineNR, если оно не установлено в вашей цветовой схеме:

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

    (лучше проверить, установлен ли он уже в схеме цветов, возможно, в этом случае он будет выглядеть лучше).

Вы можете объединить обе автокоманды в одну, конечно.

CursorLineNR был добавлен относительно недавно в версии 7.3.488.

14 голосов
/ 23 ноября 2011

Вы хотите посмотреть на

:se cursorline

и, возможно, даже / также

:se cursorcolumn
10 голосов
/ 05 октября 2014

Вот что у меня сработало:

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

Я просто использую это в моем .vimrc после установки цветовой схемы.Конечно, вы могли бы также установить определенный цвет фона, но установка всех их на NONE просто выделяет номер строки (то есть делает его ярче).

Я думаю, вы могли бы просто использовать :hi CursorLine cterm=NONE, но я просто хотел сделатьуверен, что я делаю все прозрачным (включая gvim).

С помощью CursorLineNR я смог установить цвет переднего плана и фона для выделенного числа.

Я только пишу этопотому что для меня это работало без каких-либо автокоманд, и это может быть тем, что требуется большинству людей.

1 голос
/ 13 июня 2019

Это помогло мне выделить номер строки, а не остальную часть строки:

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

0 голосов
/ 23 ноября 2011

В справке для highlight-groups не упоминается исключительная группа синтаксиса "номер текущей строки", поэтому официальный ответ может быть нет .

ВыВозможно, стоит взглянуть на параметр курсорная линия , который выделяет всю строку, если это помогает.

...