10分でできる: Emacs使いにすすめるリッチなVIM環境構築(Case Study of @naoty_k)
本気出してコーディングするときはEmacs、ちょっとした設定ファイルを変更するのはVi。
そんなスタイルで開発している方はいませんか?
そう、私です。^o^
例えばRailsしてるとき、コントローラやビューはEmacsで書くけど、
migrationはViで編集するなんてことはしょっちゅうです。
他にも /etc にある各種ファイルを sudo vi で端末で作業できるのは魅力的。
だからいつも sudo apt-get install vim とするだけで
.vimrc? なにそれ? という状態で何も設定せず
Ubuntuデフォルトのまま作業していたのですが、やはり困ることがあります。
いや、困るというよりは「やりにくい」が正しい表現なんですが、
今回Twitter上で @naoty_k さんからさまざまなアドバイスをいただきました。
その設定をしたあとのViの快適さといったらありません。
透過的にサポートしてくれる機能満載なので、細かい設定や使い方は一切無し。*1
- 追記:
- コメント欄にて @naoty_k さんご本人が、一歩進んだ使い方を紹介してくれています。是非ご参照あれ。
さてそれでは、10分でVIMをバリバリチューニングしてみましょう。
vundle
VIMには vundle という、Rails3で言うところの bundler があります。
詳細については上記参考URLを見ていただくとして、まとめとして今回やったことをメモ。
シェル:
$ mkdir -p ~/.vim/bundle/ # 各種プラグイン用 $ git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle # vundle をインストール
colorscheme railscasts
@naoty_k さんはVIMのカラーテーマに railscasts を採用なさっているそうです。
これでVIMがよりカラフルになると、多分そういうわけです。
上記URL(の下のほうのリンク)から railscasts.vim をダウンロードして、
~/.vim/colors/ ディレクトリに放り込みます。
$ mkdir -p ~/.vim/colors/ $ mv railscasts.vim ~/.vim/colors/
しかしこのままでは後述の.vimrcでは使えないので、
Ubuntuを使っている場合は以下のようにします。*2
$ sudo apt-get install ncurses-term
.vimrc
@naoty_k さんは github に普段使っている dot ファイルを公開されているので、
まずはそこから .vimrc をパクって持ってきます。
中身は……Emacs使いの僕には何が何やらですが、凄そうです。
前述の railscasts を使うために、Ubuntu用の設定ちょっとだけ書き加えます。*3
.vimrc(7行目付近):
" ↓コメントアウト " colorscheme railscasts " for gnome-terminal on Ubuntu if $COLORTERM == 'gnome-terminal' set term=gnome-256color colorscheme railscasts else colorscheme default endif
.vimrc のコメントは行頭に " (ダブルクォート)を置きます。
プラグインのインストール
ここまでの状態で vim を起動しても、まだ完璧ではありません。
vundle によるプラグインのインストールが終わっていないからです。
VIMを起動して、 :BundleInstall と入力してEnter。
すると .vimrc に記述されているプラグインが続々とインストールされていき、
"Done" と表示されたら正常にインストールされた証拠です。
完了!
これで全ての準備が整いました。
適当にファイルを編集してみるとすぐにわかるのはコードの自動補完ですね。
ちょうどEmacsで言うところの auto-complete のような感覚で使うことができます。
また、行番号が表示されていたり、行末に余計なスペースがあると表示してくれたり、
自動でインデントしてくれたり、他にも他にも、まだ僕が触っていない便利な機能があることでしょう。
これまでとはまったく違う、何ともリッチなVIMが出来上がってしまいました。*4
これで思う存分VIMで快適なコーディングをすることが出来そうです。
@naoty_k さんどうもありがとうございました!
おまけ
プラグインのアップデート
VIMを起動した状態で :BundleInstall! を実行すると、
既存のプラグインを自動でアップデートしてくれるらしいです。
これは vundle の機能なので、詳しくはそちらを。
もしかしたら関係あるかも知れない「ハイライトが機能しない」問題
環境変数 $VIM と $VIMRUNTIME が関連しているかも?
VIMには膨大な数の syntax ファイルが用意されていますが、
これを探すのに $VIM もしくは $VIMRUNTIME のパスを探しに行くみたいです。
Ubuntuの場合は /usr/share/vim/vimcurrent というシンボリックリンクがそれなので、
.bashrc や .zshrc に
export VIM=/usr/share/vim/vimcurrent export VIMRUNTIME=$VIM
と書いておくと、ある種のおまじないになるかも知れません。
このあたりは.vimrcというよりVIMそのものの仕様になってくるので
今回のエントリではあまり触れないようにしておきます。