読者です 読者をやめる 読者になる 読者になる

EmacsからVimに乗り換えた

ちょっと前にEmacs + markdown-modeでドキュメントを書いていたのですが、Markdownって改行を入れると、ウェブブラウザ上では改行されていなくとも、HTML上で改行(単にCRが入ってる、という意味)されるじゃないですか? そういうときってウェブブラウザ上で見ると、どうしてもCRによるホワイトスペースが入っちゃうんですよね。それがもう嫌で嫌でしょうがないって人、結構いると思います。僕です。

て言うかそもそも改行を入れていたのは、1行あたり80文字程度に収めるためです。つまり、次行への送りを手動でやっていたわけです。そこからしてナンセンスなわけですが、じゃあなぜ行の折り返しを使わなかったのかと言うと、あれ、行の折り返しを使うとCtrl+nとかで移動したとき、折り返された部分を飛び越して、その次の行に飛んじゃいますよね。「あ〜〜〜〜〜〜!」って感じです。

それもEmacs 23からはvisual-line-modeというマイナーモードのおかげで解決できるのですが、恥ずかしながら僕が使っているのはMac OS X LeopardCarbon Emacsです。バージョンは22…… あまりに酷いので一昨日ぐらいに一番新しいMacBook Air注文しました。これで解決。

ですが、届くまで待てないので、なんか良い機会だし、Vimに乗り換えるか〜っていうのが経緯です。経緯長くてごめんね。

以下何をしたか、です。

  • 長らく苦楽を共にしたEmacsにさよならを告げる
  • Curiosity Drives Me: 今年こそ始める!何度も挫折した人のためのモダンVim再入門を参考にする
  • MacVimをインストール
  • スクリーンキャストを見て士気を高める
  • $HOME/.vimrcを書く
  • VundleではなくNeoBundleを使う
  • 以下のプラグインをNeoBundleでインストールする(カラースキームは結局railscastsに落ち着いた)
    • molokai
    • vim-colors-solarized
    • vim-railscasts-theme
    • unite.vim
    • mustang-vim
    • nerdtree
    • neobundle.vim
    • jellybeans.vim
    • vimproc
    • eskk.vim
    • tcomment_vim
    • vim-surround
    • unite-colorscheme
  • 適度に$HOME/.vimrcを分割する($HOME/{vim,gvim}/*.vimに分割したのを配置し、runtime!コマンドで読み込むようにした)

って感じです。

ああそれでVimにしたはいいけど、当初やりたかった「行の折り返しを有効にしつつ、表示行(実際に目に見えてる行)単位で移動する」もやろうとしたんですよ。で、ノーマルモードでj押したらEmacsと同じ挙動して肩を落としました。gjならOKだそうです。めんどくさい。

とりあえず以下のVimスクリプトを$HOME/.vim/vim/wrap.vimとして保存し、ことなきを得ました。

これでタブを押すたびに折り返しの有効/無効が切り替わって良い感じになりました。

後は追ってプラグイン追加したり、設定を変えたりして調整していくつもりです。