
| ■起動■ | |
|---|---|
| vi ファイル名 | 編集対象のファイルを開く(複数ファイルも可) |
| vi +n ファイル名 | n 行目から表示する |
| vi + ファイル名 | 最後一画面を表示する |
| vi + /文字列 ファイル名 | 文字列が存在する行から表示する |
| vi -r ファイル名 | 壊れたファイルをリカバリする |
| ■カーソル移動■ | ||
|---|---|---|
| h , BS | 1文字左へ移動(←) | |
| j , Ctrl + N | 1行下へ移動(↓) | |
| k , Ctrl + P | 1行上へ移動(↑) | |
| l , SPACE | 1文字右に移動(→) | |
| H | 画面の最上行に移動 | |
| M | 画面の中央行に移動 | |
| L | 画面の最下行に移動 | |
| G | ファイルの最終行に移動 | |
| nG | ファイルのn行目に移動 | |
| 0 | 行の頭へ移動 | |
| $ | 行の最後へ移動 | |
| Ctrl + F | 1ページ下へ | |
| Ctrl + B | 1ページ上へ | |
| Ctrl + D | 半ページ下へ | |
| Ctrl + U | 半ページ上へ | |
| ■入力・編集■ | |
|---|---|
| (コマンドモードでここのコマンドを入力すると入力モードになります) | |
| a | カーソルの右から入力開始 |
| A | 行末から入力開始 |
| i | カーソルの左から入力開始 |
| I | 行頭から入力開始 |
| o | 現在の行の下に1行挿入し、その行頭から入力開始 |
| O | 現在の行の上に1行挿入し、その行頭から入力開始 |
| J | 次の行と現在の行とを結合する |
| 3J | 下の2行を現在の行とを結合する |
| ■削除■ | |
|---|---|
| x | カーソル上の1文字削除 |
| X | カーソルの左の文字を1文字削除 |
| dd | 現在の行を削除(バッファにコピーされる) |
| ndd | n 行、削除 |
| dw | カーソル上の一語を削除 |
| df 字 | カーソル位置から指定した字 までを削除 |
| d$ | カーソル位置から行の最後までを削除 |
| d^ | カーソル位置から行の先頭までを削除 |
| :行1, 行2 d | 行1 から行2 を削除 |
| ■検索■ | |
|---|---|
| /<文字列> | 文字列 を検索する |
| ?<文字列> | 文字列を検索する(逆方向) |
| n | 順方向へ検索する |
| N | 逆方向へ検索する |
| ■置換■ | |
|---|---|
| r | カーソル上の1文字を他の1文字に置換 |
| R | カーソル上の文字からEscが押されるまでの文字列を置換 |
| s | カーソルのある1文字を他の文字列で置換 |
| S | 現在の行を他の文字列で置換 |
| cw | カーソル位置からこの語の最後までを置換 |
| cf 字 | カーソル位置から指定した字 までを置換 |
| C | カーソル位置から行の最後までを置換 |
| :&, & | 直前のsコマンドの繰り返し |
| :%s/置換え前/置換え後 |
置換え前の文字列を、置換え後の文字列で置換 もっとも近くにある文字列一つに対してのみ実行 |
| :%s/置換え前/置換え後/g | ファイルの中すべての文字列に対して、置換えを行う |
| ~ (チルダ) |
大文字/小文字を変更する |
| ■カット&ペースト■ | |
|---|---|
| yy | 現在の行をバッファにコピー |
| nyy | n 行分をバッファにコピー |
| yw | 単語をバッファにコピー |
| p |
バッファ内のテキストを挿入 (文字、単語はカーソルの右に、行は現在の行の下に挿入される) |
| P |
バッファ内のテキストを挿入 (挿入位置はpの逆。文字、単語はカーソルの左に、行は現在の行の上に挿入される) |
| ■Undo・Redo■ | |
|---|---|
| u | 直前の操作を取りやめる |
| U | 行全体の操作を取りやめる |
| . | 直前の操作の繰り返し |
| ■ファイル操作■ | |
|---|---|
| :w [ファイル名] | 現在のファイル(指定ファイル)に保存 |
| :w! [ファイル名] | 書き込みを強行 |
| :行1, 行2 ファイル名 | 行1 から行2 のテキストをファイルに保存 |
| :w >> ファイル名 | 現行ファイルの最後に書き加える |
| :r ファイル名 | 現在の行の次の行にファイルを読み込み、挿入する |
| :r | 現在の行の次の行に現在のファイルを読み込み、挿入する |
| :args | 編集ファイルの一覧を表示する |
| :n | 複数個のファイル編集時、次のファイルを編集対象とする |
| :e# | 一つ前の編集ファイルに戻る |
| :e!% | 現在のファイルを再ロードして、最初から編集をやり直す |
| :e ファイル名 | 指定ファイルを編集対象とする |
| :rewind | 現在のファイルの変更内容を保存して、リストの最初から編集をやり直す |
| :rewind! | 現在のファイルの変更内容を保存しないで、リストの最初から編集をやり直す |
| ■終了■ | |
|---|---|
| ZZ | viを終了(内容が変更されている場合は保存) |
| :wq | ファイルに保存してvi終了 |
| :q | viを終了(内容が変更されている場合は警告) |
| :q! | viの強制終了(内容が変更されていても保存されない) |
| ■UNIXコマンドの実行■ | |
|---|---|
| :!<コマンド> | <コマンド>を実行する |
| :!! | 直前の<コマンド>を再実行する |
| :sh | 一時的にシェルに戻る。exitでviに戻る。 |
| ■コマンドのフィルタリング■ | |
|---|---|
| !<コマンド> | <コマンド>を実行して結果を挿入 |
| !!date | date の結果の挿入 |
| !!tr A-Z a-z | カーソル行の大文字を小文字に変換 |
| ■テキスト入力の略記■ | |
|---|---|
| :ab <文字列> <置換え文字列> | <文字列>と入力すると<置換え文字列>に置き換えるように設定する |
| :unab <文字列> | <文字列>の置き換え設定を解除する |
| :ab | 一覧表示 |
| ■その他■ | |
|---|---|
| Ctrl + G | ファイル名、修正の有無、現在の行数などの情報が表示されます |
| Ctrl + L | 画面を再表示 |
| Shift + Q | exで編集をする |
| vi | exからviに戻る |
| ■コマンド■ | |
|---|---|
| :set number, :set nu | 行番号を表示する |
| :set no number, :set nonu | 行番号の表示をやめる |
| :set showmode | 現在のモードを表示する |
| :set showmatch | () や {} の対応の報告をするようになる |
| :set ignorecase | 大文字/小文字の区別なく検索する |
| :set autoindent | 自動インデントモード |
| :set noautoindent | 自動インデントモードをやめる |
| :set all | すべてのオプションを表示する |
| ■.exrcの例 (viの設定ファイル)■ | |
|---|---|
|
set tabstop = 4 set showmode set autoindent set nonumber set showmatch |
|