vimで「開いて、直して、保存して、出る」までに必要な最小セット。なぜvimなのかという話はvi、vim、nano——ターミナルのエディタを1つ覚えるなら、検索・置換や画面分割はvimコマンド一覧・応用編へ。
⚠️ 出られなくなったら
Escを2〜3回押してから、:q!と打ってEnter。 これで保存せずに脱出できる。
vimで文字が入力できない・キーが反応しないと感じるときは、ほぼ確実にモードの取り違えなので、まずEsc。この1行だけ覚えておけば、閉じ込められることはない。
モード
vimの操作は「今どのモードにいるか」で意味が変わる。ここがvim最大の関門。
| モード | 状態 | 入り方 | 出方 |
|---|---|---|---|
| ノーマルモード | 開いた直後はこれ。キーはすべて命令として解釈される | Esc |
— |
| 挿入モード | 普通のエディタと同じで、文字が打てる | iなど(下記) |
Esc |
| コマンドラインモード | 画面下に:が出て、保存・終了などを打ち込む |
: |
EscまたはEnter |
画面左下に-- INSERT --と出ていれば挿入モード、何も出ていなければノーマルモード。
起動と終了
| コマンド | やること |
|---|---|
vim ファイル名 |
ファイルを開く(無ければ新規作成として開く) |
:w |
保存する(終了はしない) |
:q |
終了する(未保存の変更があると拒否される) |
:wq |
保存して終了する |
:q! |
保存せずに強制終了する(変更は捨てられる) |
:w 別名 |
別のファイル名で保存する |
:で始まるものは、打ったあとEnterを押して実行する。
挿入モードへの入り方
どれも「文字を打てる状態」になるが、どこから打ち始めるかが違う。まずはiだけでいい。
| コマンド | やること |
|---|---|
i |
カーソルの手前から入力を始める |
a |
カーソルの次から入力を始める(行末に追記したいとき) |
o |
下に新しい行を作って、そこから入力を始める |
O |
上に新しい行を作って、そこから入力を始める |
Esc |
挿入モードを抜けてノーマルモードに戻る |
カーソル移動(ノーマルモードで)
矢印キーでも動けるが、h j k lだとホームポジションから手を離さずに済む。
| コマンド | やること |
|---|---|
h j k l |
左・下・上・右(矢印キーでも可) |
w / b |
単語ひとつ分、前へ/後ろへ |
0 |
行の先頭へ |
$ |
行の末尾へ |
gg |
ファイルの先頭へ |
G |
ファイルの末尾へ |
編集(ノーマルモードで)
| コマンド | やること |
|---|---|
x |
カーソル位置の1文字を削除する |
dd |
1行まるごと削除する(削除した内容は控えに残る) |
yy |
1行コピーする(vimでは「ヤンク」と呼ぶ) |
p |
直前に削除した/コピーした内容を貼り付ける |
u |
元に戻す(undo)。何度でも戻れる |
Ctrl+r |
戻しすぎたときのやり直し(redo) |
ddは「削除」と「切り取り」を兼ねている。削除してからpで貼れば、行の移動になる。
練習するならvimtutor
vimには対話型の練習コースが最初から付いている。ターミナルで打つだけで始まる。
vimtutor
画面の指示どおりにキーを押していくと、この基本編の内容がひととおり身につく。読むより手を動かすほうが早いタイプの道具なので、腰を据えて覚えるならこれがいちばん確実。