Vim 配色方案被插件覆蓋

Vim 配色方案被插件覆蓋

我正在嘗試為 Vdebug 設定一些更漂亮的突出顯示。

我看了一下來源,它說我需要定位 a DbgBreakptLine(我不知道它們叫什麼,但這是你放在後面的東西hi)。

但如果我輸入:

hi DbgBreakptLine ctermbg=NONE ctermfg=NONE

在我的 vim 配色方案中,它什麼也沒做。但是,將其貼到會話中可以達到預期的效果。我只能得出結論,Vdebug 正在以某種方式佔據優先地位,從而破壞了我選擇的風格。但如何呢?它是按照我的配色方案運行嗎?我不這麼認為,因為我的 .vimrc 做的第一件事就是加載病原體,然後選擇我的配色方案。

有鑑於此,我在互聯網上查找了插件覆蓋配置的任何解決方案,但我找不到任何有用的東西。

我的 .vimrc 的相關部分:

execute pathogen#infect()
call pathogen#helptags()

colorscheme maxbucknell

更新

我看了一下這個問題,我想看看:scrip,它顯示了何時加載哪些文件。果然,插件是在顏色之後載入的。理想情況下,我想要某種方式來自定義它,而不更改插件,或者做一些像將命令放入.vim/after.

答案1

您是否注意到該插件實際上定義了該突出顯示組的樣式?

hi default DbgBreakptLine term=reverse ctermfg=White ctermbg=Green guifg=#ffffff guibg=#00ff00

既然是有來源的你的~/.vimrc 您的顏色方案它將覆蓋任何具有相同名稱的規則。

不幸的是,這不是很乾淨,所以你基本上有三個可行的選擇:

  • 更改插件中的顏色,

  • 將這些行從外掛程式移至您的顏色方案並根據您的喜好進行編輯,

  • 將這些行新增到您的~/.vimrc

    augroup MyColors
        autocmd!
        autocmd ColorScheme * highlight DbgBreakptLine ctermbg=NONE ctermfg=NONE
    augroup END
    

使用該~/.vim/after/目錄根本不是一種黑客行為:它的記錄確實不足,但它通常比您的~/.vimrc.無論如何,我不確定它是否適合您的特定需求。你可以嘗試這個插件(從未嘗試過)但我不確定你想要的東西是否值得在你的設置中使用另一個插件。

編輯

事實證明你可以做到這一點,~/.vim/after/但該解決方案對我來說實際上看起來相當“hacky”,因為它混合了“插件”和“顏色方案”。不管怎樣,只需將這一行放入~/.vim/after/plugin/foo.vim(檔案名點之前的部分並不重要):

hi DbgBreakptLine ctermbg=NONE ctermfg=NONE

相關內容