我想更改用Better Rainbow Parentheses着色的括号的颜色。
颜色指定如下:
let g:rbpt_colorpairs = [
\ ['brown', 'RoyalBlue3'],
\ ['Darkblue', 'SeaGreen3'],
\ ['darkgray', 'DarkOrchid3'],
\ ['darkgreen', 'firebrick3'],
\ ['darkcyan', 'RoyalBlue3'],
\ ['darkred', 'SeaGreen3'],
\ ['darkmagenta', 'DarkOrchid3'],
…
\ ]
更改插件中颜色的功能如下:
func! rainbow_parentheses#toggle()
if !exists('s:active')
cal rainbow_parentheses#load(0)
endif
let afunc = exists('s:active') && s:active ? 'clear' : 'activate'
cal call('rainbow_parentheses#'.afunc, [])
endfunc
由于我使用的是Solarized,我想要特定的十六进制颜色,所以我得到了这个:
let g:rbpt_colorpairs = [
\ ['yellow', '#b58900'],
\ ['orange', '#cb4b16'],
\ ['red', '#dc322f'],
\ ['magenta', '#d33682'],
\ ['violet', '#6c71c4'],
\ ['blue', '#268bd2'],
\ ['cyan', '#2aa198'],
…
\ ]
然而,在重新启动并打开插件时,我多次出现此错误:
E421: Color name or number not recognized: cterm=orange guifg=#cb4b16
更好的是,手动执行exe:exe功能就像魅力一样,如:
:exe 'hi default level4c ctermfg=orange guifg=#cb4b16'
即使连接也有效:
:let foo = '#cb4b16
:exe 'hi default level4c ctermfg=orange guifg='.foo
可能有什么问题?!
答案 0 :(得分:10)
问题不在于GUI RGB颜色,而是在cterm=orange
定义中。
请参阅:help cterm-colors
了解已识别的值; orange
不是其中之一。
答案 1 :(得分:0)
function! Gfagivesorange()
colors morning
hi Spellbad term=standout cterm=bold ctermfg=Red ctermbg=White
hi Spellbad term=standout cterm=NONE ctermfg=Orange ctermbg=White
call Myhi()
endfunc
此功能将为您提供橙色(红色不是粗体)。这是一个NCURSES的事情,但人们并不掌握或了解NCURSES(不是很多信息学家)。