[英]Colorschemes not working in gvim despite working in Vim in the terminal
我遇到以下問題:256色colorchemes在Gvim中不起作用,但在終端上的Vim中可以正常工作。
我的Ubuntu計算機和Mac OSX計算機上均發生此問題。 從我所讀的內容來看,這個問題與大多數人遇到的情況相反:通常GVim可以處理任何顏色方案,而人們卻在終端上運行Vim時遇到顏色方案問題。
我有以下.vimrc(我沒有任何內容的.gvimrc):
" For Pathogen
execute pathogen#infect()
colorscheme 256-grayvim
set shiftwidth=3
set tabstop=3
set expandtab
set ruler
set nu
syntax on
set nowrap
當我在終端中打開Vim時,256-grayvim可以正常工作。 當我打開Gvim時,加載了256-grayvim(鍵入:colorscheme
返回256-grayvim),但是顏色是完全錯誤的-它們是默認的白色背景和黑色文本。 此外,如果我輸入:colorscheme 256-grayvim
,或通過GVim的“編輯”菜單選擇:colorscheme 256-grayvim
,則:colorscheme 256-grayvim
方案沒有任何變化。
256-grayvim沒有定義gui顏色,它僅定義了終端顏色。
當您查看256-grayvim.vim時可以看到此內容
hi Normal ctermfg=253 ctermbg=235 cterm=None
突出顯示的cterm*
參數僅影響端子顏色。 要設置gui顏色,您需要使用gui*
參數。
因此,更改它們可能會起作用。
ctermfg -> guifg
ctermbg -> guibg
cterm -> gui
但是您可能需要找到與gui顏色相同的顏色,因為它們不接受256色
編輯:這是一個函數,它將嘗試將所有cterm事物轉換為其gui等效項。 (由於MacVim抱怨不喜歡None,它將把None替換為NONE)。 前64行定義了一個查找表,該查找表將256種顏色與其十六進制顏色相匹配。
function! Convert_256()
let ct = {
\ '00' : '000000', '01' : '800000', '02' : '008000', '03' : '808000',
\ '04' : '000080', '05' : '800080', '06' : '008080', '07' : 'c0c0c0',
\ '08' : '808080', '09' : 'ff0000', '10' : '00ff00', '11' : 'ffff00',
\ '12' : '0000ff', '13' : 'ff00ff', '14' : '00ffff', '15' : 'ffffff',
\ '16' : '000000', '17' : '00005f', '18' : '000087', '19' : '0000af',
\ '20' : '0000d7', '21' : '0000ff', '22' : '005f00', '23' : '005f5f',
\ '24' : '005f87', '25' : '005faf', '26' : '005fd7', '27' : '005fff',
\ '28' : '008700', '29' : '00875f', '30' : '008787', '31' : '0087af',
\ '32' : '0087d7', '33' : '0087ff', '34' : '00af00', '35' : '00af5f',
\ '36' : '00af87', '37' : '00afaf', '38' : '00afd7', '39' : '00afff',
\ '40' : '00d700', '41' : '00d75f', '42' : '00d787', '43' : '00d7af',
\ '44' : '00d7d7', '45' : '00d7ff', '46' : '00ff00', '47' : '00ff5f',
\ '48' : '00ff87', '49' : '00ffaf', '50' : '00ffd7', '51' : '00ffff',
\ '52' : '5f0000', '53' : '5f005f', '54' : '5f0087', '55' : '5f00af',
\ '56' : '5f00d7', '57' : '5f00ff', '58' : '5f5f00', '59' : '5f5f5f',
\ '60' : '5f5f87', '61' : '5f5faf', '62' : '5f5fd7', '63' : '5f5fff',
\ '64' : '5f8700', '65' : '5f875f', '66' : '5f8787', '67' : '5f87af',
\ '68' : '5f87d7', '69' : '5f87ff', '70' : '5faf00', '71' : '5faf5f',
\ '72' : '5faf87', '73' : '5fafaf', '74' : '5fafd7', '75' : '5fafff',
\ '76' : '5fd700', '77' : '5fd75f', '78' : '5fd787', '79' : '5fd7af',
\ '80' : '5fd7d7', '81' : '5fd7ff', '82' : '5fff00', '83' : '5fff5f',
\ '84' : '5fff87', '85' : '5fffaf', '86' : '5fffd7', '87' : '5fffff',
\ '88' : '870000', '89' : '87005f', '90' : '870087', '91' : '8700af',
\ '92' : '8700d7', '93' : '8700ff', '94' : '875f00', '95' : '875f5f',
\ '96' : '875f87', '97' : '875faf', '98' : '875fd7', '99' : '875fff',
\ '100' : '878700', '101' : '87875f', '102' : '878787', '103' : '8787af',
\ '104' : '8787d7', '105' : '8787ff', '106' : '87af00', '107' : '87af5f',
\ '108' : '87af87', '109' : '87afaf', '110' : '87afd7', '111' : '87afff',
\ '112' : '87d700', '113' : '87d75f', '114' : '87d787', '115' : '87d7af',
\ '116' : '87d7d7', '117' : '87d7ff', '118' : '87ff00', '119' : '87ff5f',
\ '120' : '87ff87', '121' : '87ffaf', '122' : '87ffd7', '123' : '87ffff',
\ '124' : 'af0000', '125' : 'af005f', '126' : 'af0087', '127' : 'af00af',
\ '128' : 'af00d7', '129' : 'af00ff', '130' : 'af5f00', '131' : 'af5f5f',
\ '132' : 'af5f87', '133' : 'af5faf', '134' : 'af5fd7', '135' : 'af5fff',
\ '136' : 'af8700', '137' : 'af875f', '138' : 'af8787', '139' : 'af87af',
\ '140' : 'af87d7', '141' : 'af87ff', '142' : 'afaf00', '143' : 'afaf5f',
\ '144' : 'afaf87', '145' : 'afafaf', '146' : 'afafd7', '147' : 'afafff',
\ '148' : 'afd700', '149' : 'afd75f', '150' : 'afd787', '151' : 'afd7af',
\ '152' : 'afd7d7', '153' : 'afd7ff', '154' : 'afff00', '155' : 'afff5f',
\ '156' : 'afff87', '157' : 'afffaf', '158' : 'afffd7', '159' : 'afffff',
\ '160' : 'd70000', '161' : 'd7005f', '162' : 'd70087', '163' : 'd700af',
\ '164' : 'd700d7', '165' : 'd700ff', '166' : 'd75f00', '167' : 'd75f5f',
\ '168' : 'd75f87', '169' : 'd75faf', '170' : 'd75fd7', '171' : 'd75fff',
\ '172' : 'd78700', '173' : 'd7875f', '174' : 'd78787', '175' : 'd787af',
\ '176' : 'd787d7', '177' : 'd787ff', '178' : 'd7af00', '179' : 'd7af5f',
\ '180' : 'd7af87', '181' : 'd7afaf', '182' : 'd7afd7', '183' : 'd7afff',
\ '184' : 'd7d700', '185' : 'd7d75f', '186' : 'd7d787', '187' : 'd7d7af',
\ '188' : 'd7d7d7', '189' : 'd7d7ff', '190' : 'd7ff00', '191' : 'd7ff5f',
\ '192' : 'd7ff87', '193' : 'd7ffaf', '194' : 'd7ffd7', '195' : 'd7ffff',
\ '196' : 'ff0000', '197' : 'ff005f', '198' : 'ff0087', '199' : 'ff00af',
\ '200' : 'ff00d7', '201' : 'ff00ff', '202' : 'ff5f00', '203' : 'ff5f5f',
\ '204' : 'ff5f87', '205' : 'ff5faf', '206' : 'ff5fd7', '207' : 'ff5fff',
\ '208' : 'ff8700', '209' : 'ff875f', '210' : 'ff8787', '211' : 'ff87af',
\ '212' : 'ff87d7', '213' : 'ff87ff', '214' : 'ffaf00', '215' : 'ffaf5f',
\ '216' : 'ffaf87', '217' : 'ffafaf', '218' : 'ffafd7', '219' : 'ffafff',
\ '220' : 'ffd700', '221' : 'ffd75f', '222' : 'ffd787', '223' : 'ffd7af',
\ '224' : 'ffd7d7', '225' : 'ffd7ff', '226' : 'ffff00', '227' : 'ffff5f',
\ '228' : 'ffff87', '229' : 'ffffaf', '230' : 'ffffd7', '231' : 'ffffff',
\ '232' : '080808', '233' : '121212', '234' : '1c1c1c', '235' : '262626',
\ '236' : '303030', '237' : '3a3a3a', '238' : '444444', '239' : '4e4e4e',
\ '240' : '585858', '241' : '626262', '242' : '6c6c6c', '243' : '767676',
\ '244' : '808080', '245' : '8a8a8a', '246' : '949494', '247' : '9e9e9e',
\ '248' : 'a8a8a8', '249' : 'b2b2b2', '250' : 'bcbcbc', '251' : 'c6c6c6',
\ '252' : 'd0d0d0', '253' : 'dadada', '254' : 'e4e4e4', '255' : 'eeeeee',
\}
%s/cterm\(\w\+\)=\([A-Za-z]\+\)/\=submatch(0) . ' gui' . submatch(1) . '=' . submatch(2)/g
%s/cterm\(\w\+\)=\(\d\+\)/\=submatch(0) . ' gui' . submatch(1) . '=#' . ct[submatch(2)]/g
%s/cterm=\(\w\+\)/\=submatch(0) . ' gui' . '=' . submatch(1)/g
%s/None/NONE/g
endfunction
當它在256-grayvim上運行時,將產生此結果。
" Vim color file
" Maintainer: Piotr Husiatyński <phusiatynski@gmail.com>
set background=dark
set t_Co=256
let g:colors_name="256-grayvim"
let python_highlight_all = 1
let c_gnu = 1
hi Normal ctermfg=253 guifg=#dadada ctermbg=235 guibg=#262626 cterm=NONE gui=NONE
hi Cursor ctermfg=Red guifg=Red ctermbg=NONE guibg=NONE cterm=NONE gui=NONE
hi SpecialKey ctermfg=87 guifg=#5fffff ctermbg=NONE guibg=NONE cterm=Bold gui=Bold
hi Directory ctermfg=76 guifg=#5fd700 ctermbg=NONE guibg=NONE cterm=NONE gui=NONE
hi ErrorMsg ctermfg=124 guifg=#af0000 ctermbg=White guibg=White cterm=NONE gui=NONE
hi PreProc ctermfg=246 guifg=#949494 ctermbg=NONE guibg=NONE cterm=Bold gui=Bold
hi Search ctermfg=160 guifg=#d70000 ctermbg=232 guibg=#080808 cterm=Bold gui=Bold
hi Type ctermfg=75 guifg=#5fafff ctermbg=NONE guibg=NONE cterm=Bold gui=Bold
hi Statement ctermfg=75 guifg=#5fafff ctermbg=NONE guibg=NONE cterm=NONE gui=NONE
hi Comment ctermfg=244 guifg=#808080 ctermbg=NONE guibg=NONE cterm=NONE gui=NONE
hi Identifier ctermfg=111 guifg=#87afff ctermbg=NONE guibg=NONE cterm=Bold gui=Bold
hi DiffText ctermfg=88 guifg=#870000 ctermbg=250 guibg=#bcbcbc cterm=NONE gui=NONE
hi Constant ctermfg=208 guifg=#ff8700 ctermbg=NONE guibg=NONE cterm=NONE gui=NONE
hi Todo ctermfg=233 guifg=#121212 ctermbg=118 guibg=#87ff00 cterm=Bold gui=Bold
hi Error ctermfg=233 guifg=#121212 ctermbg=124 guibg=#af0000 cterm=Bold gui=Bold
hi Special ctermfg=160 guifg=#d70000 ctermbg=NONE guibg=NONE cterm=Bold gui=Bold
hi Ignore ctermfg=220 guifg=#ffd700 ctermbg=NONE guibg=NONE cterm=Bold gui=Bold
hi Underline ctermfg=244 guifg=#808080 ctermbg=NONE guibg=NONE cterm=NONE gui=NONE
hi FoldColumn ctermfg=247 guifg=#9e9e9e ctermbg=NONE guibg=NONE cterm=Bold gui=Bold
hi StatusLineNC ctermfg=247 guifg=#9e9e9e ctermbg=234 guibg=#1c1c1c cterm=NONE gui=NONE
hi StatusLine ctermfg=247 guifg=#9e9e9e ctermbg=233 guibg=#121212 cterm=Bold gui=Bold
hi VertSplit ctermfg=247 guifg=#9e9e9e ctermbg=234 guibg=#1c1c1c cterm=Bold gui=Bold
hi LineNr ctermfg=238 guifg=#444444 ctermbg=244 guibg=#808080 cterm=Bold gui=Bold
hi LineNr ctermfg=247 guifg=#9e9e9e ctermbg=235 guibg=#262626 cterm=Bold gui=Bold
hi NonText ctermfg=87 guifg=#5fffff ctermbg=NONE guibg=NONE cterm=Bold gui=Bold
hi Pmenu ctermfg=White guifg=White ctermbg=DarkGray guibg=DarkGray cterm=NONE gui=NONE
hi PmenuSel ctermfg=NONE guifg=NONE ctermbg=Gray guibg=Gray cterm=Bold gui=Bold
hi PmenuSbar ctermfg=DarkGray guifg=DarkGray ctermbg=DarkGray guibg=DarkGray cterm=NONE gui=NONE
hi PmenuThumb ctermfg=Gray guifg=Gray ctermbg=Gray guibg=Gray cterm=NONE gui=NONE
"vim: sw=4
如果將256-grayvim替換為上面的256-grayvim,則它將在gvim和終端機中均可以使用。 (我不知道它看起來如何)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.