basyura's blog

あしたになったらほんきだす。

vimrc を分割

colorscheme を wombat から newspaper に変えて 1 年ちょい経過。飽きてきたので新しい colorscheme をと思って探したのだけどコレといったものが無いので再度 wombat に戻ることにした。
colorscheme を変えるのはコマンド一発なのだけど、plugin で定義されてる色とか wombat そのままじゃなくて一部変えたいとかあるので直し始める。g:colors_name を if 文で判断して colorscheme 個別の設定を上書きしていたのだけど、if 文構造がものすごく読みづらいので colorscheme ごとに定義を分割しはじめる。現在の colorscheme によって読み込む定義ファイルを切り替えることで vimrc をスッキリさせることに成功。ついでに plugin ごとの設定や、platform ごとに固有に書いていたものも気になって分割し始める。

分割しまくった結果。

.vim
 └ rc
    ├── gvimrc
    ├── highlight
    │   ├── newspaper.vim
    │   ├── solarized.vim
    │   └── wombat.vim
    ├── plugin
    │   ├── autogroup.rc.vim
    │   ├── highlight.rc.vim
    │   ├── kwbd.rc.vim
    │   ├── misc_command.rc.vim
    │   ├── neocomplete.rc.vim
    │   ├── neosnippet.rc.vim
    │   ├── openbrowser.rc.vim
    │   ├── quickrun.rc.vim
    │   ├── rmine.rc.vim
    │   ├── setting.rc.vim
    │   ├── tweetvim.rc.vim
    │   ├── unite.rc.vim
    │   ├── vimfiler.rc.vim
    │   └── vimproc.rc.vim
    ├── starting
    │   ├── mac.vim
    │   ├── unix.vim
    │   └── win32.vim
    └── vimrc

プラグインごとの設定読み込み

for rc in glob('~/.vim/rc/plugin/*', 1, 1)
  execute "source " . rc
endfor

platform ごとの設定読み込み

if has('vim_starting')
  for platform in ['win32', 'mac', 'unix']
    if has(platform)
      execute 'source ~/.vim/rc/starting/' . platform . '.vim'
      break
    endif
  endfor
endif

colorscheme ごとの highlight 設定読み込み

execute 'source ~/.vim/rc/highlight/' . g:colors_name . '.vim'


:Scouter ... ピピピピ ... 戦闘力 200 か、ゴミめ。