プログラミング · Vim
Vimコマンドのタイピング練習
i・a・o などの挿入、w・b・e などの移動、dd・yy・p などの編集まで、Vim のコマンド112個を打って覚えます。キーごとに、何をするかの説明が付いています。
1リスト・112語
無料・ログインなしで練習できます。押すとこのパックをフォローし、すぐに練習が始まります。
収録している言葉
Vimコマンド
| 打つ言葉 | 意味・補足 |
|---|---|
| i | カーソルの前から入力(挿入モードへ) |
| a | カーソルの後ろから入力(挿入モードへ) |
| I | 行の最初の空白以外の文字の前から入力 |
| A | 行末から入力 |
| o | 下に空行を作って入力 |
| O | 上に空行を作って入力 |
| v | 文字単位の範囲選択(ビジュアルモードへ) |
| V | 行単位の範囲選択 |
| R | 文字を上書きしながら入力(置換モードへ) |
| : | コマンドラインへ移る(コマンド入力後にEnter) |
| :w | 保存(Enterで実行) |
| :w 名前 | 指定名で書き出す(編集中のファイル名は通常そのまま) |
| :q | 現在のウィンドウを閉じる(未保存変更があると通常は拒否) |
| :wq | 保存して閉じる |
| :x | 変更があれば保存して閉じる |
| :q! | 変更を破棄して閉じる(未保存の変更が失われる場合がある) |
| :qa | すべて閉じて終了(未保存変更があると拒否) |
| :qa! | 未保存変更を破棄してすべて終了 |
| :wqa | 変更のあるバッファを保存して終了 |
| :e ./memo.txt | :e パス:別のファイルを開く(例::e ./memo.txt) |
| :e! | ファイルを読み直す(現在の未保存変更を破棄) |
| :saveas パス | 別名保存してそのファイルを編集 |
| vim memo.txt | Vimでファイルを開く(Vim内ではなくターミナルで実行) |
| h | 左へ移動 |
| j | 下へ移動 |
| k | 上へ移動 |
| l | 右へ移動 |
| w | 次の単語の先頭へ |
| b | 前の単語の先頭へ |
| e | 単語の末尾へ |
| 0 | 行の先頭へ(数字のゼロ) |
| ^ | 行の最初の空白以外の文字へ |
| $ | 行末へ |
| gg | ファイルの先頭へ |
| G | ファイルの最終行へ |
| 10G | 10行目へ(数字を変更して行番号を指定) |
| :10 | 10行目へ(Enterで実行) |
| % | 対応する括弧へ |
| zz | 現在行を画面中央に表示(スクロール位置を調整) |
| 5j | 5行下へ(数字で移動回数を指定) |
| 3w | 3単語先へ(数字で移動回数を指定) |
| x | カーソル位置の文字を削除(削除内容は通常Vimのレジスタへ) |
| dd | 現在行を削除 |
| 3dd | 現在行から3行削除 |
| dw | 次の単語の先頭まで削除(行末付近などでは例外的な動作がある) |
| diw | カーソル位置の単語を削除 |
| D | カーソル位置から行末まで削除(d$と同じ) |
| d$ | カーソル位置から行末まで削除(Dと同じ) |
| cc | 現在行を変更して入力モードへ |
| ciw | カーソル位置の単語を変更(新しい語を入力してEsc) |
| C | 行末まで変更(c$と同じ) |
| c$ | 行末まで変更(Cと同じ) |
| ra | r文字:現在位置の1文字を置換(例:raでaに置換) |
| yy | 現在行をコピー(通常Vim内部のレジスタへ) |
| 3yy | 現在行から3行コピー |
| yiw | カーソル位置の単語をコピー |
| p | カーソルの後ろへ貼り付け(行単位なら下の行へ) |
| P | カーソルの前へ貼り付け(行単位なら上の行へ) |
| u | 元に戻す |
| . | 直前の変更を繰り返す |
| J | 次の行を現在行につなげる |
| "+y | OSのクリップボードへコピー(選択範囲または移動指定と組み合わせる。例:選択後に実行) |
| "+p | OSのクリップボードから貼り付け(Vimのビルドと実行環境の対応が必要) |
| y | ビジュアルモードで選択中:選択範囲をコピー |
| d | ビジュアルモードで選択中:選択範囲を削除 |
| c | ビジュアルモードで選択中:選択範囲を変更(入力後にEsc) |
| > | ビジュアルモードで選択中:インデントを増やす |
| < | ビジュアルモードで選択中:インデントを減らす |
| = | ビジュアルモードで選択中:インデントを整える(ファイル形式・設定に依存) |
| >> | 現在行のインデントを増やす |
| << | 現在行のインデントを減らす |
| gg=G | ファイル全体のインデントを整える(ファイル形式・設定に依存) |
| /文字列 | 下方向へ検索(Enterで検索実行) |
| ?文字列 | 上方向へ検索(Enterで検索実行) |
| n | 同じ検索方向の次の一致へ |
| N | 検索方向と逆の一致へ |
| * | 現在の単語を下方向へ検索 |
| # | 現在の単語を上方向へ検索 |
| :noh | 検索の強調表示を一時的に消す(次の検索操作などで再表示) |
| :s/old/new/ | 現在行の最初の一致を置換(Enterで実行。検索パターンは正規表現) |
| :s/old/new/g | 現在行のすべての一致を置換 |
| :%s/old/new/g | ファイル全体ですべて置換 |
| :%s/old/new/gc | 確認しながら全体を置換 |
| :10,20s/old/new/g | 10〜20行目で置換 |
| /\V文字列 | 特殊文字の解釈を抑えて検索(バックスラッシュと検索区切りには引き続き注意。Enterで実行) |
| ci" | 二重引用符の内側を書き換える(対象範囲を認識できる位置で実行) |
| di" | 二重引用符の内側を削除(対象範囲を認識できる位置で実行) |
| yi" | 二重引用符の内側をコピー(対象範囲を認識できる位置で実行) |
| ci( | 丸括弧の内側を書き換える(対象範囲を認識できる位置で実行) |
| ci{ | 波括弧の内側を書き換える(対象範囲を認識できる位置で実行) |
| da" | 二重引用符を含めて削除(周囲の空白も対象になる場合がある) |
| vi( | 丸括弧の内側を選択(iは内側、aは囲みも含む) |
| :ls | バッファ一覧(Enterで実行) |
| :bnext | 次のバッファへ |
| :bprev | 前のバッファへ |
| :b 3 | 3番のバッファへ(番号は:lsで確認) |
| :bd | 現在のバッファを一覧から外す(ファイル自体は削除しない。未保存変更があると拒否) |
| :sp ファイル | 上下に分割して開く |
| :vsp ファイル | 左右に分割して開く |
| :close | 現在のウィンドウを閉じる |
| :only | 現在のウィンドウだけを残す(未保存変更のある他ウィンドウは閉じられない場合がある) |
| :set number | 行番号を表示(設定を継続する場合は通常~/.vimrcに記述) |
| :set nonumber | 行番号を非表示 |
| :set relativenumber | 相対行番号を表示 |
| :set ignorecase | 検索で大文字小文字を区別しない |
| :set smartcase | 大文字を含む検索語では区別(ignorecase有効時) |
| :set hlsearch | 検索結果を強調表示 |
| :set expandtab | 入力するタブを空白へ変換(既存のタブはそのまま) |
| :set tabstop=4 shiftwidth=4 | タブ表示幅・インデント幅を設定 |
| :help | ヘルプを開く |
| :help ciw | :help コマンド:指定項目のヘルプ(例::help ciw) |
| :version | バージョン・対応機能を確認 |