viエディター
viの起動
$ vi [ファイル名 ...]
指定されたファイルが無い場合は新規作成モードとなる。ファイル名にはワイルドカード(‘*’, ‘?’など)も使用可能。
コマンドモードへ移るためのキー
編集モードへ移るためのテキスト入力キー
- 編集モードへ移るためのテキスト入力キー
コマンド |
説明 |
i |
カーソルの左に文字を挿入 |
I |
カーソル行の行頭に文字を挿入 |
a |
カーソルの右に文字を挿入 |
A |
カーソル行の行末に文字を挿入 |
o |
カーソル行の下の行に空行を作って文字を挿入 |
O |
カーソル行の上の行に空行を作って文字を挿入 |
cw |
対象の単語を消して文字を挿入(つまり、変更) |
cc |
対象の1行を消して文字を挿入(つまり、変更) |
c^ |
カーソル位置から行頭までを消して文字を挿入(つまり、変更) |
C |
カーソル位置から行末までを消して文字を挿入 |
(n個)cw |
対象の単語を消して文字を挿入(つまり、変更) |
(n個)cc |
対象の1行を消して文字を挿入(つまり、変更) |
(n個)c^ |
カーソル位置から行頭までを消して文字を挿入(つまり、変更) |
(n個)C |
カーソル位置から行末までを消して文字を挿入 |
変更
- 変更
コマンド |
説明 |
r文字 |
カーソル位置の文字を指定文字に変更 |
(n個)r文字 |
カーソル位置の文字を(n個)指定文字に変更 |
R |
複数文字置換(現在のカーソル位置から置換) |
J |
その行の末尾の改行をスペースに置換(つまり連結) |
(n個)J |
その行の末尾の(n個)改行をスペースに置換(つまり連結) |
カーソル位置の文字を小文字/大文字変換 |
cw(Change Word) |
1語変更 |
c$ |
カーソル位置から行末まで変更 |
削除
- 削除
コマンド |
説明 |
x |
1文字削除 |
dw |
1語を削除 |
dd |
1行を削除 |
d^ |
カーソル位置から行頭までを削除 |
d$ |
カーソル位置から行末までを削除 |
(n個)x |
1文字削除 |
(n個)dw |
1語を削除 |
(n個)dd |
1行を削除 |
(n個)d$ |
カーソル位置から(n個)行末までを削除 |
:g/文字列/d(Enter要) |
指定文字列のある行を全て削除 |
コピー・ペースト
- コピー・ペースト
コマンド |
説明 |
y |
1文字コピー |
yw |
対象の単語をコピー |
yy |
対象の1行をコピー |
y^ |
カーソル位置から行頭までをコピー |
y$ |
カーソル位置から行末までをコピー |
p |
削除(コピー)した文字列をカーソルの後にペースト |
P |
削除(コピー)した文字列をカーソルの前にペースト |
(n個)y |
(n個)文字コピー |
(n個)yw |
対象の(n個)単語をコピー |
(n個)yy |
対象の(n個)行をコピー |
(n個)y$ |
カーソル位置から(n個)行末までをコピー |
(n個)p |
削除(コピー)した文字列をカーソルの後にペースト |
(n個)P |
削除(コピー)した文字列をカーソルの前にペースト |
カーソル移動キー
コマンド |
説明 |
h(←) |
左へ(行間移動しない) |
j(↓) |
上へ |
k(↑) |
下へ |
l(→) |
右へ(行間移動しない) |
w |
次の単語へ |
b |
前の単語へ |
e |
カーソルを単語末尾へ(すでに単語末尾なら次の単語の末尾へ) |
^ |
カーソルを行頭へ |
$ |
行末へ |
G |
文末へ |
– |
前行の行頭へ |
0 |
行頭へ |
[Enter] |
次の行の先頭へ |
1G |
文頭へ |
nnG |
nn行目へ |
(n個)h(←) |
(n個)左へ(行間移動しない) |
(n個)j(↓) |
(n個)上へ |
(n個)k(↑) |
(n個)下へ |
(n個)l(→) |
(n個)右へ(行間移動しない) |
(n個)w |
(n個)次の単語へ |
(n個)b |
(n個)前の単語へ |
(n個)e |
(n個)カーソルを単語末尾へ(すでに単語末尾なら次の単語の末尾へ) |
(n個)$ |
(n個)行末へ |
(n個)G |
(n個)文末へ |
(n個)- |
(n個)前行の行頭へ |
(n個)[Enter] |
(n個)次の行の先頭へ |
カーソル画面移動キー
コマンド |
説明 |
H |
カーソルを画面先頭へ |
M |
カーソルを画面真中へ |
L |
カーソルを画面最終行へ |
ctrl + d |
1/2画面下へ |
ctrl + u |
1/2画面上へ |
ctrl + f |
次画面へ |
ctrl + b |
前画面へ |
(n個)H |
カーソルを(n個)画面先頭へ |
(n個)M |
カーソルを(n個)画面真中へ |
(n個)L |
カーソルを(n個)画面最終行へ |
ctrl + d |
1/2画面下へ |
ctrl + u |
1/2画面上へ |
(n個)ctrl + f |
次(n個)画面へ |
(n個)ctrl + b |
前(n個)画面へ |
検索
コマンド |
説明 |
/正規表現 |
前方検索 |
?正規表現 |
後方検索 |
n |
次の候補 |
N |
前の候補 |
置き換え
コマンド |
説明 |
:1,$s/正規表現/置き換え文字列/g(Enter要) |
文書内の全ての「正規表現」を「置き換え文字列」に置換 |
:s/正規表現/置き換え文字列/g(Enter要) |
行の全ての「正規表現」を「置き換え文字列」に置換 |
:1,$s/文字列A/文字列B/g(Enter要) |
文書内の全ての「文字列A」を「全て文字列B」に置換 |
:s/文字列A/文字列B/g(Enter要) |
行の全ての「文字列A」を「全て文字列B」に置換 |
ファイル操作
コマンド |
説明 |
ZZ |
セーブして終了 |
:w(Enter要) |
セーブするが終了しない |
:w ファイル名(Enter要) |
名前を付けて保存 |
:q |
(Enter要)セーブせずに終了 |
:q!(Enter要) |
変更した行もセーブせずに終了 |
:wq(Enter要) |
セーブして終了 |
:e ファイル名(Enter要) |
ファイルを開く |
その他
コマンド |
説明 |
.(ドット) |
直前の変更操作の繰り返し |
(n個)u |
直前の(n個)変更操作の取り消し(何回でも戻れる) |
:r xxx |
ファイル xxx の内容を次の行に挿入 |
:r! xxx |
OSの xxx コマンドを実行し、その結果を次の行にに挿入 |
:h |
日本語マニュアルを表示 |