Aomori Web Advent Calendar 2012 2日目 - テキストエディタ「Vim」のご紹介

Advent Calendar言い出しっぺにして、CarmTech古川さんに根回しや事前準備をブン投げてしまった@sa2yasuでございませう。
募集からわずか3日足らずで、エントリ枠が埋まってしまい、正直驚きを隠せません。
多方面にお声がけしてくださった古川さん、ならびに本Advent Calendarに参加してくださった皆様に心より感謝致します。

ちなみに今日知ったのですが、実は2012年の待降節アドベント)は今日かららしいです。
Wikipediaより引用

西方教会では[1]、教会の1年は待降節から始まる[2]。11月30日の「聖アンデレの日」に最も近い日曜日からクリスマスイブまでの約4週間で、最も早い年で11月27日、遅い年でも12月3日に始まる。

知らなかったー。毎年12月1日から始まるもんだと思ってましたが、日本では12月1日から慣行されてるようですし、気にせずいきましょう!

昨日はCarmTech 古川勝也さんの「今年1番ヒットだったツールは GRID-IT for MacBook Air 13inch」でした。

2日目を担当する僕の今年一番のフェイバリットツールはテキストエディタVim」です。

テキストエディタプログラマやフロントエンジニアにとっては手足のようなもので、各々お気に入りのものがあるかと存じますが、僕は「Vim」という一部の間では使っているだけで変態扱いされるエディタを今年から利用しています。

この「Vim」ですが、初めて触った人には簡単なテキストさえ入力できないという変態っぷりです。
僕も最初はなんじゃこりゃ!?と思いました。でもそれが普通の人の感覚です。
心配しないでください。慣れればすごいことになります。

何が良いの?と聞かれると実は文面で説明するにはもの凄く難しいのですが、とても分かり易い動画を見つけましたのでご紹介致します。
少し長いですが、6分ぐらいからライブコーディングが始まるのでそのあたりからご覧になられることをお勧めします。

コーディングを3倍速くする! Vim入門

動画を見る時間がないという人のためにポイントだけ書いておきます。

4種類のモード

これが一番のVimの特徴です。

  1. 挿入モード・・・文字を入力するモード(普通のエディタは常にこのモードです)
  2. ノーマルモード・・・基本的な操作に関するモード(カーソル移動とか)
  3. ビジュアルモード・・・選択モード。他のエディタでいうところのShift + →←↑↓のような操作
  4. コマンドモード・・・文字列置換を行ったり、設定を変更する際のモード
キーボードから手を離さない

普通のエディタはマウス操作と組み合わせるのが普通ですが、Vimはマウス操作を必要としません。
矢印キー(→←↑↓)さえも使いません。指は常にキーボードのホームポジション上に置きます。
その結果、ホームポジションから手が離れないので入力がとても高速になります。
(ホームポジション⇔AllowKey, ホームポジション⇔マウスの移動における余計な手の動きにかかる時間を短縮できる)

テキストオブジェクトが超便利

Vimでは文字列を一つのオブジェクトをみなすことができます。
例えば以下のようなタグの中を編集するとき、普通のエディタだとDELETEを8回押すかマウスでShift選択してからDELETEするとかしますが、
VIMの場合はノーマルモードで"cit"とタイプするだけです。

<tag>ココを編集したい</tag> ・・・ citとタイプ ・・・ <tag>*</tag>
"ココを編集したい"     ・・・  ci"とタイプ ・・・ "*"
※*(アスタリスク)はコマンド入力後のカーソル位置
Vim

Vimで入力することが快感になってきたタイミングで発症します。
具体的な症状としては、普通のエディタで

  • ESCを押してノーマルモードに移行しようとする
  • hjkl(←↓↑→)で移動しようとしてhjklをタイプしてしまう

などが挙げられます。

非常に癖のあるエディタでプログラマに愛用されるケースが多いですが、CSS Niteでも紹介されているぐらいですので
HTMLしか書かないって人もコーディングの効率が上がると思いますよー

「僕のVim

インストール直後の状態でもそこそこ使えるエディタなのですが、拡張性が高いので自分の使い方に合わせてカスタマイズするのが一般的です。
以下、「僕のVim」のキャプチャです。

エクスプローラや簡単なコマンドライン操作は全てエディタ上でマウスを使わずに行うことができます。
また、背景を透過させたり、カラースキーマ、フォントなども好みのものに変えています。
エディタに向かうのが楽しくなっちゃいますね。

Vimを育てる

Vimには便利な操作やプラグインが無数にあり、ちょっとずつ覚えたり導入したりしながら自分色にカスタマイズしていきます。
カスタマイズにはvimrcという設定ファイルを用いるのですが、これが愛情を込めて継ぎ足しを重ねた秘伝のタレのようなもので、
GitHubなどのバージョン管理システムで大切に保管されることをお勧めします。
設定ファイルを更新するとしっかり履歴も残りますので、成長記録として後から見返して思い出に浸るのも悪くないかもしれません。

使ってみたい人いますか?

オススメできるエディタなのですが、慣れるまで時間がかかるので実はそんなにオススメできないとか(どっちだー
幸いネットにはこれでもかというほど沢山情報がありますので独学で始められてもよいですし、希望があれば青森市近辺でハンズオン形式の勉強会(GitHubの初歩もついでに教えちゃいます)も考えています。
僕もまだまだ未熟者ですけど「脱初心者」まではサポートできるので気軽にコンタクトしてくださっていいですよー

Aomori Web Advent Calendar 2012 3日目の担当者は齋藤 亨さんです。
宜しくお願いしまーす