| :map キー コマンド列 | コマンドモードで実行したい一連のコマンドをキーに割り当てる。(コマンドに 、[ESC]などの特殊キーを含めるときは、直前に[CTRL]-[v]を入力する。
xや dなどの viコマンドの名前をキーにした場合は、mapによって割り当てられた機能が優先実行される。 |
| :map! キー 文字列 | 入力モードでキーを入力すると、指定した文字列が入力される。 |
| :unmap[CTRL]-[v] | mapで割り当てたキーを無効にする。 |
| :unmap![CTRL]-[v] | map!で割り当てたキーを無効にする。 |
ワンポイント
| コマンド、文字列の割り当ての有効期限は? |
設定したキーは 無効の命令を入力するか、viが終了するまで有効です。同じオプションを毎回使用する場合は、.exrcファイルにコマンドを書き込むと、vi起動時に自動的に設定されます。
| 8.その他のコマンド |
![]() |
| :!UNIXコマンド | 編集中、viを終了させずにUNIXコマンドを実行する。コマンド実行が終わると実行前の状態に戻る。 |
| :sh | viを終了させずにシェルを起動する。複数のコマンドを実行するときに便利。exitコマンドでviに戻る。 |
| [CTRL]-[z] | viを一時停止し、バックグラウンドに移動する。フォアグラウンドでは、UNIXのプロンプトが表示されコマンド入力が可能になる。 バックグラウンドのviを元に戻すには、プロンプトでfgと入力する。 |
| !カーソル移動コマンドUNIXコマンド | 編集対象のテキストのうち、カーソル移動コマンドで指定された部分を対象にUNIXコマンド(sort,trなど)を実行する。 |
| [n]!!UNIXコマンド | 現在行を含む n 行に対してUNIXコマンドを実行する。nを省略すると現在行が対象となる。 |
| u (undo) | 直前のコマンド実行の取り消し |
| U | 同一行で行われた変更の取り消し |
| .(ドット) | 直前の変更コマンド(削除、置換など)の実行を繰り返す |
例えば、同じ単語の置き換えを繰り返ししたいとき、1回目だけは、cw→置き換えたい単語の入力→[ESC] と実行し、2回目以降は変更したい単語の先頭にカーソルを移動して .と押すだけでOKです。■行をまとめる
| J (join) | 現在行と次行を1行にまとめる。 |
| 9. .exrcファイル |
![]() |
set や mapなどの設定を記述しておくファイル。 vi起動時にファイルの中に書いてある設定が自動的に行われる。ワーキングディレクトリ--ホームディレクトリの順に探して読み込むので、 一般的な設定は自分のホームディレクトリに、各種作業用の設定は該当するディレクトリ配下に .exrcファイルを作成するとよい。 ワーキングディレクトリの.exrcを有効にするためには、オプションexrcの設定が必要なシステムもある。
|