.vimrcとかgithubで管理したかったけどつまづいてたことにやっと気づいた話
.vimはaddじゃだめなのよ
前の記事でドヤ顔しながら書いていたわけですが、別環境でcloneしたものだと全くvimが動いてくれなかったので解決メモ。
neobundleでプラグインを管理している場合
前githubで管理しようとしていたのは以下のものたち
・.vim
・bundle
・.vimrc
・.gvimrc
で、この子達をgit add
とかgit commit
とかドヤ顔でやっていたのですが、プラグイン関連はこれじゃだめっぽいと。
プラグインの管理についての方針と方法
vimのプラグインは神がかっているneobundleで行うため、他の環境にまるっとコピーする必要はありません。
必要なのは管理している親玉(neobundle)だけということで、ローカルリポジトリで以下。
#neobundle以外のプラグインは無視してね $ vim .gitignore ... /.vim/bundle/ $ git add .gitignore $ git commit -m "ignore_list" $ git push origin master
からの
$ git submodule add https://github.com/Shougo/neobundle.vim .vim/bundle/neobundle.vim $ git commit -m 'add_neobundle' $ git push origin master
このgit submodeule
というのが必要で、外部のリポジトリを自身のリポジトリのサブディレクトリ的に登録する、みたいな意味合いだそうです。
実行後にローカルでls -la
とか叩くと、.gitmodules
ができていることがわかります。
別環境にcloneする
別環境では、まずは任意のディレクトリにclone
します。
ローカルにリポジトリを持ってこられたことを確認し、ディレクトリに移動してから以下。
$ git submodule init $ git submodule update
これでneobundle
が持ってこられるので、:NeoBundleInstall
なりしてあげましょう。 *1
残困った
vimshellを導入した時に、make
を手動で実行したため、現状の.vimrcでは別環境にコピるたびにmake
しないといけない状態です。
.vimrcに環境によって〜的な書き方があったはずなので、修正したいなあと思います。
*1:ここまでで大いなる勘違いをしている場合はご指摘いただけると嬉しいです。