Vim Настроить раскраску номеров строк

94

Я ищу способ настроить цвет, используемый для нумерации строк (как :set nuв:) в Vim. Значение по умолчанию на большинстве платформ кажется желтым (что также используется для некоторых выделенных токенов). Я хочу покрасить номера строк в тускло-серый цвет; где-то в районе #555. Я не привередлив, любой приглушенный цвет будет приемлемым.

Даниэль Спивак
источник
Если вы хотите сохранить постоянное предпочтение цветовой схемы фона для постоянного в vim, и если вы также хотите установить для него нумерацию, то это так просто, перейдите по приведенной ниже ссылке и выполните шаги, которые так легко сделать . jigarpra.blogspot.com/2020/03/…
Jgs pra

Ответы:

143

Пытаться:

help hl-LineNr

Я нашел это через:

help 'number'

это способ получить справку по 'number'опции, а не по :numberкоманде.

Чтобы фактически изменить отображаемый цвет:

:highlight LineNr ctermfg=grey

Это изменит цвет переднего плана для LineNr на символьном терминале на серый. Если вы используете gVim, вы можете:

:highlight LineNr guifg=#050505
Грег Хьюгилл
источник
1
У вас есть ссылка на доступные названия цветов и / или цветовые форматы, которые поддерживает эта команда?
devios1
3
Спасибо, у меня это сработало. Добавление «установить номер» и «выделить LineNr ctermfg = gray» на отдельных строках в конце моего файла ~ / .vimrc в Ubuntu 12.04 позволило включить номера серых строк каждый раз, когда я открываю файл с помощью vim
Джеймс Николсон
2
7 лет спустя кажется, что gVim может обрабатывать «серый», но не может обрабатывать числовой формат, который вы описываете. : highlight LineNr guifg = grey у меня сработало.
horta
2
Как изменить настройки выделения для активных LineNr? UPD: ОтветCursorLineNr
Herrgott
1
Спасибо за ответ. У :highlight LineNr ctermfg=greyменя команда работает, но добавление highlight LineNr ctermfg=greyв ~/.vimrcфайл ничего не меняет. Есть у кого-нибудь идея?
ecjb
35

Чтобы навсегда изменить номера строк, добавьте в свой .vimrc

highlight LineNr term=bold cterm=NONE ctermfg=DarkGrey ctermbg=NONE gui=NONE guifg=DarkGrey guibg=NONE

Конечно, вы можете изменить цвет ctermfgи guifgна любой желаемый цвет.

касималбакалы
источник
1
Чтобы принятый ответ работал в моем .vimrc, мне пришлось последовать вашему совету и добавить его внизу. Вы можете объяснить, почему он должен быть внизу?
hidden-username
@mikeyprog Я действительно не знаю почему, поскольку я нашел ответ в Интернете, но я думаю, что он отменяет настройки по умолчанию. Поскольку он будет читать настройки сверху вниз.
qasimalbaqali
Я понял. На самом деле он устанавливается в команде colorscheme, поэтому вам придется вспомнить его после обновления вашей цветовой схемы.
hidden-username
1
Просто столкнулся с той же проблемой, что и @ hidden-username - и понял, что это потому, что я установил темы, цвета и т. Д. В середине моего файла vimrc. Итак ... имея это наверху, это было отменено. Заменено. Отменить?
dwanderson
В моем опыте, highlightзаявление должно прийти после того, как syntax onи в colorschemeпротивном случае это перезаписаны значениями по умолчанию подсветки синтаксиса.
Фенил
13

В MacVim (с ядром Vim 7.3) я обнаружил, CursorLineNrчто работают:

hi CursorLineNr guifg=#050505

Рошамбо
источник
2
Это устанавливает только номер текущей строки: очень полезно, но, вероятно, не то, что требовалось. Это спросили на: stackoverflow.com/questions/8247243/…
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
3

Мне не понравились цвета выбранной цветовой схемы, поэтому я изменил цвет номеров строк следующим образом:

colorscheme trivial256    " for light background
hi LineNr       term=bold cterm=bold ctermfg=2 guifg=Grey guibg=Grey90
Джабба
источник