Emacs派でEmacsは結構拡張してるけど、vimだってコマンドラインから結構手軽につかってる。なぜならEmacsは起動に時間がかかるし、CocoaEmacsに最適化した設定だからあまりターミナルから起動したくないから。もちろんそこらへんもいろいろ工夫はしてるけど、ほんとにさっくりファイルを弄りたいときなんかは結構vimで弄ったりする。
これまではtabの設定とか最低限の設定をした.vimrcを使ってたんだけど、せっかくだからvimももう少し便利にすることにした。まぁ何かに行き詰まったときにこういう設定をすると仕事してる気になって落ち着くっていう悪い癖なだけな気もする。
.vimrc
前回、最新のVim7.4のMacVim-Kaoriyaを入れたお陰1でどうやらいくつかのプラグインが強化されてるらしい。まぁ詳しい説明はQiitaなんかにまかせる。
まぁだらだら書くのもあれなので手っ取り早く.vimを晒そう
リポジトリ
今回我ながらポイントだと思うのが、READMEのとおりにセットアップすれば大体どの環境(unix系)でも動く汎用的な設定ができたところ。Emacsの設定はとてもじゃないけど、現状自分のMac以外に持ち出せないのでここは少しこだわってみた。
そしてそのセットアップもできる限り簡単に仕上げたつもり。基本的にはgit clone --recursive
して./setup.sh
するだけ。簡単。
$ git clone --recursive git://github.com/digitalbot/dot-vim.git
$ cd dot-vim
$ ./setup.sh
$ vim +NeoBundleInstall +q
READMEからの引用だけど、これで元のvimの挙動をそんなにいじらないけど細かいところで便利なvimができあがる。git cloneの--recursive
については以前書いたとおり。
ともかく、詳しい設定の内容は割愛するけど、NeoBundle
、Unite
、Lightline
、Quickrun
とかNeocomplete
を導入した。これ以上増やすとEmacsみたいになるので、ここらへんが必要最低限だと思う。ちなみに、if_lua
が効かない、つまり古めのvimでもそんときはNeocomplete
じゃなくNeocomplcache
を使うように条件分岐してるから、ほんとに大体の環境でこの.vimは動くはず。
おわりに
エディタの拡張は「どこまでやるか」のバランスがとてもむずかしいように思う。Emacsではやりすぎて重たくなってしまってるし(それでもこの記事もEmacsで書いてるけど)、できるだけ必要最低限でポータビリティがあるのがカッコイイと最近は思い始めた。あと、全然環境の違う赤の他人がgit clone
して試せるかどうかを考えてるってもの個人的には渋くてかっこいいと思う。
なお、Lightlineはコマンドラインからmvim
してGUIで動かすと変なwarnを出すのでGUIではオフにしている。そこら辺のことはまた別のエントリにしようかと思ってる。
あとvimは引数に+command
するとそのコマンドを起動時に実行してくれるらしく、これのお陰でvim +NeoBundleInstall +q
といった風にワンライナーでプラグインをインストールできるのが良いと思った。
でもvim scriptはちょっとよくわかんないとも思った。elispのほうが美しい
if_lua
が大事らしい ↩