vimのコマンド一覧

vimのコマンド一覧

Posted at February 18,2020 11:55 PM
Tag:[Linux, vim]

vimのコマンド一覧を作りました。

manコマンドを参考に、コマンドモードのコマンドを中心に網羅しています。

1.モードについて

manコマンドで定義されているvimのモードは、

  • コマンドモード
  • exモード
  • テキスト入力モード
  • ビジュアルモード

です。

「コマンドモード」はカーソルの移動やコピー、検索などvimを効率的に利用するためのメインとなるモードです。

「exモード」は、":"で始まり、置換などで利用します。

ところで、exモードとは何でしょうか。

そもそもviは、exというラインエディタをスクリーンエディタに拡張する形で作られたもので、viでexコマンドを使用するモードを「exモード」といいます。

「テキスト入力モード」は単純に文字を入力するためのモードです。

「ビジュアルモード」は矩形で処理を行うためのモードです。

manにはもうひとつ「オープンモード」が載っていますが、意味が不明なため、ここでは扱っていません。

2.コマンドモードの数字について

3項の表中にある「数字対応」は、コマンド実行前に任意の数字を入力すれば、入力数字分の挙動が行われることを指しています。

ネット上の情報で、コマンドの説明を数字と組み合わせたページはほぼなかったので、こういう機能があることをご存知の方は少ないかもしれません。

例えば、矢印キーでカーソルで移動する際、矢印キーの前に「30」などの数字を入力すれば、一気に30文字分カーソルを移動してくれます。

数字入力に慣れれば、編集作業をより効率的に行えるようになると思います。

3.コマンド一覧

モード変更
コマンド意味
iテキスト入力モードに変更(カーソル位置に文字を挿入)
Iテキスト入力モードに変更(行の先頭文字に文字を挿入)
aテキスト入力モードに変更(カーソル直後に文字を挿入)
Aテキスト入力モードに変更(カーソルの行末に文字を挿入)
oテキスト入力モードに変更(カーソルの下行に空行を挿入)
Oテキスト入力モードに変更(カーソル行に空行を挿入)
sテキスト入力モードに変更(カーソル位置をクリアして文字を挿入)
Sテキスト入力モードに変更(カーソル行をクリアして文字を挿入)
ESCコマンドモードに変更
:exモードに変更
Ctrl+vビジュアルモードに変更
カーソル移動(コマンドモード)
コマンド意味数字対応
←(またはh)左に1文字移動
→(またはl)右に1文字移動
↓(またはj)下に1行移動
↑(またはk)上に1行移動
-上に1行移動
+下に1行移動
改行下に1行移動
Ctrl+e1行前にスクロール
Ctrl+y1行後ろにスクロール
スペース右に1文字移動
Ctrl+f1ページ先へ
Ctrl+b1ページ前へ
Ctrl+d半ページ先へ
Ctrl+u半ページ前へ
H画面の一番上に移動
L画面の一番下bに移動
$行末に移動
0(ゼロ)行頭に移動
^カーソル行の空白除く先頭文字に移動
_カーソル行の空白除く先頭文字に移動
ggファイルの先頭に移動
Gファイルの末尾に移動
M画面中央の空白以外の先頭文字に移動
w次の単語に移動
m+1文字カーソルの位置をマーキング
'マーキング位置の行の先頭文字にジャンプ
`マーキング位置にジャンプ
編集(コマンドモード)
コマンド意味数字対応
xカーソル上の文字を1文字削除
Xカーソルの直前の文字を1文字削除
Dカーソル上の文字から行末まで削除
dwカーソル上の文字から空白までの文字を削除
dd行削除
yy行コピー
ywカーソル位置から次の空白までコピー
pカーソル行の下にペースト
ywの後であればカーソル行にペースト
Pカーソル行にペースト
.直前のコマンドを再実行
uアンドゥ
Uカーソル行の変更をすべてアンドゥ
Ctrl+rリドゥ
rカーソル上の文字を上書き
Rカーソル上以降の文字を上書き
Jカーソル行と次の行を連結
&直前の置換を繰り返し
~大文字小文字変換
検索(コマンドモード)
コマンド意味
/+検索文字後方検索
?+検索文字前方検索
n再検索(直前の検索と同方向)
N再検索(直前の検索と逆方向)
%カーソル上の文字に対応するペア文字
(カッコやブラケットなど)に移動
ファイル操作(コマンドモード)
コマンド意味
:w上書き保存
:w!強制上書き保存
:wq上書き保存と終了
:wq!強制上書き保存と終了
ZZ強制上書き保存と終了
:e再読み込み
:e!強制再読み込み
その他(コマンドモード)
コマンド意味
Ctrl+g情報表示(ファイル名,現在行など)
Ctrl+l画面のクリアと再描画
置換(exモード)
コマンド意味
:set number行番号表示
:set nonumber行番号非表示
:%s/文字列/置換文字列/g文字列を置換文字列に一括置換
関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)