Как изменить строку выделения Vim, чтобы она не была подчеркиванием?
в некоторых colorschemes текущая линия подсветки изменяет фон,в других, как пустыня, текущая линия подчеркнута.
Я хочу изменить текущую линию подсветки в пустыне, чтобы использовать другой цвет фона вместо подчеркивания. Как я могу это сделать?
мой .vimrc:
set cursorline
highlight Cursorline cterm=bold
обновление: .vimrc это решает проблему
colorscheme desert
set cursorline
hi CursorLine term=bold cterm=bold guibg=Grey40
5 ответов:
color desert set cursorline hi CursorLine term=bold cterm=bold guibg=Grey40
desertваша схема.(должен прийти первым)
положите его в свой~/.vimrc
это работает лучше (в любом терминале) для меня.
: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
чтобы строка была похожа на ту, которую вы получаете в 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
Если вы хотите включить подчеркивание, используйте один из следующих вариантов:
:hi CursorLine cterm=underline :hi CursorLine gui=underlineв противном случае используйте один из них:
:hi CursorLine cterm=none :hi CursorLine gui=none
У меня была аналогичная проблема с выделением курсорной линии, но моя была вызвана командой mksession, которую я использовал для сохранения информации о сеансе во время выхода vim. Этот сеанс автоматически восстанавливается во время запуска программы, если он выполняется без каких-либо аргументов файла.
Если кто-то есть .настройка vimrc, как это, вы можете добавить следующее .vimrc для правильной установки курсорной линии выделите: -
function s:SetCursorLine() set cursorline hi cursorline cterm=none ctermbg=darkblue ctermfg=white endfunction autocmd VimEnter * call s:SetCursorLine()немного объяснения, почему это работает. Вместе с различная информация о буфере и окне, mksession сохраняет текущее имя colorscheme. Это восстанавливается во время запуска программы через восстановление сессии. Однако, поскольку восстановление сеанса обычно выполняется после .vimrc был запущен (обычно с помощью функции, вызываемой через " autocmd VimEnter*"), параметр выделения курсора .vimrc сбрасывается по умолчанию для восстановленной цветовой схемы.
вышеуказанная функция, вызванная через autocmd, будет запущена после всех инициализация завершена и поэтому успешно устанавливает выделение курсора.
HTH.
Comments