名前 | 形式 | 機能説明 | オプション | オペランド | コマンド概要 | 使用法 | 環境 | ファイル | 属性 | 関連項目 | 著者 | 注意事項
/usr/bin/vi [-| -s] [-l] [-L] [-R] [-r [filename]] [-S] [-t tag] [-v] [-V] [-x] [-wn] [-C] [+command | -c command] filename...
/usr/bin/view [-| -s] [-l] [-L] [-R] [-r [filename]] [-S] [-t tag] [-v] [-V] [-x] [-wn] [-C] [+command | -c command] filename...
/usr/bin/vedit [-| -s] [-l] [-L] [-R] [-r [filename]] [-S] [-t tag] [-v] [-V] [-x] [-wn] [-C] [+command | -c command] filename...
/usr/xpg4/bin/vi [-| -s] [-l] [-L] [-R] [-r [filename]] [-S] [-t tag] [-v] [-V] [-x] [-wn] [-C] [+command | -c command] filename...
/usr/xpg4/bin/view [-| -s] [-l] [-L] [-R] [-r [filename]] [-S] [-t tag] [-v] [-V] [-x] [-wn] [-C] [+command | -c command] filename...
/usr/xpg4/bin/vedit [-| -s] [-l] [-L] [-R] [-r [filename]] [-S] [-t tag] [-v] [-V] [-x] [-wn] [-C] [+command | -c command] filename...
/usr/xpg6/bin/vi [-| -s] [-l] [-L] [-R] [-r [filename]] [-S] [-t tag] [-v] [-V] [-x] [-wn] [-C] [+command | -c command] filename...
/usr/xpg6/bin/view [-| -s] [-l] [-L] [-R] [-r [filename]] [-S] [-t tag] [-v] [-V] [-x] [-wn] [-C] [+command | -c command] filename...
/usr/xpg6/bin/vedit [-| -s] [-l] [-L] [-R] [-r [filename]] [-S] [-t tag] [-v] [-V] [-x] [-wn] [-C] [+command | -c command] filename...
vi (ビジュアル) は、ラインエディタ ex に基づいたディスプレイ指向のテキストエディタです。vi の中から ex のコマンドモードを使用することも、ex の中から vi のコマンドモードを使用することも可能です。ビジュアルコマンドは、本マニュアルページで説明しています。オプションの設定の仕方 (自動行番号付けや、改行を押したときの新しい出力行の開始など)、および ex ラインエディタのすべてのコマンドは、ex(1) で説明しています。
vi を使用すると、ユーザーがファイルへ行う変更は、ユーザーが見ている端末スクリーンに反映されます。スクリーン上のカーソルの位置は、ファイルの中の位置を示します。
view 呼び出しは、readonly (読み取り専用) フラグを設定することを除くと vi と同じです。
vedit 呼び出しは、初心者を想定したものです。基本的に vi と同じですが、フラグを 1 に設定し、showmode および novice フラグを設定し、magic をオフにします。このようなデフォルトに設定することによって、vi の使い方がより分かりやすくなります。
次のオプションを指定できます。
以下の呼び出しオプションは、vi によって解釈されます (以前に文書化されていたオプションについては、以降の「注意事項」で説明しています)。
ユーザーへのすべての対話型フィードバックを抑止します。エディタスクリプト実行中に便利なオプションです。
暗号化オプション。-x オプションと同様ですが、vi は ex の C コマンドをシミュレートします。この両コマンドの違いは、C コマンドでは読み込まれたテキストは暗号化されているものと 無条件にみなされるという点です。
LISP を編集するための設定を行います。
エディタもしくはシステムのクラッシュ発生によって保存された全ファイルの名前を表示します。
エディタやシステムのクラッシュ後、filename を編集しますつまりクラッシュ発生時に バッファ中にあったバージョンを復旧させます。
読み取り専用モード。readonly フラグがセットされ、ファイルの上書きは不可能となります。
このオプションは -t tag オプションと合わせて指定します。タグファイルがソートされていない場合や、バイナリ検索 (ソートされたタグファイルに依存) がタグの検索に失敗するときに遅延リニア検索も行うように、vi に伝えます。リニア検索は遅いため、大規模なタグファイルを処理する場合には、このフラグを使用するよりもソートされたタグファイルを使用するようにしてください。通常、タグファイルを作成すると、タグファイルはソートされて生成されます。タグファイルについての詳細は、ctags(1) を参照してください。
tag を含むファイルを編集し、その定義に従ってエディタの編集位置を設定します。-t オプションを複数指定すると、エラーになります。
vi を使った編集の画面表示を開始します。vi コマンドを入力しても同様に実行できます。
詳細表示。ex コマンドを標準入力で読み込んだ場合、入力は標準エラーに表示されます。シェルスクリプトの ex コマンド実行時に役に立ちます。
ウィンドウサイズのデフォルト値を n に設定します。低速の回線でエディタを使用している場合に便利です。
暗号化オプション。これを使用すると、ex の X コマンドをシミュレートし、ユーザーに対してプロンプトを出し、1 つのキーの入力を求めます。このキーにより、暗号化と復号化が crypt コマンドのアルゴリズムを使って実行されます。X コマンドは読み込まれたテキストが 暗号化されているか否かを判定するのに高度な推測を行います。一時バッファファイルも、-x オプションで入力したキーを変形したバージョンを用いて暗号化されます。空の暗号化キーが入力された場合 (つまり、プロンプトに対してリターンを返した場合)、ファイルは暗号化されません。これは、Back Space キーや Undo キーなど、暗号化キーの入力ミスによって、誤って暗号化されてしまったファイルを解読するための回避策です。
command で示したエディタコマンドを冒頭に実行して編集処理を開始します。通常は、検索または位置指定用のコマンドが用いられます。
-t tag と -c command の両方のオプションを指定した場合、-t tag オプションが始めに実行されます。つまり、tag のついたファイルを -t によって選んでから、コマンドが実行されます。
vi のコマンドモードは、このセクションにまとめられています。
標準モードおよび初期モードです。他のモードは完了すると、このコマンドモードへ戻ります。コマンドの入力を中断するには ESC (エスケープ) を使用します。
次のいずれかのオプションを入力します。
a A i I o O c C s S R |
そうすると、任意のテキストを入力できます。入力モードの終了は、通常、ESC 文字で行います。ただし、割り込みでも異常終了できます。
: / ? または ! は読み取り入力です。キャリッジリターンで終了します。割り込みで終了をキャンセルします。
説明では、CR はキャリッジリターンを表し、ESC はエスケープキーを表します。
矢印キーはカーソル移動
矢印キーと同じ
text を挿入
単語を new に変更
単語を複数形に (単語の終わり; s の追加 ; 入力状態からエスケープ)
文字の削除
単語の削除
行の削除
3 行削除
前回の変更を取り消し
変更を保存し、vi を終了
変更を保存せず、vi を終了
text の検索
スクロールアップとスクロールダウン
ex または ed のコマンド
ファイルが変更されていれば、書き込みと終了。それ以外、終了のみ
変更の書き込み
アクセス権が有効でないときの強制書き込み
終了
変更は無視して、終了
ファイル name の編集
変更は無視して、再編集
ファイルの最後から編集開始
ファイルの n 行目から編集開始
代替ファイルの編集
変更は無視して、代替ファイルの編集
ファイル name に書き込み
ファイル name に上書き
シェルの実行と復帰
cmd の実行と復帰
引数リストの次のファイルを編集
新しい引数リストを指定
現在のファイルと行の表示
カーソルは tag の位置
ex または ed コマンド (substitute または global など) も入力することができます。このときは、前にコロン、後ろにキャッリッジリターンを入力します。
画面の先送り
画面の後戻し
半画面スクロールダウン
半画面スクロールアップ
指定した行の行頭に移動 (デフォルトは文末) n は行番号
pat に一致する行 (前方)
pat に一致する行 (後方)
前回の / または ? コマンドの繰り返し
前回の / または ? コマンドの逆転
n 回目に pat に一致する行 (前方)
n 回目に pat に一致する行 (後方)
次の節または関数
前の節または関数
文の始まり
文の終わり
パラグラフの始まり
パラグラフの終わり
( に対応する )、または { に対応する } を検索
ウィンドウのクリアと再表示
ウィンドウのクリアと再表示 (^L が -> キーのとき)
現在の行をウィンドウの一番上にして画面を再表示
現在の行をウィンドウの一番下にして画面を再表示
現在の行をウィンドウの真ん中にして画面を再表示
pat に一致する行はウィンドウの一番下
ウィンドウは n 行
1 行スクロールダウン
1 行スクロールアップ
前のコンテキストへカーソルを移動
行の最初の空白以外の部分へカーソルを移動
現在の位置に ASCII 文字の x でマーク付け
x でマークを付けた行へカーソルを移動
x でマークを付けた行の最初の空白以外の部分へカーソルを移動
画面の一番上
画面の一番下
画面の真ん中
次行 (最初の空白以外の部分)
前行 (最初の空白以外の部分)
改行。+ と同じ
次行。同じカラム
前行。同じカラム
最初の空白以外の文字
行の先頭
行の終端
正方向
逆方向
<- と同じ (バックスペース)
-> と同じ (スペースバー)
x の検索 (前方)
x の検索 (後方)
前方の x の直前の文字に移動
後方の x の直後の文字に移動
前回の f、F、t、または T の繰り返し
前回の f、F、t、または T の逆の繰り返し
n カラム移動
( に対応する )、または { に対応する } を検索
前方の単語
後方の単語
語の終端
次の文
次のパラグラフ
前の文
前のパラグラフ
空白文字で区切られた前方の単語
空白文字で区切られた後方の単語
空白文字で区切られた単語の終わり
最後の文字の消去 (バックスペース)
最後の単語の消去
ユーザーの消去文字。^H (バックスペース)
ユーザーの抹消文字。入力行を消去
ユーザーの消去文字および抹消文字をクォート
挿入を終了。コマンドモードへ復帰
割り込み。挿入モードを中断
1 文字バックタブ。autoindent の左マージンの解除
キャレット (^) と control-d (^D) 行頭までバックタブ。autoindent の左マージンは解除しない
行頭までバックタブ。autoindent の左マージンの解除
非出力文字のクォート
カーソルの後に追加
行の終わりに追加
カーソルの前に挿入
空白文字でない最初の文字の前に挿入
下の行をオープン
上の行をオープン
1 文字を x に置換
文字を置換
演算子のあとにはカーソル動作が続き、カーソルが通過したテキストすべてに演算子が適用されます。たとえば、w は 1 単語移動しますが、dw とすると 1 単語削除します。演算子を重ねると、1 行に適用されます。たとえば dd とすると、1 行すべてを削除します。
削除
変更
行をバッファに退避 (yank)
左シフト
右シフト
コマンドへのフィルタ
行の残りの部分を変更 (c$)
行の残りの部分を削除 (d$)
文字の置換 (cl)
行の置換 (cc)
行の結合
文字の削除 (dl)
カーソルの直前の文字を削除 (dh)
行の yank (yy)
Put は削除したり退避したテキストのうち、最も新しいテキストを挿入します。しかし、バッファが指定された場合は (ASCII の小文字 a から z を使用) そのバッファのテキストを取り出して挿入します。
3 行退避 (yank)
3 文字退避 (yank)
カーソル後にテキストを取り出して挿入
カーソルの前にテキストを取り出して挿入
バッファ x から取り出して挿入
バッファ x に退避 (yank)
バッファ x に削除
ファイルが 2 ギガバイト ( 231 バイト) 以上ある場合の vi と view の動作については、largefile(5) を参照してください。
vi の実行に影響を与える次の環境変数についての詳細は、environ(5) を参照してください。LANG、LC_ALL、LC_COLLATE、LC_CTYPE、LC_TIME、LC_MESSAGES、NLSPATH、PATH、SHELL、および TERM。
システムが選択した値の代わりに用いる、画面の水平方向のサイズ値を 指定します。
エディタの開始時に、最初のファイルの読み込み前に実行する ex コマンドを定義します。複数のコマンドを記述する場合には、縦線 (|) で区切ってください。
システムが選択した値の代わりに用いる、画面の垂直方向のサイズ値を指定します。画面全体の行数、およびビジュアルモードでの 垂直画面サイズとして用いられます。
一時的な作業ファイルを置くデフォルトのディレクトリ。directory オプションを使用して、変更可能 (ex(1) の set コマンドを参照)
コンパイルされた端末記述データべース
コンパイルされた端末記述のデータベースのサブセット
次の属性についての詳細は、マニュアルページの attributes(5) を参照してください。
vi および ex は、カリフォルニア大学バークレイ校、コンピュータ科学学部、電子技術コンピュータ科学学科で開発されました。
サポートを続けてはいますが、マニュアル上では 2 つのオプションがコマンド構文標準 (Intro(1) を参照) に準拠したオプションに置き換えられています。オプション引数を取らない -r オプションは、-L オプションに置き換えられました。+command は -c command に置き換えられています。
ファイルが読み込まれたときに、メッセージ file too large to recover with -r option が表示されることがあります。これは、このファイルの編集および保存はできるが、万一編集内容が失われた場合に、-r オプションで回復できないことを意味します。
編集環境は構成用オプションにデフォルトで設定されています。編集作業を開始するとき、vi は環境変数 EXINIT を読み込もうとします。変数が定義されていればエディタは EXINIT の値を使い、定義されていなければ $HOME/.exrc 中に設定された値を使います。$HOME/.exrc がなければ、デフォルト値を使います。
$HOME 以外の現ディレクトリにある .exrc のコピーを使う場合は、EXINIT または $HOME/.exrc の中の exrc オプションを設定してください。exrc を EXINIT または $HOME/.exrc 中で設定すれば、EXINIT で設定されているオプションをローカルな .exrc で無効にすることができます。.exrc を使用するには、$HOME または現ディレクトリにある .exrc が次の条件を満たす必要があります。
.exrc が存在していること。
exrc の所有者のユーザー ID がプロセスの実ユーザー ID と同じであること。あるいは、プロセスがそれに相当する特権を持っていること。
.exrc の所有者以外は書き込むことができないこと。
/usr/share/lib/terminfo/?/* あるいは /usr/share/lib/terminfo/?/* のエントリを勝手に変更すると (たとえば、エントリを変えたり移したりする)、エントリが存在し、かつ正しいと想定されている vi などのプログラムに影響を及ぼすことがあります。特に、機能の低い端末のエントリを消去すると、不慮の問題を引き起こすことがあります。
^T を使用したソフトウェアタブは、autoindent の直後にのみ動作します。
インテリジェント端末上の左右シフトは、削除や挿入などの端末上の文字操作機能を使用しません。
環境変数 LD_PRELOAD を使用して代替の malloc() ライブラリを読み込むと、/usr/bin/vi に問題が発生することがあります。
現在、vi ユーティリティーには次の制限事項があります。
末尾の改行文字を含め、1 行には 4096 バイトまでしか含めることができません。
それより長い行が見つかった場合、ステータス行に「Line too long」が表示されます。
エディタの一時作業ファイルは、128M バイトより大きくはできません。
それより大きい一時ファイルが必要な場合、ステータス行に「Tmp file too large」が表示されます。
名前 | 形式 | 機能説明 | オプション | オペランド | コマンド概要 | 使用法 | 環境 | ファイル | 属性 | 関連項目 | 著者 | 注意事項