vim - Gvim在使用以下命令时更改Pmenu颜色:源命令

  显示原文与译文双语对照的内容

我已经安装了Taglist和clang_complete插件。 当启动gvim并手动打开文件时,自动补全的颜色将按照我的. vimrc ( 只有最后两行是我在说- 发布整个文件,以防错误是由别的事件引起的。) 中的定义正确设置:


syntax on
colorscheme slate
set number"start with line numbering enabled.
set tabstop=4
set shiftwidth=4
set autoindent
set guifont=Monospace 11
set showcmd
nnoremap <expr> gp '`['. strpart(getregtype(), 0, 1). '`]'
filetype plugin indent on
filetype plugin on
map <C-n> :NERDTreeToggle<CR>
highlight Pmenu ctermbg=Gray ctermfg=White
highlight PmenuSel ctermbg=Black ctermfg=White
let Tlist_Inc_Winwidth = 0
let Tlist_Use_Right_Window = 1
autocmd vimenter,BufNewFile,BufReadPost,FileReadPost *.cpp,*.c,*.objc,*.ch,*.objcpp Tlist
let g:lua_complete_omni = 1
highlight Pmenu guibg=gray10 guifg=LightSteelBlue4
highlight PmenuSel guibg=gray10 guifg=LightSteelBlue1

然后我使用 :mksession ~/.server.vim 进行会话

当我运行:gvim -S ~/.server.vim的颜色回到原来的粉红色,这真的不适合我的颜色方案。

如何保持clang_complete弹出窗口的颜色,如在。中定义的?

时间: 作者:

由于会话是在 ~/.vimrc 之后来源的,它可能会覆盖你的特殊 highlightings 。 通常,这些需要在 colorscheme 更改后应用。 在你的~/.vimrc 中使用以下函数:


function! s:SetHighlightings()
 highlight Pmenu ctermbg=Gray ctermfg=White
 highlight PmenuSel ctermbg=Black ctermfg=White
 highlight Pmenu guibg=gray10 guifg=LightSteelBlue4
 highlight PmenuSel guibg=gray10 guifg=LightSteelBlue1
endfunction
call s:SetHighlightings()
autocmd ColorScheme * call <SID>SetHighlightings()

如果仍然无法解决这里问题,请将触发器更改为 :autocmd ColorScheme,SessionLoadPost.. .

作者:
...