Как изменить строку выделения Vim, чтобы она не была подчеркиванием?



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



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



мой .vimrc:



set cursorline
highlight Cursorline cterm=bold


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



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

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

    Ничего не найдено.