モード切替
| 操作 | Windows | Mac | 説明 |
|---|---|---|---|
| ノーマルモードへ戻る | Esc | Esc | どのモードからでも戻る |
| 挿入モード(前) | i | i | カーソル前に挿入 |
| 挿入モード(後) | a | a | カーソル後に挿入 |
| 挿入モード(行頭) | I | I | 行頭で挿入 |
| 挿入モード(行末) | A | A | 行末で挿入 |
| 挿入モード(新行下) | o | o | 下に新しい行を作成 |
| 挿入モード(新行上) | O | O | 上に新しい行を作成 |
| ビジュアルモード(文字) | v | v | 文字単位で選択 |
| ビジュアルモード(行) | V | V | 行単位で選択 |
| ビジュアルブロック | Ctrl+v | Ctrl+v | 矩形選択 |
カーソル移動
| 操作 | Windows | Mac | 説明 |
|---|---|---|---|
| 左右移動 | h / l | h / l | 1文字ずつ |
| 上下移動 | j / k | j / k | 1行ずつ |
| 行頭・行末 | 0 / $ | 0 / $ | 行頭 / 行末 |
| 行先頭文字 | ^ | ^ | 空白を飛ばして行頭文字へ |
| 単語先頭 | w | w | 次の単語先頭 |
| 単語末 | e | e | 単語末 |
| 単語頭(逆方向) | b | b | 前の単語頭 |
| 文単位移動 | ) / ( | ) / ( | 次 / 前の文 |
| 段落単位移動 | } / { | } / { | 次 / 前の段落 |
| 画面単位移動 | Ctrl+f / Ctrl+b | Ctrl+f / Ctrl+b | 1画面分 |
| 半画面移動 | Ctrl+d / Ctrl+u | Ctrl+d / Ctrl+u | 半画面分 |
| ファイル先頭・末尾 | gg / G | gg / G | 先頭 / 末尾 |
| 指定行ジャンプ | :{行番号} | :{行番号} | 例::20 |
編集・削除・コピー
| 操作 | Windows | Mac | 説明 |
|---|---|---|---|
| 文字削除 | x | x | カーソル上 |
| 文字削除(左) | X | X | カーソル左 |
| 単語削除 | dw | dw | 単語末まで |
| 単語頭まで削除 | db | db | 単語頭まで |
| 行削除 | dd | dd | 1行削除 |
| 複数行削除 | d5d | d5d | 例:5行削除 |
| 範囲削除 | :10,20d | :10,20d | 行範囲 |
| ファイル全体削除 | :%d | :%d | ファイル全体の全行削除 |
| 行コピー | yy | yy | 1行コピー |
| 複数行コピー | y5y | y5y | 例:5行コピー |
| 範囲コピー | :10,20y | :10,20y | 行範囲 |
| 行貼付 | p / P | p / P | 下 / 上 |
| 元に戻す | u | u | Undo |
| やり直す | Ctrl+r | Cmd+r | Redo |
| 繰り返し | . | . | 直前操作 |
検索・置換
| 操作 | Windows | Mac | 説明 |
|---|---|---|---|
| 前方検索 | /文字列 | /文字列 | 前方検索 |
| 逆方向検索 | ?文字列 | ?文字列 | 後方検索 |
| 次検索 | n | n | 同方向 |
| 前検索 | N | N | 逆方向 |
| 現在単語検索 | * | * | カーソル下単語 |
| 現在単語逆検索 | # | # | 逆方向 |
| 置換全体 | :%s/旧/新/g | :%s/旧/新/g | ファイル全体 |
| 確認付き置換 | :%s/旧/新/gc | :%s/旧/新/gc | 置換確認 |
| 範囲置換 | :'<,'>s/旧/新/g | :'<,'>s/旧/新/g | 選択範囲 |
| 正規表現置換 | :%s/\vパターン/置換/g | :%s/\vパターン/置換/g | 高度な置換 |
クリップボード連携
| 操作 | Windows | Mac | 説明 |
|---|---|---|---|
| システムクリップボードコピー | "+y | "+y | 選択範囲コピー |
| システムクリップボード貼付 | "+p | "+p | 貼付 |
| レジスタ確認 | :reg | :reg | 現在のレジスタ一覧 |
| レジスタに保存 | "a{操作} | "a{操作} | 例:"ayw |
ウィンドウ・タブ
| 操作 | Windows | Mac | 説明 |
|---|---|---|---|
| 垂直分割 | :vsp | :vsp | 画面垂直分割 |
| 水平分割 | :sp | :sp | 水平分割 |
| ウィンドウ移動 | Ctrl+w h/j/k/l | Ctrl+w h/j/k/l | 左/下/上/右 |
| ウィンドウサイズ変更 | Ctrl+w >/< | Ctrl+w >/< | 幅変更 |
| ウィンドウ最大化 | Ctrl+w _ | Ctrl+w _ | 縦最大化 |
| タブ新規 | :tabnew | :tabnew | 新しいタブ |
| タブ切替 | :tabn / :tabp | :tabn / :tabp | 次 / 前 |
| タブ閉じる | :tabclose | :tabclose | タブ終了 |
マクロ・高度操作
| 操作 | Windows | Mac | 説明 |
|---|---|---|---|
| マクロ記録 | qa | qa | レジスタaに記録 |
| マクロ停止 | q | q | 記録終了 |
| マクロ再生 | @a | @a | 再生 |
| 複数回再生 | :5@a | :5@a | 5回実行 |
| マクロ連鎖 | @a@b | @a@b | aの後にb実行 |
タグ・マーク
| 操作 | Windows | Mac | 説明 |
|---|---|---|---|
| タグジャンプ | Ctrl+] | Ctrl+] | 定義へジャンプ |
| 元位置戻る | Ctrl+t | Ctrl+t | タグジャンプ元に戻る |
| マーク設定 | ma | ma | マークa設定 |
| マークジャンプ | `a | `a | マークaへジャンプ |
| 前のマーク行へ | '' | '' | 前のマーク行 |
外部コマンド連携
| 操作 | Windows | Mac | 説明 |
|---|---|---|---|
| 現在行を外部コマンド | :.!コマンド | :.!コマンド | 現在行置換 |
| ファイル全体外部コマンド | :%!コマンド | :%!コマンド | ファイル置換 |
| Vimからシェル呼び出し | :!コマンド | :!コマンド | コマンド実行 |