header image
  • プログラム・ソフト
  • 物理学・工学
  • ガジェット
  • 当サイトについて
  • お問い合わせ
  • プログラム・ソフト
  • 物理学・工学
  • ガジェット
  • 当サイトについて
  • お問い合わせ
  • HOME
  • プログラム・ソフト
  • Vim
  • 【動画あり】Vimのコマンドを一覧にまとめてみた

【動画あり】Vimのコマンドを一覧にまとめてみた

投稿日:2022年5月28日 更新日:2022年6月15日

  • Tags: [コマンド集], [テキストエディター],

サムネイル

テキストエディターVimのコマンドを表にまとめてみました。
アニメーション動画もつけましたので、どんな動きをするのか参考になるかと思います。
表の上にマウスを載せてみてください。

超初心者向けの操作方法と最低限のコマンドは下記記事にまとめました。
>> 最低限の基本的なvim(vi)の使い方【初心者向け】

最低限操作できるようになったら、次に覚えるべき個人的に便利なコマンドは下記記事にまとめています。
>> Vimで便利な小技(よく使うコマンド集)

  • 一覧表の表記事項について
    • コマンド・操作
    • モード
    • カウント付与
  • カーソル移動
  • テキスト編集
  • モード
  • ウィンドウ操作
  • 搭載機能
  • その他

一覧表の表記事項について

表の内容を簡単に説明をしておきます。

コマンド・操作

コマンド欄に載っているコマンドをVim上で入力することで、操作欄の動作をします。

コマンドの表記については下記記事で取り上げています。
>> Vimのコマンドの表記とコマンドの基本構造(オペレーターとモーション)

モード

コマンドがVimのどのモードで使用できるかを示しています。
ここでは下記のアイコンによって、Vimにある4つのモードを表記しています。

アイコンVimのモード
ノーマルモード
ノーマルモード
コマンドモード
コマンドモード(コマンドラインモード)
挿入モード
挿入モード(インサートモード)
ビジュアルモード
ビジュアルモード

スラッシュ記号(/)で2つのモードが区切られている場合は、
そのコマンドを使う前後でモードが切り替わることを意味しています。

たとえば ノーマルモード/コマンドモード は、
ノーマルモードでコマンド入力し始め、途中でコマンドモードを経由することを意味しています
(:でコマンドモードになり<Enter>でノーマルモードに戻ります)。

ちなみに、コマンドラインモードのコマンドはExコマンドとも言います。

カウント付与

Vimのコマンドの最初に数字を入力することで、コマンドを繰り返し動作させることができます。
ただし、コマンドモードのコマンドでは最後(<Enter>の直前)に入力します。
この数字のことをカウントと呼び、コマンドにカウントを付け足すことができるかどうかを示しています。

丸マーク ○ の隣に文がある場合は、
カウントを付与することでその文にある指定ができます。

カーソル移動

カーソル移動のコマンド

カーソル位置を動かすためのコマンドです。

ほとんどがモーションとして機能するので、オペレーター(テキスト編集系コマンドの主要文字)と組み合わせることで、
テキスト編集の範囲を指定したコマンドになります。
詳しくは下記記事をどうぞ。
>> Vimのコマンドの表記とコマンドの基本構造(オペレーターとモーション)

行番号を指定して移動する際には、エディター上に行番号が表示されている方が便利です。
行番号を表示させる方法は下の記事に書きました。
>> vimの行番号の表示設定と移動方法

分類コマンド操作モードカウント
付与
1文字移動j下に移動
ノーマルモードビジュアルモード
○
k上に移動
ノーマルモードビジュアルモード
○
h左に移動
ノーマルモードビジュアルモード
○
l右に移動
ノーマルモードビジュアルモード
○
行内移動0行頭に移動
ノーマルモードビジュアルモード
×
^行頭のテキストに移動
ノーマルモードビジュアルモード
×
$行末に移動
ノーマルモードビジュアルモード
×
fb行内の前方の文字bに移動
ノーマルモードビジュアルモード
○
Fc行内の後方の文字cに移動
ノーマルモードビジュアルモード
○
;f, Fコマンドの移動を繰り返す
ノーマルモードビジュアルモード
○
,f, Fコマンドの逆方向に移動する
ノーマルモードビジュアルモード
○
行間移動ggページ先頭に移動
ノーマルモードビジュアルモード
×
Gページ最後に移動
ノーマルモードビジュアルモード
×
Hウィンドウ内の最上行に移動
ノーマルモードビジュアルモード
×
Mウィンドウ内の中央行に移動
ノーマルモードビジュアルモード
×
Lウィンドウ内の最下行に移動
ノーマルモードビジュアルモード
×
10gg, 10G10行に移動
ノーマルモードビジュアルモード
○ 移動行先をずらす
:1111行目に移動
ノーマルモード/コマンドモード
ビジュアルモード
×
ブロック移動%対応する括弧に移動
ノーマルモードビジュアルモード
×
w単語単位で前方移動する
ノーマルモードビジュアルモード
○
b単語単位で後方する
ノーマルモードビジュアルモード
○
e後の単語の末尾に移動
ノーマルモードビジュアルモード
○
ge前の単語の末尾に移動
ノーマルモードビジュアルモード
○
(次の文(センテンス)へ移動
ノーマルモードビジュアルモード
○
)前の文(センテンス)へ移動
ノーマルモードビジュアルモード
○
{次の段落(パラグラフ)へ移動
ノーマルモードビジュアルモード
○
}前の段落(パラグラフ)へ移動
ノーマルモードビジュアルモード
○
検索/hoge<Enter>テキストhogeを検索して前方のマッチ位置へ移動
ノーマルモードビジュアルモード
○
?hoge<Enter>テキストhogeを検索して後方のマッチ位置へ移動
ノーマルモードビジュアルモード
○
*カーソル上の単語を検索して前方のマッチ位置へ移動
ノーマルモードビジュアルモード
○
#カーソル上の単語を検索して後方のマッチ位置へ移動
ノーマルモードビジュアルモード
○
n検索で次にマッチする位置に移動(順方向)
ノーマルモードビジュアルモード
○
N検索で次にマッチする位置に移動(逆方向)
ノーマルモードビジュアルモード
○

テキスト編集

テキスト編集のコマンド

テキストを編集するコマンドです。

分類列に書いてある1文字のアルファベットはオペレーターで、
その後にモーションを接続することで作用範囲を指定します。
たとえばdiwコマンドのiw部分は、単語ブロックを意味しており、
「削除(オペレーター: d)を単語ブロック(モーション:w)に作用する」
コマンドがdiwであるということです。
ただし、オペレーターを2文字続けるコマンドや、大文字のコマンドは特殊な構造でモーションを必要としないコマンドです。
オペレーターとモーションについては下記に記述しています。
>> Vimのコマンドの表記とコマンドの基本構造(オペレーターとモーション)

コピー&ペースト(ヤンク&プット)をエディター外との間で行う方法については、下記記事にまとめています。
>> Vim (Vi)でコピー&ペーストするコマンドまとめとエディタ外部間で行う方法

数種類ある置換コマンドのまとめ、コマンドモードの置換コマンド :%s/AAA/BBB/g<Enter> のフラグや正規表現を使った置換方法の説明は下記記事に書きました。
>> Vimでサクッと置換する方法と置換コマンドの構成

改行の挿入・削除方法と改行コードの文字化け ^M の修正方法を知りたい方は下記をどうぞ。
>> Vimの改行コマンドと改行コードの操作

分類コマンド操作モードカウント
付与
削除dddカーソル行を削除
ノーマルモード
○
Dカーソルから行末まで削除
ノーマルモード
○
diwカーソル上の単語を削除
ノーマルモード
○
di"ダブルコーテーション内部を削除
ノーマルモード
×
:12d<Enter>12行目を削除
ノーマルモード/コマンドモード
○ 行数指定
xx1文字削除(カーソル右移動)
ノーマルモード
○
X1文字削除(カーソル左移動)
ノーマルモード
○
置換cccカーソル行を削除して挿入モードへ
ノーマルモード
○
Cカーソルから行末までを削除して挿入モードへ
ノーマルモード
○
ciwカーソル上の単語を削除して挿入モードへ
ノーマルモード
○
ci"ダブルコーテーション内部を削除して挿入モードへ
ノーマルモード
×
ss1文字削除して挿入モードへ
ノーマルモード
○
Sカーソル行を削除して挿入モードへ
ノーマルモード
○
:%s/AAA/BBB/g<Enter>文字列AAAをBBBに置換
ノーマルモード/コマンドモード
×
rr1文字置換
ノーマルモード
○
R<Esc>を押すまで置換(置換モード)
ノーマルモード
○
ヤンク
コピー
yyyカーソル行をコピー
ノーマルモード
○
yiwカーソル上の単語をコピー
ノーマルモード
○
yi"ダブルコーテーション内部をコピー
ノーマルモード
×
:13y<Enter>13行目をコピー(ヤンク)
ノーマルモード/コマンドモード
○ 行数指定
プット・ペーストppカーソルの次(下)に貼り付け
ノーマルモード
○
Pカーソルの前(上)に貼り付け
ノーマルモード
○
インデント>>>カーソル行のインデントを追加
ノーマルモード
○
<<<カーソル行のインデントを削除
ノーマルモード
○
===カーソル行のインデントを自動調整
ノーマルモード
○
操作の繰り返しuコマンドの操作を元に戻す(アンドゥ)
ノーマルモード
○
CTRL-r元に戻すのを取り消す(リドゥ)
ノーマルモード
○
.直前のコマンドを繰り返す
ノーマルモード
○
大文字・小文字変換~大文字・小文字を入れ替える
ノーマルモードビジュアルモード
○
g~~1行の大文字・小文字を入れ替える
ノーマルモード
×
gUU1行を大文字にする
ノーマルモード
×
guu1行を小文字にする
ノーマルモード
×
その他CTRL-a数値を+1
ノーマルモードビジュアルモード
○
CTRL-x数値を-1
ノーマルモードビジュアルモード
○
:sort<Enter>ファイル全体の行をソート(並び替え)
ノーマルモード/コマンドモード
×

モード

モードに関するコマンド

モードを切り替えるコマンドや、ノーマルモード以外でのみ使えるコマンドです。

ただしコマンドモードのコマンドは、多岐にわたるのでこちらに集約しておりません。

分類コマンド操作モードカウント
付与
<Esc>, CTRL-[ノーマルモードへ
ノーマルモード/コマンドモード/挿入モード/ビジュアルモード
×
挿入モードiカーソルの左から挿入モードへ
ノーマルモード/挿入モード
○
aカーソルの右から挿入モードへ
ノーマルモード/挿入モード
○
I行頭から挿入モードへ
ノーマルモード/挿入モード
○
A行末から挿入モードへ
ノーマルモード/挿入モード
○
oカーソル下に新規行を作成して挿入モードへ
ノーマルモード/挿入モード
○
Oカーソル上に新規行を作成して挿入モードへ
ノーマルモード/挿入モード
○
CTRL-nキーワード候補の表示、選択を下へ
挿入モード
×
CTRL-pキーワード候補の表示、選択を上へ
挿入モード
×
ビジュアルモードv選択モードへ
ノーマルモード/ビジュアルモード
×
V行の選択モードへ
ノーマルモード/ビジュアルモード
×
CTRL-v矩形選択モードへ
ノーマルモード/ビジュアルモード
×
viwカーソル上の単語を選択
ノーマルモード/ビジュアルモード
×
vi"ダブルコーテーション内部を選択
ノーマルモード/ビジュアルモード
×
gv前回の選択範囲を再選択
ノーマルモード/ビジュアルモード
×
gn前回の検索パターンを選択(順方向に移動)
ノーマルモード/ビジュアルモード
×
gN前回の検索パターンを選択(逆方向に移動)
ノーマルモード/ビジュアルモード
×
コマンドモード@:前回のExコマンドを繰り返す
コマンドモード
○

ウィンドウ操作

ウィンドウ操作のコマンド

ウィンドウのスクロール操作や、開いてるファイルの表示切り替え・移動等を行うコマンドです。

分類コマンド操作モードカウント
付与
スクロールztカーソル位置を最上に来るようにスクロール
ノーマルモードビジュアルモード
○カーソル位置を変更
zz, z.カーソル位置を中央に来るようにスクロール
ノーマルモードビジュアルモード
○カーソル位置を変更
zb, z-カーソル位置を最下に来るようにスクロール
ノーマルモードビジュアルモード
○カーソル位置を変更
CTRL-u半画面上にスクロール
ノーマルモードビジュアルモード
○ 移動量変更
CTRL-d半画面下にスクロール
ノーマルモードビジュアルモード
○ 移動量変更
CTRL-b1画面上にスクロール
ノーマルモードビジュアルモード
○
CTRL-f1画面下にスクロール
ノーマルモードビジュアルモード
○
画面分割CTRL-w v, :vs<Enter>左右に画面分割
ノーマルモードビジュアルモード
○ 幅指定
CTRL-w s, :sp<Enter>上下に画面分割
ノーマルモードビジュアルモード
○幅指定
CTRL-w +ウィンドウの高さを高くする
ノーマルモードビジュアルモード
○変更量指定
CTRL-w -ウィンドウの高さを低くする
ノーマルモードビジュアルモード
○変更量指定
CTRL-w >ウィンドウの幅を広くする
ノーマルモードビジュアルモード
○変更量指定
CTRL-w <ウィンドウの幅を狭くする
ノーマルモードビジュアルモード
○変更量指定
CTRL-w wカーソルを次のウィンドウへ移動
ノーマルモードビジュアルモード
×
CTRL-w Wカーソルを前のウィンドウへ移動
ノーマルモードビジュアルモード
×
CTRL-w hカーソルを左のウィンドウへ移動
ノーマルモードビジュアルモード
○
CTRL-w jカーソルを下のウィンドウへ移動
ノーマルモードビジュアルモード
○
CTRL-w kカーソルを上のウィンドウへ移動
ノーマルモードビジュアルモード
○
CTRL-w lカーソルを右のウィンドウへ移動
ノーマルモードビジュアルモード
○
CTRL-w rウィンドウ位置を入れ替える
ノーマルモードビジュアルモード
×
CTRL-w n新しいウィンドウを開いて新規作成
ノーマルモードビジュアルモード
○幅指定
タブ:tabs<Enter>タブ一覧を表示
ノーマルモード/コマンドモード
×
:tabe<Enter>新規タブを作成
ノーマルモード/コマンドモード
×
:tab split<Enter>新規タブで現在のファイルを開く
ノーマルモード/コマンドモード
×
:tabo<Enter>現在のタブ以外のタブを閉じる
ノーマルモード/コマンドモード
×
gt次のタブに切り替え
ノーマルモードビジュアルモード
×
gT前のタブに切り替え
ノーマルモードビジュアルモード
×
:tabr<Enter>最初のタブに切り替え
ノーマルモード/コマンドモード
×
:tabl<Enter>最後のタブに切り替え
ノーマルモード/コマンドモード
×
バッファー:ls<Enter>, :buffers<Enter>開いているバッファー一覧を表示
ノーマルモード/コマンドモード
×
:b3<Enter>3番目のバッファーに切り替える
ノーマルモード/コマンドモード
×
:bn<Enter>次のバッファーに切り替える
ノーマルモード/コマンドモード
×
:bp<Enter>前のバッファーに切り替える
ノーマルモード/コマンドモード
×
:bd<Enter>表示中のバッファーを閉じる
ノーマルモード/コマンドモード
×

搭載機能

搭載機能に関するコマンド

レジス・マクロの他、マーク位置・ジャンプ位置・編集位置に移動できる、Vimに搭載されている機能のコマンドです。

Vimのコピー文字格納場所であるレジスタの種類と使い方は下記記事にまとめました。
>> Vimのレジスタの種類とコマンドの使い方・構造

分類コマンド操作モードカウント
付与
レジスタ / マクロ:reg<Enter>レジスタリストを表示
ノーマルモード/コマンドモード
×
"ayyレジスタaへテキストを格納(ヤンク)
ノーマルモードビジュアルモード
○
マクロqaレジスタaへのマクロの記録を開始
ノーマルモードビジュアルモード
×
qマクロの記録を終了
ノーマルモードビジュアルモード
×
@aレジスタaへ記録したマクロを実行
ノーマルモードビジュアルモード
○
@@直前に実行したマクロを実行
ノーマルモードビジュアルモード
○
マーク:marks<Enter>マークリストを表示
ノーマルモード/コマンドモード
×
:delm b<Enter>マークbを削除
ノーマルモード/コマンドモード
×
:delm!<Enter>全マークを一括削除
ノーマルモード/コマンドモード
×
mbマークbへカーソル位置を記録
ノーマルモードビジュアルモード
×
`bマークbに記録した位置に移動
ノーマルモードビジュアルモード
×
‘bマークbに記録した行頭に移動
ノーマルモードビジュアルモード
×
`.最後の編集位置に移動
ノーマルモードビジュアルモード
×
`^最後の挿入位置に移動
ノーマルモードビジュアルモード
×
`"現在のファイルを最後に閉じた位置に移動
ノーマルモードビジュアルモード
×
`0最後にVimを終了したファイルを開き、最終位置に移動
ノーマルモードビジュアルモード
×
“マーク位置に移動する前の位置に戻る
ノーマルモードビジュアルモード
×
ジャンプ位置:ju<Enter>ジャンプ位置リストを表示
ノーマルモード/コマンドモード
×
CTRL-o前のジャンプ位置へ移動
ノーマルモード
○
CTRL-i次のジャンプ位置へ移動
ノーマルモード
○
編集位置:changes<Enter>変更リストを表示
ノーマルモード/コマンドモード
×
g;前の変更位置へ移動
ノーマルモード
○
g,次の変更位置へ移動
ノーマルモード
○

その他

その他のコマンド

ファイルの操作系のコマンドや、エディターの設定等を変えられるコマンドなど、上記の分類以外のコマンドです。

分類コマンド操作モードカウント
付与
:q<Enter>Vimの終了
ノーマルモード/コマンドモード
×
:q!<Enter>Vimの終了(強制)
ノーマルモード/コマンドモード
×
:w<Enter>ファイルの上書保存
ノーマルモード/コマンドモード
×
:w output.txt<Enter>ファイルの別名保存(ファイル名: output.txt)
ノーマルモード/コマンドモード
×
:wa<Enter>変更されたすべてのファイルの上書保存
ノーマルモード/コマンドモード
×
:e!<Enter>現在のファイルを(強制的に)再読み込み
ノーマルモード/コマンドモード
×
:e input.txt<Enter>ファイルを開く(ファイル名: input.txt)
ノーマルモード/コマンドモード
×
:E<Enter>カレントファイルのディレクトリを開く
ノーマルモード/コマンドモード
×
:noh<Enter>検索ハイライトを非表示
ノーマルモード/コマンドモード
×
:vim DD **<Enter>カレントディレクトリ内でDDを含むファイルを検索(vimgrep、ファイル横断検索)
ノーマルモード/コマンドモード
×
:cn<Enter>vimgrepでヒットした次のファイル・位置に移動
ノーマルモード/コマンドモード
○
:cN<Enter>vimgrepでヒットした前のファイル・位置に移動
ノーマルモード/コマンドモード
○
CTRL-gファイル名、ファイルの状態、位置を表示
ノーマルモード
×

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


【超初心者向け】Vim(Vi)でなんとかファイル編集する方法

Windows上のVSCodeでWSLのgitを使う

マウスでロボットアームを制御してみる【Python】

Vimでサクッと置換する方法と置換コマンドの構成

Win11にWSLインストール(エラー発生したので備忘録)

Vimの改行コマンドと改行コードの操作

Vimの行番号の表示設定と移動方法

Vim (Vi)でコピー&ペーストするコマンドまとめとエディタ外部間で行う方法

  • プロフィール

  • Yoshiharu

  • 現在、ひよっこ光学系エンジニアをやっている一般人です。我流でプログラムをいじったりしています。備忘録、知識整理を兼ねてアウトプットをしていく予定です。

    • 【ラズパイ】格安な抵抗式・静電容量式の土壌湿度センサーを実際に使って比較

      2022.11.23

      【ラズパイ】格安な抵抗式・静電容量式の土壌湿度センサーを実際に使って比較


    • ELEGOO Neptune 2Sをレビュー!2万円台3Dプリンターの実力を実際に使って評価!

      2022.11.03

      ELEGOO Neptune 2Sをレビュー!2万円台3Dプリンターの実力を実際に使って評価!


    • 自作ラズパイゼロケースを3Dプリンター用にモデリング【FreeCAD】

      2022.10.13

      自作ラズパイゼロケースを3Dプリンター用にモデリング【FreeCAD】


    • 【初心者向け】FreeCADの基本的な使い方と手順の流れ

      2022.10.11

      【初心者向け】FreeCADの基本的な使い方と手順の流れ


    • 【Python】ラズパイでLチカ:LEDの取り扱い~抵抗値の計算

      2022.09.07

      【Python】ラズパイでLチカ:LEDの取り扱い~抵抗値の計算


  • アーカイブ

    • 2022年11月
    • 2022年10月
    • 2022年9月
    • 2022年8月
    • 2022年5月
    • 2022年4月
    • 2022年3月
    • 2022年1月
    • 2021年11月
    • 2021年9月
    • 2021年8月
    • 2021年7月
    • 2021年2月
    • 2021年1月
    • 2020年12月
    • 2020年10月
    • 2020年9月
    • 2020年8月
    • 2020年7月
    • 2020年3月
    • 2020年2月
    • 2020年1月
  • カテゴリー

    • Vim
    • ガジェット
    • プログラム・ソフト
    • 光学
    • 情報処理
    • 物理学・工学
    • プログラム・ソフト
    • 物理学・工学
    • ガジェット
    • 当サイトについて
    • お問い合わせ
    Y Lab Desk

    Copyright © Y Lab Desk, 2022 All Rights Reserved.