About Digital

i wanna be a bot...

vimを使いやすくする

Posted in  Tech | Comments

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については以前書いたとおり

ともかく、詳しい設定の内容は割愛するけど、NeoBundleUniteLightlineQuickrunとか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のほうが美しい


  1. if_luaが大事らしい

Comments