EmacsからVimに乗り換えた
ちょっと前にEmacs + markdown-modeでドキュメントを書いていたのですが、Markdownって改行を入れると、ウェブブラウザ上では改行されていなくとも、HTML上で改行(単にCRが入ってる、という意味)されるじゃないですか? そういうときってウェブブラウザ上で見ると、どうしてもCRによるホワイトスペースが入っちゃうんですよね。それがもう嫌で嫌でしょうがないって人、結構いると思います。僕です。
て言うかそもそも改行を入れていたのは、1行あたり80文字程度に収めるためです。つまり、次行への送りを手動でやっていたわけです。そこからしてナンセンスなわけですが、じゃあなぜ行の折り返しを使わなかったのかと言うと、あれ、行の折り返しを使うとCtrl+nとかで移動したとき、折り返された部分を飛び越して、その次の行に飛んじゃいますよね。「あ〜〜〜〜〜〜!」って感じです。
それもEmacs 23からはvisual-line-modeというマイナーモードのおかげで解決できるのですが、恥ずかしながら僕が使っているのはMac OS X LeopardでCarbon Emacsです。バージョンは22…… あまりに酷いので一昨日ぐらいに一番新しいMacBook Air注文しました。これで解決。
ですが、届くまで待てないので、なんか良い機会だし、Vimに乗り換えるか〜っていうのが経緯です。経緯長くてごめんね。
以下何をしたか、です。
- 長らく苦楽を共にしたEmacsにさよならを告げる
- Curiosity Drives Me: 今年こそ始める!何度も挫折した人のためのモダンVim再入門を参考にする
- MacVimをインストール
- スクリーンキャストを見て士気を高める
- $HOME/.vimrcを書く
- VundleではなくNeoBundleを使う
- 以下のプラグインをNeoBundleでインストールする(カラースキームは結局railscastsに落ち着いた)
- 適度に$HOME/.vimrcを分割する($HOME/{vim,gvim}/*.vimに分割したのを配置し、runtime!コマンドで読み込むようにした)
って感じです。
ああそれでVimにしたはいいけど、当初やりたかった「行の折り返しを有効にしつつ、表示行(実際に目に見えてる行)単位で移動する」もやろうとしたんですよ。で、ノーマルモードでj押したらEmacsと同じ挙動して肩を落としました。gjならOKだそうです。めんどくさい。
とりあえず以下のVimスクリプトを$HOME/.vim/vim/wrap.vimとして保存し、ことなきを得ました。
これでタブを押すたびに折り返しの有効/無効が切り替わって良い感じになりました。
後は追ってプラグイン追加したり、設定を変えたりして調整していくつもりです。