Как изменить линию выделения Vim, чтобы она не была подчеркиванием? - PullRequest
81 голосов
/ 27 декабря 2011

В некоторых цветовых схемах выделение текущей строки изменяет фон, в других, например, в пустыне, текущая строка подчеркивается.

Я хочу изменить выделение текущей строки в пустыне, чтобы использовать другой цвет фона вместо подчеркивания,Как я могу это сделать?

Мой .vimrc:

set cursorline
highlight Cursorline cterm=bold

Обновление: .vimrc, которое решает проблему

colorscheme desert
set cursorline
hi CursorLine term=bold cterm=bold guibg=Grey40

Ответы [ 5 ]

83 голосов
/ 27 декабря 2011
color desert
set cursorline
hi CursorLine term=bold cterm=bold guibg=Grey40

desert ваша цветовая схема. (Должна стоять первой)
положить его в свой ~/.vimrc

54 голосов
/ 23 января 2013

Это работает лучше (в каждом терминале) для меня.

:hi CursorLine   cterm=NONE ctermbg=darkred ctermfg=white

Это настройка цвета для терминала: цвет фона - ctermbg и цвет текста - ctermfg . Для использования в графическом окне добавьте параметры guibg=darkred guifg=white

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

:set cursorcolumn

Полезно включать и выключать подсветку нажатием одной клавиши в редакторе. Добавьте эти строки в ваш vimrc :

:nnoremap H :set cursorline! cursorcolumn!<CR>

ввод 'H' включит и выключит подсветку (если хотите, назначьте ее на другую клавишу)

Вы можете найти больше информации в статье: http://vim.wikia.com/wiki/Highlight_current_line

19 голосов
/ 21 апреля 2014

для строки, аналогичной той, которую вы получаете в gvim в терминале, сохраняя подсветку синтаксиса:

" first thing is entering vim mode, not plain vi
set nocompatible
" force 256 colors on the terminal
set t_Co=256
" load the color scheme before anything
colorscheme darkblue " or desert... or anything
" the syntax cmd is when the colorscheme gets parse, i think..
syntax on

" set the prefered colours, pick one line here only.
" dark grey, better you can get if you don't support 256 colours
hi CursorLine   cterm=NONE ctermbg=8 ctermfg=NONE
" light grey, no 256 colors
hi CursorLine   cterm=NONE ctermbg=7 ctermfg=NONE
" dark redish
hi CursorLine   cterm=NONE ctermbg=52 ctermfg=NONE
" dark bluish
hi CursorLine   cterm=NONE ctermbg=17 ctermfg=NONE
" very light grey
hi CursorLine   cterm=NONE ctermbg=254 ctermfg=NONE
" yelowish
hi CursorLine   cterm=NONE ctermbg=229 ctermfg=NONE
" almost black
hi CursorLine   cterm=NONE ctermbg=234 ctermfg=NONE
10 голосов
/ 12 февраля 2016

Если вы хотите включить подчеркивание, используйте одно из:

:hi CursorLine cterm=underline
:hi CursorLine gui=underline

В противном случае используйте одно из них:

:hi CursorLine cterm=none
:hi CursorLine gui=none
8 голосов
/ 05 августа 2014

У меня была похожая проблема с настройкой выделения курсора, но моя была из-за команды mksession, которую я использовал для сохранения информации о сеансе во время выхода из vim.Затем этот сеанс автоматически восстанавливается во время запуска программы, если он запускается без каких-либо файловых аргументов.

Если у кого-либо есть такая настройка .vimrc, вы можете добавить в .vimrc следующее, чтобы правильно установить подсветку курсора: -

function s:SetCursorLine()
    set cursorline
    hi cursorline cterm=none ctermbg=darkblue ctermfg=white
endfunction
autocmd VimEnter * call s:SetCursorLine()

Немного объяснения, почему это работает.Наряду с различной информацией о буфере и окне mksession сохраняет текущее имя цвета.Это восстанавливается во время запуска программы через восстановление сеанса.Однако, поскольку восстановление сеанса обычно выполняется после запуска .vimrc (обычно с использованием функции, вызываемой через 'autocmd VimEnter *'), параметр выделения курсора в .vimrc сбрасывается по умолчанию для восстановленной схемы цветов.

Вышеуказанная функция, вызываемая через autocmd, будет запущена после завершения всей инициализации и, следовательно, успешно установит выделение линии курсора.

HTH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...