作成日 : 2007/10/25 H.Naito
更新日 : 2007/11/01 H.Naito
起動
| コマンド |
機能 |
| vi ファイル名 |
指定したファイルを開く |
| vi +n ファイル名 |
n行目から表示する |
| vi + ファイル名 |
ファイルの最後1画面を表示する |
| vi +/文字列 ファイル名 |
文字列( パターン ) のある行から表示する |
| vi -r ファイル名 |
システムダウンなどで壊れたファイルを復旧する |
入力
| コマンド |
機能 |
| a |
カーソルの右にテキストを入力する |
| A |
現在行の行末にテキストを入力する |
| i |
カーソルの左にテキストを入力する |
| I |
現在行の先頭にテキストを入力する |
| o |
現在行の下に1行空けてテキストを入力する |
| O |
現在行の上に1行空けてテキストを入力する |
カーソル移動
| コマンド |
機能 |
| h ( BackSapce キー ) |
1文字左へ移動 ( ← キーと同 ) |
| j ( Ctrl + n キー ) |
1文字下へ移動 ( ↓ キーと同 ) |
| k ( Ctrl + p キー ) |
1行上へ移動 ( ↑ キーと同 ) |
| l ( スペースキー ) |
1文字右へ移動 ( → キーと同 ) |
| H |
画面の最上行へ移動 |
| M |
画面の中央行へ移動 |
| L |
画面の最下行へ移動 |
| G |
ファイルの最終行へ移動 |
| nG |
ファイルの n行目へ移動 |
| 1G |
先頭行へ移動 ( 各行のカラム位置は、テキストの先頭になる ) |
| 0 |
現在行の先頭へ移動 |
| Return キー |
下の行の先頭へ移動 |
| ^ |
空白を除いて現在行の先頭へ移動 |
| $ |
現在行の行末へ移動 |
| - |
上の行の先頭へ移動 |
| w (W) |
次の単語の先頭へ移動 |
| e (E) |
現在または次の単語の末尾へ移動 |
| b (B) |
前の単語の先頭へ移動 |
| nパイプ |
nカラム目へ移動 |
削除
| コマンド |
機能 |
| x |
カーソルのある 1文字を削除 |
| X |
カーソルの左の 1文字を削除 |
| dd |
現在の行を削除 ( 別の場所へ移動可能 ) |
| dw |
カーソル位置からその語の最後までを削除 |
| df |
字カーソル位置から指定した字までを削除 |
| d$ |
カーソル位置から行の最後までを削除 |
| d~ |
カーソル位置から行の先頭までを削除 |
置換
| コマンド |
機能 |
| r |
カーソルのある 1文字を別の 1文字で置換 |
| R |
カーソル位置から Esc キーが押されるまでの文字を置換 |
| s |
カーソルのある 1文字を別の文字列で置換 |
| S ( cc ) |
現在行を別の文字列で置換 |
| cw |
カーソル位置からこの語の最後までを置換 |
| cf文字列 |
カーソル位置から指定した文字列までを置換 |
| C ( c$ ) |
カーソル位置から行の最後までを置換 |
カット & ペースト
| コマンド |
機能 |
| yy ( Y ) |
現在行をバッファにコピー |
| yw |
単語をバッファにコピー |
| p |
バッファ内のテキストを挿入 ( 文字、単語はカーソルの右に、行は現在行の下に挿入される ) |
| P |
バッファ内のテキストを挿入 ( 挿入位置が p と逆になる ) |
| ddp |
dd で削除された行はバッファにコピーされる ( 行が入れ替わる ) |
ファイル操作
| コマンド |
機能 |
| :w |
現在ファイルに保存 |
| :W |
ファイル名指定ファイル ( 現在ファイルと異なるもの ) に保存 |
| :w! [ファイル名] |
書き込みを強行 ( :w で警告されたとき ) |
| :行1, 行2w ファイル名 |
行1 から 行2 までのテキストをファイルに書き込む |
| :w >> ファイル名 |
現在ファイルの最後に書き加える |
| :r ファイル名 |
現在行の次の行にファイルを読み込み、挿入する |
| :r |
現在行の次の行に現行ファイルを読み込み、挿入する |
| :n |
複数個のファイル編集時、次のファイルを編集対象とする |
| :args |
編集ファイルの一覧を表示する |
| :e ファイル名 |
指定ファイルを編集対象とする |
| :e# |
1つ前の編集ファイルに戻る |
終了
| コマンド |
機能 |
| ZZ |
vi を終了する ( 内容が変更されているときはファイルに保存 ) |
| :wq |
ファイルに保存して vi 終了 |
| :q |
vi を終了する ( 内容が変更されているときは警告あり ) |
| :q! |
vi の強制終了。内容はファイルに保存されない |
画面移動
| コマンド |
機能 |
| Ctrl + f キー |
1画面進む。数字を付けるとその数だけ繰り返される |
| Ctrl + b キー |
1画面戻る |
| Ctrl + d キー |
半画面進む |
| Ctrl + u キー |
半画面戻る |
| Ctrl + y キー |
1行進む |
| Ctrl + e キー |
1行戻る |
| z |
現在行を画面最上行に位置付ける |
| z. |
現在行を画面中央に位置付ける |
| z- |
現在行を画面最下行に位置付ける |
| Ctrl + g キー |
表示中の画面の位置を表示する |
検索
| コマンド |
機能 |
| /文字列 |
文字列を順方向に検索する |
| ?文字列 |
文字列を逆方向に検索する |
| n |
検索を繰り返す |
| N |
現在と反対方向に検索する |
| f文字列 |
行内の指定された文字列を順方向に探して移動する |
| F文字列 |
行内の指定された文字列を逆方向に探して移動する |
| ; |
f、F を繰り返す |
| , |
前の f、F に戻る |
文字列の検索置換
| 入力書式 |
解説 |
| 開始行, 終了行s/文字列1/文字列2/オプション |
指定された範囲内で、文字列1 を探し、文字列2 に置き換える。範囲指定には、開始行、終了行を行番号によって明記する方法や、「.」( 現在行を表す ) や「$」( ファイルの最後を表す ) などを行番号の代わりに使う方法などがある。また、「開始行, 終了行」を入力する代わりに「%」を入力してファイル全体を範囲として指定することもできる |
| オプション |
機能 |
| g |
1行に対象文字列が複数あるとき、すべて置換する。省略時は行の最初の文字列のみを置換 |
| c |
文字列置換時に確認の問い合わせを行う |
行の連結
| コマンド |
機能 |
| J |
現在行と次の行を連結する |
| nJ |
現在行から n行を連結する |
UNDO
| コマンド |
機能 |
| u |
直前の修正を取り消す |
| U |
現在行に対し行ったすべての修正を取り消す |
シェル
| コマンド |
機能 |
| :!コマンド名 |
シェルコマンドを実行する |
| % |
現在編集中のファイル名に置き換わる。これで現在編集中のファイルがコンパイルされる |
| :!! |
直前のシェルコマンドを反復する |
| !!コマンド名 |
シェルコマンドを実行し、結果をカーソル位置に挿入する |
| :sh |
シェルへ制御を移す ( csh も使える )。 Ctrl + D で元の状態に戻る |
vi、ex 間の移行
| コマンド |
機能 |
| Q |
vi から ex へ移行 |
| :vi |
ex から vi へ移行 |
括弧対応確認
| コマンド |
機能 |
| % |
( や { を位置付けてから % キーを押すと、対応する ) や } にカーソルが移動する |
画面の再表示
| コマンド |
機能 |
| Ctrl + l キー |
画面を再表示する ( ほかのユーザからの割り込みなどで画面表示が壊れたときなどに使用 ) |
オプション設定
| コマンド |
機能 |
| :set オプション名 |
オプションを設定する |
| :set no オプション名 |
オプション設定を解除する |
| :set オプション名=数値 |
オプションの値を設定する |
| :set all |
使用できるオプションと、その状態の一覧を表示する |
マクロ設定
| コマンド |
機能 |
| :map 記号 機能 |
マクロの定義を行う |
| :unmap 記号 |
マクロの定義を解除する |
| :map |
現在定義中のマクロの一覧を表示する |
最終更新:2007年11月01日 17:02