Vim Cheat Sheet - 基本コマンド完全ガイド
🎯 中心的な主張
Vim Cheat Sheetは、テキストエディタVimの基本コマンドクイックリファレンスとして、複数操作モード概念(Escキーでノーマルモード復帰・困った時はEsc第一原則)を基盤に、最重要保存終了コマンド群(:w保存・:q終了・:q!強制終了・:wq保存終了・:x変更時保存終了)、モード切り替え5パターン(iカーソル前挿入・aカーソル後挿入・o下行挿入・O上行挿入・vビジュアル選択・Escノーマル復帰)、カーソル移動8種類(hjkl基本移動・wb単語移動・0$行頭末尾・ggG先頭最終行・:15指定行移動)、編集操作9コマンド(x文字削除・dw単語削除・dd行削除・yy行コピー・pP貼り付け・u元に戻す・Ctrl+rやり直し・.繰り返し)、検索置換機能(/word前方検索・?word後方検索・:%s/old/new/g全体置換・gc確認付き置換・nN検索移動)により、効率的テキスト編集環境を提供し、vimtutor公式チュートリアル推奨で体系的学習を促進する包括的コマンド体系。
📖 詳細な説明
🧠 Vimの基本概念:モード駆動設計
「モード」による操作体系の革新性
Vimには複数の操作モードがあります。この設計思想により、同じキーが異なるモードで異なる機能を持つことを可能にし、効率的なテキスト編集を実現します。
基本原則: Escキーでいつでも基本の「ノーマルモード」に戻ります。困ったらまずEsc!
この単純な原則により、Vim初心者でも迷子になった際の確実な復帰方法を持つことができます。
💾 最重要:保存と終了コマンド体系
コマンドラインモードでの6つの基本操作
ファイル操作の完全マスターが、Vim使用の大前提となります:
| コマンド | 説明 | 用途 |
|---|---|---|
:w |
ファイルを上書き保存 (write) | 作業内容の定期保存 |
:w new_name.txt |
指定した名前でファイルを保存 | 名前を変えて保存 |
:q |
変更がない場合に終了 (quit) | 閲覧のみで終了 |
:q! |
変更を保存せずに強制的に終了 | 変更を破棄して終了 |
:wq |
保存して終了 | 最も一般的な終了方法 |
:x |
変更があった場合のみ保存して終了 | 効率的な条件付き保存終了 |
🔄 モード切り替えの戦略的活用
5つの主要モード移行パターン
効率的なテキスト編集のための状態遷移:
| キー | 移行先モード | 詳細説明 | 使用場面 |
|---|---|---|---|
i |
インサートモード | カーソルの前からテキストを挿入 (insert) | 文字の途中への挿入 |
a |
インサートモード | カーソルの後からテキストを挿入 (append) | 行末や文字の後への追加 |
o |
インサートモード | カーソル行の下に新しい行を挿入 | 新しい行の追加 |
O |
インサートモード | カーソル行の上に新しい行を挿入 | 上への行挿入 |
v |
ビジュアルモード | 文字単位での範囲選択を開始 | テキスト選択・コピー準備 |
Esc |
ノーマルモード | 現在のモードを終了し、ノーマルモードに戻る | 全モード共通の復帰方法 |
🎯 カーソル移動の体系的マスター
8種類の移動コマンドによる高速ナビゲーション
効率的なテキスト内移動の完全装備:
基本移動(文字・行単位)
hjkl: 左、下、上、右(矢印キーの代わり)0: 行の先頭へ$: 行の末尾へ
単語単位移動
w: 次の単語の先頭へ (word)b: 前の単語の先頭へ (back)
ファイル全体移動
gg: ファイルの先頭行へG: ファイルの最終行へ:15または15G: 15行目へ移動(任意の行番号指定)
✂️ 編集操作の包括的コマンド群
9つの基本編集コマンドによる効率的テキスト操作
削除・コピー・貼り付け・操作取り消しの完全体系:
削除操作
x: カーソル位置の1文字を削除dw: カーソル位置から単語の終わりまでを削除 (delete word)dd: 行を1行削除(カット)
コピー・貼り付け
yy: 行を1行コピー (yank)p: カーソルの下に貼り付け (paste)P: カーソルの上に貼り付け
操作制御
u: 元に戻す (undo)Ctrl+r: やり直し (redo).: 直前の変更を繰り返す(強力な効率化機能)
🔍 検索と置換の高度な活用
4つの検索・置換パターンによる高速テキスト処理
大量テキストの効率的操作:
検索機能
/word:wordを前方検索。nで次へ、Nで前へ?word:wordを後方検索。nで次へ、Nで前へ
置換機能
:%s/old/new/g: ファイル全体でoldをnewに置換:%s/old/new/gc: 置換前に毎回確認する(安全な一括置換)
📚 学習リソースと推奨学習パス
公式チュートリアルによる体系的学習
vimtutorコマンドで公式チュートリアルを試すのがおすすめです。
この公式チュートリアルは、Vimの基本概念から応用まで段階的に学習できる最も確実な学習方法です。
📊 実例・証拠
💾 保存終了コマンドの実証
- 基本保存:
:wによる確実なファイル保存 - 安全終了:
:q!による変更破棄終了 - 効率終了:
:wqによる保存付き終了 - 条件終了:
:xによる変更時のみ保存終了
🔄 モード切り替えの効率性実証
- 挿入効率:
iカーソル前・aカーソル後の使い分け - 行操作:
o下行挿入・O上行挿入による効率的行編集 - 選択操作:
vビジュアルモードによる範囲選択 - 復帰安全性:
Escによる確実なノーマルモード復帰
🎯 移動コマンドの高速性実証
- 文字移動:
hjklによる矢印キー代替 - 単語移動:
wbによる効率的単語ナビゲーション - 行移動:
0$による行頭末尾への瞬時移動 - ファイル移動:
ggGによる先頭最終行への高速移動
✂️ 編集操作の包括性実証
- 削除操作:
xdwddによる段階的削除機能 - コピー操作:
yypPによる柔軟な複製・貼り付け - 操作制御:
uCtrl+r.による操作履歴管理
🔍 検索置換の効率性実証
- 検索機能:
/?による双方向検索 - 移動機能:
nNによる検索結果間移動 - 置換機能:
:%s//gによる全体置換 - 安全置換:
gcフラグによる確認付き置換
❓ 派生する問い
- Vimのモード駆動設計が、現代のIDEやテキストエディタの操作性設計に与えている影響と進化は?
- コマンドライン中心のVim操作体系と、GUI中心の現代エディタの学習コスト・生産性比較は?
- Vimの基本コマンド体系が、プログラマーのキーボード操作効率とコーディング速度に与える定量的効果は?
🏷️ タグ
- note
- Vim
- エディタ
- CLI
- 開発ツール
- コマンドライン
- テキスト編集
- キーボードショートカット
- 効率化
- vimtutor
- ノーマルモード
- インサートモード