読者です 読者をやめる 読者になる 読者になる

ゆず日記

戦う Vimmer 兼 Dvorakユーザ 兼 Kinesisユーザ 兼 おぺらー が戦わないブログ

.vimrcファイルを分割する

Vim

自分の .vimrc は600行程なので用途ごとに .vimrc を分け、各ファイルをこんな感じで読み込んでいる。

$HOME/dotfiles/.vimrc

if filereadable(expand('$HOME/dotfiles/.vimrc.neobundle')) " ファイルが読み込み可能かチェック
  source $HOME/dotfiles/.vimrc.neobundle " .vimrcファイル読み込み

  if filereadable(expand('$HOME/dotfiles/.vimrc.plugin'))
    source $HOME/dotfiles/.vimrc.plugin
  endif
endif

if filereadable(expand('$HOME/dotfiles/.vimrc.filetype'))
  source $HOME/dotfiles/.vimrc.filetype
endif

if filereadable(expand('$HOME/dotfiles/.vimrc.office'))
  source $HOME/dotfiles/.vimrc.office
endif

ファイル毎の用途

.vimrc .vimrc本体
.vimrc.neobundle neobundle.vimで読み込むplugin記述ファイル
.vimrc.plugin .vimrc.neobundleで読み込むplugin用設定記述ファイル
.vimrc.filetype filetypeごとの設定記述ファイル
.vimrc.office 仕事のみで使う設定記述ファイル

仕事場用の .vimrc.office は yuzuemon/dotfiles · GitHub に入れてないのが、存在チェックしているので読み込まれずエラーが出ることもない。

ただ github の dotfiles を眺めているとあまり見かけないやり方なので、他にもっといい管理方法があるのかも。

追記(2013/11/17 2:11)

ワイルドカードで自動読み込みできるとのアドバイスをいただきました。


さっそく反映。分割ファイルを conf.d ディレクトリにぶっ込み、以下2行で分割ファイルを読み込めるようになりました。

set rtp+=$HOME/dotfiles/.vim/
runtime! conf.d/*.vim

差分:
Comparing 551ee9f8b75cfb1228109625c4a396a5e1eb41dc...188879bf20455a57d4256c8d33a6ea488dd8b6a3 · yuzuemon/dotfiles · GitHub