我正在使用rainbow_parentheses插件,我希望它能在VIM启动时启动。目前,在启动时,没有任何变化;启动后手动调用Load_Rainbow时,它可以正常工作。
相关的vimrc部分如下:
" Rainbow Parentheses options {
function! Config_Rainbow()
call rainbow_parentheses#load(0)
call rainbow_parentheses#load(1)
call rainbow_parentheses#load(2)
endfunction
function! Load_Rainbow()
call rainbow_parentheses#activate()
endfunction
augroup TastetheRainbow
autocmd!
autocmd Syntax * call Config_Rainbow()
autocmd VimEnter * call Load_Rainbow()
augroup END
" }
答案 0 :(得分:0)
正如上面的FDinoff检查的那样,这个问题似乎是特定于平台的:Win 64bit,使用来自here和here的二进制文件进行测试。在32位gVim中测试这些设置时确认了这一点。我仍然不确定确切的根本原因,但是我发现了一个解决方法。我认为问题是Syntax和VimEnter autocmd事件的排序,因此解决方案是在语法事件期间设置VimEnter autocmd。
的vimrc:
" Rainbow Parentheses options {
function! Config_Rainbow()
call rainbow_parentheses#load(0) " Load Round brackets
call rainbow_parentheses#load(1) " Load Square brackets
call rainbow_parentheses#load(2) " Load Braces
autocmd! TastetheRainbow VimEnter * call Load_Rainbow() " 64bit Hack - Set VimEnter after syntax load
endfunction
function! Load_Rainbow()
call rainbow_parentheses#activate()
endfunction
augroup TastetheRainbow
autocmd!
autocmd Syntax * call Config_Rainbow() " Load rainbow_parentheses on syntax load
autocmd VimEnter * call Load_Rainbow()
augroup END
" rainbow_parentheses toggle
nnoremap <silent> <Leader>t :call rainbow_parentheses#toggle()<CR>
" }