システムを構築することを生業とする会社の新入社員研修では、プログラム書いてみようとか、シェルを書いてみようといった講義、実習が行なわれているわけです。
ところが様子を見ていると、viの使い方になれていない様子。 聞けば学生時代にEmacsは使っていたものの、viには触れていない人がかなりいるようでした。 であれば、サーバ上の設定ファイルやシェルをメンテするなら、これくらい使えれば苦労しないんじゃないかな…というラインを示すのも一興かと思い、本記事をおこす次第です。
なお、弊ブログではEmacs関連の記事がいくつかありますことからわかるように、自宅で文章を書くときには、Emacs使っています。この記事もEmacsで書いています。 そんな私がviをこれくらい使えれば、サーバ維持管理の仕事では大丈夫かなと思っているレベルです。 ※ Emacsにもvi-modeが存在しますが…
vi ファイル名
でファイルを開くところから始めましょう。
vi を実行しても vim だったりする場合もありますが、とりあえず細かいことは気にしない。
困ったときには
いろいろな操作を覚える前に、困ったときの対処法を覚えましょう。 自転車でも、ローラースケートでも止まり方から覚えるようなものです。
Esc連打からの展開が基本
コマンドモード、コマンドラインモード、編集モード…とか言われますが、最初は理解するのは困難だと思います。 (いまだに自分がどのモードにいるのか確信を持てません) 「やばい…なんだか変になっちゃった…」という具合に困ったら、とにかくEscキーを連打しましょう。
Escキーを連打したあと「u」を入力すれば、編集を元に戻せます。(Undo) Escキーを連打したあと「:q!」を入力すれば、元ファイルに編集を加えることなくviを終了することができます。
Escキーを連打すれば、おそらく「コマンドモード」にいるだろうという安心感があります。 一種のホームポジションですね。
文字を入力する
入力開始
Escキーを連打したあと「i」や「a」を入力すれば、文字の入力開始です。(編集モード) キーボードで入力したとおりに、文字が入力されるはずです。
誤入力した!
あわてずさわがず、Esc連打です。 間違えて入力した箇所にカーソルを合わせましょう。 このカーソル移動がなにも見ずにできるようになれば、最初の壁は突破できたものと思います。
- h:左
- j:下
- k:上
- l:右
- 0(ゼロ):行頭
- $:行末
狙った場所にカーソルを置いて「x」を入力すると削除されます。 一文字だけ修正したいときには「r (修正後の文字)」と入力するとよいでしょう。
探して修正する
実際にファイルをメンテナンスする場面においては、
- 特定の文字列を探して修正
- 特定の行まで移動して修正
という場合が多いと思います。 エラーメッセージから特定の行に誤りがあるか、そのメッセージをてがかりに修正箇所のあたりをつける…といった場面が多い気がするので。
Escキーを連打したあと「/検索したい文字列[Enter]」と入力すると、下方向で検索して、ヒットすればそこまでカーソルが移動します。 Escキーを連打したあと「(行数)G」で狙った行へカーソルが移動します。たとえば「15G」で15行目に移動です。
保存する
編集が終わったら、保存をしましょう。 Esc連打のあと「:w」と入力して保存です。 終了もしたいなら「:wq」でどうぞ。「ZZ」派の方もいらっしゃるようです。
操作を忘れたときに備えて
チートシート(カンニングペーパー)を、ノートなりデスクなりに用意しておきましょう。
- 日本語版: http://www.namaraii.com/files/vim-cheatsheet.pdf [PDF注意]
- なんかかっこいい: http://www.smashingmagazine.com/wp-content/uploads/2010/05/VI-Help-Sheet-011.pdf [PDF注意]
こんな操作があるんだと学習することもできます。
コマンドリファレンス本もあります。

- 作者: 山森丈範
- 出版社/メーカー: 技術評論社
- 発売日: 2010/10/22
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 101回
- この商品を含むブログ (11件) を見る
もっと使いこみたいなら
このような本で学習してみるのはどうでしょうか。

- 作者: リンダラム,アーノルドロビンス,Linda Lamb,Arnold Robbins,福崎俊博
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2002/05
- メディア: 単行本
- 購入: 14人 クリック: 193回
- この商品を含むブログ (75件) を見る
とことん自分用の環境としてつきつめていきたいのであれば、vimの設定ファイルである「.vimrc」について調べてみるとよいと思います。
Windowsにvimでも入れてみるかな…