vi
UNIXシステムに標準で実装されている簡易型エディタ。
文字入力中にカーソルを移動させるキー操作です。
コマンドモードでカーソルを移動させるキー操作です。
コマンドモードから上記のどれかの操作を行ってファイルを編集します。
vi
Emacsのように多機能ではありませんが、viはコマンドライン上に開くことが出来るので、簡単なフィルターなどを「ちょいちょい」と書いて実行するのに便利です。
入力モードからコマンドモードに移行するにはEscキーを押します。
viの起動
コマンドラインから文字キーを使って操作します。$ vi [Enter]ファイルを指定して呼出す場合。
$ vi (ファイル名) [Enter]
viのモード
viにはコマンドモードと入力モードがあります。通常は入力モードで文字を入力し、コマンドモードでファイルを保存したり、文字列を検索したりします。入力モードからコマンドモードに移行するにはEscキーを押します。
日本語
viでは使用できませんが、日本語が使用出来るシェル上でvimを開けば使用可能です。文字の入力とファイルの編集
カーソルの移動
| 入力モードでのカーソル移動 | |
|---|---|
| キー操作 | 動作 |
| [Ctrl]+[h] | 1文字左へ |
| [Ctrl]+[j] | 1行下へ |
| [Ctrl]+[k] | 1行上へ |
| [Ctrl]+[l] | 1文字右へ |
| コマンドモードでのカーソル移動 | |
|---|---|
| キー操作 | 動作 |
| h | 1文字左へ |
| j | 1行下へ |
| k | 1行上へ |
| l | 1文字右へ |
| [Space] | 1文字右へ |
| w | 1語右へ |
| b | 1語左へ |
| e | 語の終端へ |
| O | 行の先頭へ |
| $ | 行の終端へ |
| + | 次行の先頭へ |
| - | 前行の先頭へ |
| ( | 文頭へ |
| ) | 文末へ |
編集操作
Emacsと違ってキー操作が特殊なため、慣れるまでは使い辛いかも知れません。| コマンドモードでの編集操作 | |
|---|---|
| キー操作 | 動作 |
| a | カーソル位置に文字を入力 |
| l | 行の先頭に文字を入力 |
| o | カーソルのある行の下に行を挿入して入力 |
| O | カーソルのある行の上に行を挿入して入力 |
| x | カーソル位置の1文字を削除(Delete) |
| X | カーソルの左の1文字を削除(Backspace) |
| dw | カーソル位置の1語を削除 |
| D | カーソル位置から行末までを削除 |
| d^ | カーソル位置から行頭までを削除 |
| dd | カーソルのある行を削除 |
| dG | カーソル位置からファイルの終わりまで削除 |
| u | 削除を取り消す(Undo) |
文字列の検索と置換
viでは、文字列の検索と簡単な置換が行えます。
大きなファイルを編集するならEmacsを使えばいいので、これらの検索や置換はあまり使う機会はないとは思いますが、大小文字の入れ換えは結構使える機能です。
| 文字列の検索と置換 | |
|---|---|
| キー操作 | 動作 |
| /(パターン) | (パターン)を順方向に検索 |
| / | 直前の順方向検索を繰り返す |
| ?(パターン) | (パターン)を逆方向に検索 |
| ? | 直前の逆方向検索を繰り返す |
| cw | 単語を置換 |
| cc | 行を置換 |
| . | 直前の置換を繰り返す |
| ~ | 大文字と小文字を入れ替える |
| u | 直前の置換の取消 |
ファイルの保存
入力モードにある場合、Escキーでコマンドモードに入ってから下記の操作を行い、Enterします。
| ファイルの保存 | |
|---|---|
| キー操作 | 動作 |
| :w (ファイル名) | (ファイル名)を指定して保存 |
| :w | 同じファイル名で保存 |
viの終了
終了する前に、現在編集中のファイルの扱いを決めてコマンド入力します。Emacsのように、未保存のファイルを保存するかどうかは訊いて来ません。
zzで終了する場合のみ、コロン(:)が付きませんので注意して下さい。
| viの終了 | |
|---|---|
| キー操作 | 動作 |
| :x | ファイル内容が変更されていれば保存して終了 |
| zz | |
| :wq | ファイルを保存して終了 |
| :q | ファイルが未保存の場合は警告 |
| :q! | ファイルを保存せずに終了 |
[ UNIX Top ]
[ BACK ]
[ Reference Top ]
[ NEXT ]
[ HOME ]