viコマンド集

※[移]はテキスト入力モードへ移行することを示します。
※[n有効]はコマンドの前に数値を付けると動作が変わることを示します。
  例えば、x(1文字削除)に数値を付けて、2xなら2文字削除という具合。
  動作が分かりにくいものは説明を付けています。
※"系"が付いているコマンドは、単語対象、行対象などの指定を行うことができます。
  例えば、c系なら、cwで単語の変更、ccで1行変更、c^で行頭から変更という具合。

★モード移行
ESCコマンドモードへ移行
★テキスト入力
iカーソルの左に文字を挿入[移]
Iカーソル行の行頭に文字を挿入[移]
aカーソルの右に文字を挿入[移]
Aカーソル行の行末に文字を挿入[移]
oカーソル行の下の行に空行を作って文字を挿入[移]
Oカーソル行の上の行に空行を作って文字を挿入[移]
c系対象文字列を消して文字を挿入(つまり、変更)[移][n有効]
Cカーソル位置から行末までを消して文字を挿入[移][n有効(2行目以降は全削除)]
★変更
r文字カーソル位置の文字を指定文字に変更[n有効(n文字を全て指定文字に変換)]
R複数文字置換[移]
Jその行の末尾の改行をスペースに置換(つまり連結)[n有効(n行連結)]
~カーソル位置の文字を小文字/大文字変換[n有効]
★削除
x1文字削除[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-D1/2画面下へ[n有効(カーソルをn行下へ)]
C-U1/2画面上へ[n有効(カーソルをn行上へ)]
C-F1画面下へ[n有効(n画面下へ)]
C-B1画面上へ[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要)ファイルを開く
★アンドゥなど
uアンドゥ[n有効]
.作業の繰り返し

HOME