BetterRainbowParenthesesで色付けされた括弧の色を変更したい。
色は次のように指定されます。
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
ソラリゼーションを使用しているので、特定の16進色が必要なので、次のようになります。
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 'hi default level4c ctermfg=orange guifg=#cb4b16'
連結しても機能します。
:let foo = '#cb4b16
:exe 'hi default level4c ctermfg=orange guifg='.foo
何が悪いのでしょうか?!