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 |
日本語マニュアルを表示 |