Vim の基本

Vim の終了方法がわかったあなた、おめでとうございます。インターネット的には、もう最難関を突破したことになります。でも、Vim から逃げるだけでなく、実際に使いこなしたいなら、いくつかの基本コンセプトを押さえておくと一気に理解が深まります。このページは「なるほど、だからそうなってるのか」と腑に落ちるためのガイドです。

モード — 最大のポイント

ほとんどのエディタはシンプルです。キーを押せば文字が入力される。Vim は違います。Vim にはモードがあり、モードごとにキーボードの役割が変わります。これが Vim を強力にしている理由であり、初心者が混乱する原因でもあります。

毎日使う4つのモードを紹介します:

NORMAL モード — ここがホームベースです。Vim を開くと、まずここにいます。キーを押してもテキストは入力されません。代わりに、移動・削除・コピー・コマンド実行を行います。他のモードから戻るには Esc を押してください。

INSERT モード — このモードでは、普通のエディタと同じようにキーを押すとテキストが入力されます。i(カーソルの前に挿入)、a(カーソルの後に追加)、o(下に新しい行を開く)で切り替えられます。Esc を押すと NORMAL に戻ります。

VISUAL モード — テキストを選択するためのモードです。v で文字単位の選択、V で行単位の選択、Ctrl+v でブロック選択ができます。選択した範囲は、削除(d)、コピー(y)、変更(c)が可能です。

COMMAND モードNORMAL モードで : を押すと、画面下部にコマンドラインが表示されます。ここで :w(保存)、:q(終了)、:s/古い/新しい/g(置換)などのコマンドを入力します。

モード間の切り替え

切り替え元 切り替え先 方法
どのモードからでも NORMAL Esc
NORMAL INSERT i, a, o, I, A, O
NORMAL VISUAL v, V, Ctrl+v
NORMAL COMMAND :

Buffer

Vim でファイルを開くと、そのファイルは buffer に読み込まれます。buffer はファイルのメモリ上のコピーです。画面に1つしか表示されていなくても、複数の buffer を同時に開いておくことができます。

コマンド 動作
:ls 開いている buffer の一覧を表示
:bn 次の buffer に移動
:bp 前の buffer に移動
:bd 現在の buffer を閉じる
:e ファイル名 新しい buffer でファイルを開く

ウィンドウ(split)

2つのファイルを並べて見たいですか? Vim では画面をウィンドウに分割して、それぞれに異なる buffer(または同じ buffer)を表示できます。

コマンド 動作
:sp 水平 split
:vsp 垂直 split
Ctrl+w h/j/k/l split 間の移動(左/下/上/右)
Ctrl+w c 現在の split を閉じる
Ctrl+w = すべての split を同じサイズにする

タブ

Vim のタブはワークスペースのようなものです。各タブに独自の split と buffer の配置を持たせることができます。異なる作業を整理するのに便利です。

コマンド 動作
:tabnew 新しいタブを開く
:tabc 現在のタブを閉じる
gt 次のタブに移動
gT 前のタブに移動

コマンドライン

NORMAL モードで : を押すたびに、 COMMAND モードに入ります。コマンドラインは非常に強力です。まずは基本をいくつか覚えましょう:

コマンド 動作
:w ファイルを保存
:q 終了
:wq 保存して終了
:help キーワード Vim の組み込みヘルプを開く
:set number 行番号を表示
:%s/古い/新しい/g ファイル全体で「古い」を「新しい」に置換

次のステップ

Vim の考え方がわかったところで、さらに生産性を上げていきましょう: