viコマンド集
※[移]はテキスト入力モードへ移行することを示します。
※[n有効]はコマンドの前に数値を付けると動作が変わることを示します。
例えば、x(1文字削除)に数値を付けて、2xなら2文字削除という具合。
動作が分かりにくいものは説明を付けています。
※"系"が付いているコマンドは、単語対象、行対象などの指定を行うことができます。
例えば、c系なら、cwで単語の変更、ccで1行変更、c^で行頭から変更という具合。
★モード移行
★テキスト入力
i | カーソルの左に文字を挿入[移] |
I | カーソル行の行頭に文字を挿入[移] |
a | カーソルの右に文字を挿入[移] |
A | カーソル行の行末に文字を挿入[移] |
o | カーソル行の下の行に空行を作って文字を挿入[移] |
O | カーソル行の上の行に空行を作って文字を挿入[移] |
c系 | 対象文字列を消して文字を挿入(つまり、変更)[移][n有効] |
C | カーソル位置から行末までを消して文字を挿入[移][n有効(2行目以降は全削除)] |
★変更
r文字 | カーソル位置の文字を指定文字に変更[n有効(n文字を全て指定文字に変換)] |
R | 複数文字置換[移] |
J | その行の末尾の改行をスペースに置換(つまり連結)[n有効(n行連結)] |
~ | カーソル位置の文字を小文字/大文字変換[n有効] |
★削除
x | 1文字削除[n有効] |
d系 | 対象文字列を削除[n有効] |
:g/文字列/d(Enter要) | 指定文字列のある行を全て削除 |
★カット・コピー・ペースト
※上記の削除を行うとカットされたことになってます。
y系 | 対象文字列をコピー[n有効] |
P | 削除(コピー)した文字列をカーソルの前にペースト[n有効] |
p | 削除(コピー)した文字列をカーソルの後にペースト[n有効] |
Shift+INS | (テキスト入力モードで)クリップボードからペースト |
★カーソル移動
h | カーソルを左へ(行間移動しない)[n有効] |
j | カーソルを下へ[n有効] |
k | カーソルを上へ[n有効] |
l | カーソルを右へ(行間移動しない)[n有効] |
| |
w | カーソルを1語進める[n有効] |
b | カーソルを1語戻す[n有効] |
e | カーソルを単語末尾へ(すでに単語末尾なら次の単語の末尾へ)[n有効] |
| |
^ | カーソルを行頭へ |
$ | カーソルを行末へ[n有効(n-1行下の行末へ移動)] |
G | カーソルを最終行行頭へ[n有効(n行目行頭へ)] |
- | 前行の行頭へ[n有効] |
Enter | 次行の行頭へ[n有効] |
★画面移動
H | カーソルを画面先頭へ[n有効(カーソルを画面先頭からn行目へ)] |
M | カーソルを画面真中へ |
L | カーソルを画面最終行へ[n有効(カーソルを画面最終行からn行目へ)] |
C-D | 1/2画面下へ[n有効(カーソルをn行下へ)] |
C-U | 1/2画面上へ[n有効(カーソルをn行上へ)] |
C-F | 1画面下へ[n有効(n画面下へ)] |
C-B | 1画面上へ[n有効(n画面上へ)] |
★検索・置換
/文字列(Enter要) | 文字列検索 |
n | 次の検索文字列へ |
N | 前の検索文字列へ |
:1,$s/文字列A/文字列B/g(Enter要) | 文字列Aを全て文字列Bに置換 |
:s/文字列A/文字列B/g(Enter要) | カーソル行の文字列Aを全て文字列Bに置換 |
★ファイル操作
ZZ | 保存して終了 |
:w(Enter要) | 上書き保存 |
:w ファイル名(Enter要) | 名前を付けて保存 |
:wq(Enter要) | 保存して終了 |
:q!(Enter要) | 保存せずに終了 |
:q(Enter要) | 終了 |
:e ファイル名(Enter要) | ファイルを開く |
★アンドゥなど
HOME