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+e | 1行前にスクロール | 〇 |
Ctrl+y | 1行後ろにスクロール | 〇 |
スペース | 右に1文字移動 | 〇 |
Ctrl+f | 1ページ先へ | 〇 |
Ctrl+b | 1ページ前へ | 〇 |
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 | 画面のクリアと再描画 |
コマンド | 意味 |
---|---|
:set number | 行番号表示 |
:set nonumber | 行番号非表示 |
:%s/文字列/置換文字列/g | 文字列を置換文字列に一括置換 |
Posted by yujiro このページの先頭に戻る
- VMをundefineできない場合の対処
- cpanflute2でエラーになる場合の対処
- シェルスクリプトをバイナリ化する「shc」
- OpenSSLで文字列を暗号化・複号化する方法
- sshログインに時間がかかる場合の対処
- vi/vimで範囲指定して置換する方法
- vi/vimでマークした行に移動する方法
- vi/vimで複数行を一括削除する方法
- LinuxでOSキャッシュをクリアする方法
- lessで検索文字列だけを表示する方法
- tailコマンドでファイルがローテートされても追従する方法
- svnでファイルやディレクトリを削除する方法
- phpMyAdminで「unknown system variable 'lc_messages'」となる場合の対処
- Linux(CentOS)でapxsがみつからない場合の対処
- PHP7.3とApacheを連携させる方法
トラックバックURL
コメントする
greeting