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

僕とエディタ,vimを添えて

Program Vim

僕とエディタの続きです.

あらすじ

 環境構築につかれた人「環境構築につかれた」

 ここ2年くらいは,「恋に落ちるエディタ」と評判のsublimetextを使って,コンパイラなりインタプリタ叩いてコーディングをしていた.OSはもともとWindowsを使っていたが,快適なClangによるC++の開発環境を求めるにあたり,コミュニティ的にUNIXの世界の住人が多いLinuxUbuntuときどきDebian)に移住した.正直macが欲しいとおもった.

vimに入信を試みる

 vimには堅牢なClangによる自動補完のプラグインがあると聞いたので,早速コマンドラインで$vi,立ち上げたコンソールには「vimがなんとか」.試しに使ってみたがよくわからない.BackSpace使えないのがタイプミスの多い自分としてはつらくなった.これがvimか.入信失敗,sublimetextに戻る.(テンプレ)

入信2回目

 sublimetextでClangによるサポートを行ってくれる環境を構築していたが,ドキュメントの少なさに嫌気が差し,再びvimに救いを求める.どうやら挫折した時に触ったvimUbuntuに最初から入っているviコマンドで出てくるvimはメジャーなモノとバージョンが違ったらしく,手前で新たにインストールした.当時の自分としてはカーソルキーとBackSpace使えるの最高!!ウェヘッwって感じだった.

修行 〜その ううさぎ は つつきき を こええてて とびはねたた〜

 vim付属の,初心者を鍛え上げるチュートリアル『vimtutor』をやってみる.日本語なのでとてもわかりやすい!けど始めたばかりだとちょっと長くてつらいかな...

 あとはブラウザでできるvimのシミュレータによるインタラクティブチュートリアルOpen Vim』を見つけたのでポチポチ触っていた.簡単な英語の説明を読みながら,ブラウザ上でシミュレートされたvimを操作してレッスンを進めていく.変なところを触ってよくわからないことになる心配が無いので安心だった.チュートリアルの長さは,要点だけ抑えた説明でコンパクト.何度も繰り返すことでなんとなく,vimを立ち上げて文章をいじって保存,終了するところまでたどりつけるようになった.

 その後はvimの設定ファイルである.vimrcをひたすら書いていたら慣れてきた.謎キーバインドの体系も理解しはじめる.

環境構築

 ただひたすらに.vimrcをいじりつづける.モダンなプラグイン管理ツールであるneobundleを軸に,無心でプラグインgithubから手元のvimにcloneする.cloneしすぎてコンソールだとレンダリングが追いつかなくなったので,gvimを自前でビルドしてお引っ越しをした.gvimvimリポジトリからcloneでmakeでmake installだ!このときLuaも配合.あとプラグインの隙間を埋めるためにvimscriptに手を出し始める.後方互換を重視した素晴らしい仕様だとおもった.至る現在.

まとめ

 巷で言われているようにvimの学習曲線は確かに急だが,実際に手を動かしたら案外楽に使えるようになったので,いつかはvimをつかってみたいと考えている人はぜひ触ってみると良いかもしれない.

 vimの一番良いところは,拡張性を基盤に時間をかけて成長した巨大なコミュニティだと自分は思う.もしわからないことがあっても,ググれば怖い人が書いたドキュメントで解決できるし,欲しいと思ったプラグインも,大抵すでに怖い人が作って公開してくれている.vim自体も使い始めは古臭さが目立つが,ベースが安定しているので,プラグインの大量投与でモダンな感じのエディタになる.ナウい環境構築でよくある,解決方法が見つからずヒヤヒヤする感じが無いのは安心する.今までずっと,そういった新しいエディタやツールにしか目を向けていなかったけど,時間をかけて洗練された堅牢な技術の良さに,こういうかたちで気がつくことができてよかったと思う.枯れた技術と新しい技術を上手く組み合わせていくと良いものが作れるのかな.温故知新大切にしていこうと思った.あとvimscriptが後方互換を重視した素晴らしい仕様だった.

 最後におすすめの設定,プラグインを自分の.vimrcから抜粋して紹介します.

  • 見た目がダサい->lightlineでクールなステータスラインを

  • ファイル,フォルダの取り扱いが面倒->unitevimfiler

  • githubおじさん->vim-fugitivevim-gitgutter(上のlightlineと組み合わせると幸せになれる)

  • ESC,<C-[>が遠い->vim-arpeggioでjk同時押し