はじめに
今回はVimの基本操作を、Vim Adventuresで学んだ事以外も含め、初学者向けに整理しました。
Vimの3つのモード
| モード | できること | 入る方法 | 戻る方法 |
|---|---|---|---|
| ノーマルモード | 文字を消したり、動かしたりする | Vimを開いた時はここ | Escキー |
| 挿入モード | 文字を入力する | i や a を押す | Escキー |
| コマンドモード | 保存や終了などの命令をする | :(コロン)を押す | コマンド入力後に Enter |
迷ったら Escキー を押すと安全です。どんな時でもノーマルモードに戻れます。
1. 文字や行を動かす(移動コマンド)
ノーマルモードで使います。
| どこを動かす? | コマンド | どうなるか |
|---|---|---|
| 1文字ずつ左右 | h, l | 左右に1文字動く |
| 1行ずつ上下 | j, k | 下に1行、上に1行動く |
| 単語の先頭 | w, W | 次の単語の最初に移動(Wは空白で区切られる大きな単語) |
| 単語の最後 | e, E | 単語の最後に移動(Eは大きな単語) |
| 単語の前 | b, B | 単語の先頭に戻る(Bは大きな単語) |
| 行の先頭 | 0 | 行の一番最初に移動 |
| 行の先頭(空白を飛ばす) | ^ | 最初の空白でない文字に移動 |
| 行の最後 | $ | 行の一番最後に移動 |
| ファイルの先頭 | gg | ファイルの1行目に移動 |
| ファイルの最後 | G | ファイルの最後の行に移動 |
| 特定の文字まで | f{文字}, t{文字} | 右方向にその文字まで移動(tは手前で止まる) |
| 左方向の文字まで | F{文字}, T{文字} | 左方向にその文字まで移動(Tは手前で止まる) |
| 対応するかっこへ | % | (), [], {} の対応するかっこに移動 |
2. 文字や行を消したり置き換えたり(編集コマンド)
消すコマンド
| コマンド | どうなるか |
|---|---|
| x | カーソルのある文字を消す |
| X | カーソルの前の文字を消す |
| dw | カーソル位置から単語の終わりまで消す |
| de | カーソル位置から単語の最後まで消す |
| db | カーソル位置から単語の先頭まで消す |
| dW, dE, dB | 大きな単語単位で消す |
| dj | カーソルのある行と次の行を消す |
| dd | カーソルのある行全体を消す |
| D | カーソル位置から行の最後まで消す |
置き換え・文字変更
| コマンド | どうなるか |
|---|---|
| r{文字} | カーソルのある文字を新しい文字に置き換える |
| ~ | カーソルの文字の大文字と小文字を入れ替える |
コピーと貼り付け
| コマンド | どうなるか |
|---|---|
| y + モーション | 指定した範囲をコピー(ヤンク) |
| yy | 行をまるごとコピー |
| p | コピーしたものをカーソルの後ろに貼り付け |
| P | コピーしたものをカーソルの前に貼り付け |
3. 探す・繰り返すコマンド
| コマンド | どうなるか |
|---|---|
| * | カーソル下の単語を下方向に検索 |
| # | カーソル下の単語を上方向に検索 |
| n | 直前の検索を同じ方向に繰り返す |
| N | 直前の検索を逆方向に繰り返す |
| . | 直前に行った編集をもう一度行う |
| ; | f, t, F, T の検索を同じ方向に繰り返す |
| , | f, t, F, T の検索を逆方向に繰り返す |
4. 画面の見え方を変えるコマンド
| コマンド | どうなるか |
|---|---|
| zt | カーソルの行を画面の一番上にする |
| zz | カーソルの行を画面の真ん中にする |
| zb | カーソルの行を画面の一番下にする |
5. コマンドモードでのお願い
| コマンド | どうなるか |
|---|---|
| :w | ファイルを保存する |
| :wq | ファイルを保存してVimを終了する |
| :q! | 保存せずにVimを終了する |
| :set number | 行番号を表示する |
| :set nonumber | 行番号を非表示にする |
6. 名前をつけて保存する
| コマンド | どうなるか |
|---|---|
| :w 新しいファイル名.txt | 新しい名前でファイルを保存(元のファイルは残る) |
| :wq 新しいファイル名.txt | 新しい名前で保存してVimを終了する |
まとめ
- Vimは「モード」を切り替えて使うエディタ
- ノーマルモードで「動かす」「消す」「探す」などの操作を行う
- コマンドモードでは「保存」「終了」などの命令ができる