Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

vim colorscheme指定時のkien/rainbow_parentheses.vimの起動時有効化について

$
0
0

課題

.vimrc内にcolorschemeを指定した時に、以下の設定では起動時にrainbow_parenthesesが有効にならない。

colorscheme koehler
auVimEnter * RainbowParenthesesToggle " VimEnterはvimの起動時に該当のコマンドを実行する

※colorschemeを指定していない時に、期待通りにvim起動時にpluginが有効化さていることは確認済み

環境

> cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.10
DISTRIB_CODENAME=wily
DISTRIB_DESCRIPTION="Ubuntu 15.10"
> arch
x86_64
> vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 21 2015 13:03:49)
※+autocmd
(以下割愛)

調査

以下のことは確認した。
1.カラースキームを変更してみる(指定しているカラースキームに依存するかどうか)。
結果:どのカラースキームでもダメ。

2..vimrc内にのcolorscheme指定無しでvimを起動(rainbow_parenthesesは有効化される)。その後、:colorschemeコマンドでカラースキームを指定。
結果:レインボーになっていた括弧達が真っ白に。。。

3..vimrac内にcolorscheme指定有りで、冒頭のauコマンド無しで起動。その後、:RainbowParenthesesToggleコマンドでrainbow_parenthesesを有効化。
結果:真っ白だった括弧たちが虹色に!!!

以上のことから、VimEnterのタイミングでToggleした設定が、.vimrcの:colorschemeコマンドで上書かれるているのでは無いかと考え、.vimrc内に以下のように設定してみた。すると期待通りに、起動時にrainbow_parenthesesが有効化された。
※この仮説はおそらく間違い。。。

colorscheme koehler
auColorScheme * RainbowParenthesesToggle " ColorSchemeはvカラースキームを読み込んだ後に該当のコマンドを実行する

でも。。。

そもそも、VimEnterは、.vimrcを読み終わり、中のコマンドを全て実行した後のタイミングのことのはず。
http://vim-jp.org/vimdoc-ja/starting.html
http://vim-jp.org/vimdoc-ja/autocmd.html#VimEnter

なので、上記仮設「VimEnter時のコマンドをの設定を、.vimrcの:colorschemeが上書きする」というのは間違っていると思われる。。。
結局、本当の原因には辿りつけていないので、もし同じ現象に出くわした方、解決方法を他にもご存知の方がいらっしゃたら、ぜひ、この投稿にコメント頂ければと思います。


Viewing all articles
Browse latest Browse all 5608

Trending Articles