vimが少しでも好きになるvimとは何か私の貧弱な語彙ではとても表しきれないので一言で言うと、高機能なテキストエディタだ。使うまでに幾分かの修行を必要とすると言われているほど多機能、特殊な動作をする。そんなツンツンのvimを使っているとそのうちデレてきて、私たちはvimからひと時も離れたくなくなるだろう。何はともあれインストールなるべく簡単に用意できる方法を選んでいます。自前でソースコードからビルドするよっていう方はmercurialを使って世代管理するといいかと思います。KaoriYaからダウンロードして使うのが吉。Windows+rを押してファイル名を指定して実行からcmdと打ち込みEnter→コマンドプロンプトが起動されます。フォルダをC:\Appフォルダに解凍したのであれば以下のようにPATHを追加します。"%PATH%";C:\App\vim74-kaoriya-win32MacHomebrewを使います。HomebrewCtrl+Spaceを押してterminalと入力してEnter→Terminal.appが起動されます。~/.vimrcvimにはモードという概念があります。通常時のノーマルモードと入力時のインサートモードです。どっちのモードか分からなくなったら即escキーを入力してノーマルモードに戻りましょう。vimではインサートモード中は普通カーソル移動しません。入力漏れなどを発見した場合はノーマルモードに戻ってカーソルを移動しましょう。最初は入力速度がべらぼうに落ちますが我慢します。以下に簡単な入力操作の簡易表を用意しました。操作|vim---+---↑|k↓|j←|h→|l一文字削除|xインサートモードへ|i次行を新規行として挿入してインサートモードへ|o現在行に新しい行を追加してインサートモードへ|Oノーマルモードへ|(インサートモードで)esc最初は上記のカーソル移動を見ながらでもいいので打ってみてください。clipboard=unnamed最後にノーマルモードで:wと入力してください。:qでvimでの編集を終了します。以下に似た操作を列挙しておきます。ファイル名ただしvimでは上書き保存していない編集中のファイルを閉じようとすると保存してませんぜって言われます。編集をしたけどやっぱり保存しないといった場合は:q!のように最後に!を付けることによって強制的に上述した表の操作を行なうことが出来ます。ちなみに上で保存したファイルはvimの設定ファイルです。自分なりにこれは必須だと思うものをあげました。設定した内容については次回投稿する記事で取り扱う予定です。stusioなどの統合開発環境)に比べて使いづらい印象をウケていると思います。今のところはそれでいいと思います。こっからvimの操作での強みであるモーション(移動)とオペレータ(操作)について説明します。今度は移動のチートシートです。移動はノーマルモードで行ないます。ここから登場するC-はControlと同時押しで、2文字続いているものは続けて打ってください。vim|意味---+---w|次の単語の先頭へe|単語の最後へb|前の単語の先頭へ0|行頭へ$|行末へgg|ファイルの先頭へG|ファイルの最終行へ%|マッチする文字へ移動(対応する[]や()への移動)C-f|次のページへC-b|前のページへまぁこんな感じでしょうか。vim|意味---+---y|ヤンク(コピー)Y|行をヤンクp|ペーストP|現在位置にペーストx|カーソル下の一文字を削除d|削除D|行内のカーソル以降を削除dd|行を削除u|元に戻すC-R|操作を進めるr|変更(一文字)R|変更(入力したもの全部)c|一文字消してインサートモードへC|行内のカーソル以降を削除してインサートモードへA|行末に移動してインサートモードへa|カーソルの一つ右からインサートモードへI|行の始まり(文字の開始位置)からインサートモードへ|右へインデント<|左へインデントgu|小文字へgU|大文字へ.|事前の操作を繰り返す移動も操作も他にもいっぱいあるけど私が良く使うのはこんなところです。実際に操作してみましょう。テストデータを用意したのでコピーしてvimでペーストしてください。hoge)少し気持ち悪いですが気にしないでください。w,e,bなどで移動を試してください。ついでにで%を押して対応する括弧に移動することを確認してください。チートシートにありませんでしたがf[アルファベット]で行内の[アルファベット]の部分に移動します。/[word]で検索を行なえます。/vimと打ってください。n,Nでそれぞれ次と前の検索へ移動することができます。操作は移動と組み合わせて使うことができます。dwで次の単語の先頭まで削除が行なえます。操作やモーションは回数指定が可能です。10ddでは10行削除可能です。一つ強力な機能としてテキストオブジェクトというものがあります。操作+iwで単語に対して操作を行ないます。diwではカーソルの位置に関係なく単語を消せます。以下によく使いそうなテキストオブジェクトのチートシートを示します。vim|意味---+---iw|単語(以降iの部分はaでも代用可能です)iW|単語(空白含む)is|文it|タグi]|括弧("",'',(),<>,{})なども対応可能です)テストデータの(indentあたりでyi)とすると括弧内をヤンクできます。どっかでpでペーストしてみてください。入力した後にescでノーマルモードに戻るとこの気持ち悪いテストデータの作り方が...。最後にdisとするとすごいことになるのでやってみて。最後にvimrcと追加プラグインによってvimはIDEに匹敵する、あるいはそれ以上の使い心地になる可能性を秘めています。この記事の内容はかなり搔い摘んだ話です。vimの基礎を深めたい方はターミナルでvimtutorと入力してvimのチュートリアルレッスンを開始できます。テキストを読み進めながらいろいろやってみてください。次回以降は今回扱えなかったビジュアルモードやコマンド、vimrc、プラグインの話に入っていく予定です。