我遇到以下问题:256色colorschemes在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,那么colorscheme就没有变化。
答案 0 :(得分:6)
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等价物。 (它也将取代None到NONE,因为MacVim抱怨它不喜欢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-grevvim替换它,它应该在gvim和终端都有效。 (我不知道它看起来如何)