スポンサーリンク

VI

名称
書式
ライセンス
解説
ファーストスタートアップ
VI コマンド
VI の文書入力コマンド
EX コマンド
SET オプション
環境変数
非同期イベント
関連ファイル
関連項目
歴史
規格

名称

ex, vi, view − テキストエディタ

書式

ex [-eFGRrSsv] [-c cmd] [-t tag] [-w size] [file ...]
vi
[-eFGlRrSv] [-c cmd] [-t tag] [-w size] [file ...]
view
[-eFGRrSv] [-c cmd] [-t tag] [-w size] [file ...]

ライセンス

vi プログラムは自由に再配布できます。ライセンスファイルに挙げた条件の下 で、コピー、改変、他者との共有は自由にして下さい。どこかの会社 (個人 で はありません!) で vi が購入を希望するほど十分有用であると認めた場合、ま たは会社で再配布を希望する場合、作者へ寄付をいただければ幸いです。

解説

vi はスクリーン指向のテキストエディタです。 ex は行指向のエディタです。 exvi は同じプログラムで別のインタフェースを提供し、エディット中に切 り替えることが可能です。 viewvi−R (読み込み専用) オプションをつ けて実行した場合と同じです。

こ のマニュアルは ex/vi テキストエディタから派生した nex/nvi 用として提 供されています。 nex/nvi は Fourth Berkeley Software Distribution (4BSD) オリジナルの exvi のバグひとつひとつの互換性も含めて置き換え たつもりです。このマニュアルでは、以後、伝統的な ex/vi の実装と区別する 必要がある時だけ、 nex/nvi という表現を使います。

このマニュアルページは、 ex/vi を既に良く知っているユーザのためのもので す。それ以外の人は、このマニュアルを読む前に良いチュートリアルをしっ か り と読んでおくべきです。あなたが不慣れな環境のもとで、否応無く、しかも 直ちに仕事を片付けなければならないなら、オプションの一覧の後にあ る、‘‘ ファーストスタートアップ’’ というタイトルのセクションを読んで下さい。あ なたがその仕事をこなすには、おそらくこれで十分でしょう。

以下のオプションが利用できます:

−c

エディットセッションがスタートした後ですぐに cmd を実行しま す。 特 に ファイル中の最初の位置を決定するのに非常に役立ちます が、 cmd はポジショニングコマンドに限定されません。これは、伝統 的 な ‘‘+cmd’’ 構文に代わる、POSIX 1003.2 で規定されたインタ フェースです。 nex/nvi は新旧どちらの構文もサポートしています。

−e

コマンド名が ex であるかのように、ex モードで編集を開始しま す。

−F

編集を開始する時にファイル全体のコピーを作成しませ ん ( デ フォ ルトでは、あなたの編集作業中に他の誰かがファイルを変更する 場合に備えてコピーを作成します)。

−l

lisp オプションと showmatch オプションをセットして編集を 始 めます。

−G

gtagsmode オ プションがセットされている時と同じように、 gtags モードで編集を開始します。

−R

コマンド名が view であるかのように、もしくは readonly オ プ ショ ン付きで起動されたかのように、読み込み専用モードで編集を開 始します。

−r

指定したファイルの復旧を行ないます。もしファイルが指定さ れ な かった場合は、復旧可能なファイルの一覧を表示します。もし、復 旧可能なファイルの中に指定した名前のものがなかった場合 は、 −r オ プションが指定されなかったかのように、そのファイルの編集を行 ないます。

−S

外部プログラムへのすべてのアクセスを許さ な い secure エ ディットオプションをセットして起動します。

−s

バッチモードに入ります。バッチモードは ex エディットセッ ションの時しか使えません。バッチモードは ex スクリプトを実行 す る 時に便利です。このモードでは、プロンプトや、情報を伝えるメッ セージや、その他のユーザ向けのメッセージは出力されず、スター ト アッ プ ファ イルや環境変数は読み込まれません。これは、伝統的な ‘‘−’’ 引数に代わる、POSIX 1003.2 で規定されたインタフェー ス で す。 nex/nvi は新旧どちらの構文もサポートしています。

−t

指定したタグの位置でエディットを開始します。 ( ctags(1) 参 照)

−w

起動時のウィンドウの大きさを指定した行数にします。

−v

コマンド名が viview であるかのように、 vi モー ド で エ ディットを開始します。

ex/vi へのコマンド入力は、標準入力から行なわれます。 vi のインタフェー スは、標準入力が端末でない場合にはエラーになります。 ex のインタ フェー ス では、 ex は、標準入力が端末でなくても、ちょうど −s オプションが指定 されている場合のようにセッションがバッチモードであっても、とにかく読 み 込みます。

ex/vi は 成功時に 0 を、エラーが起こった時には 0 より大きな値を返しま す。

ファーストスタートアップ

このセクションは、 vi を使って簡単な編集作業を行なうのに必要な最低限 の こ と を 教えてくれるでしょう。あなたが以前に一度もスクリーンエディタを 使ったことがないなら、この簡単な紹介の章でさえも問題になるかも知れま せ ん。 この場合は、すでに vi を知っている人を探して、その人と一緒にこのセ クションを読むべきです。

vi はスクリーンエディタです。つまり、 vi は常に画面全体を使い、ファイル の 一部分を画面上の (最終行以外の) それぞれの行に表示します。画面の最終 行は、あなたが vi にコマンドを与えたり、 vi があなたに情報を与えたり す るのに使われます。

も うひとつ知っておくべきこととして、 vi はモードを持ったエディタである ことがあります。つまり、テキストを入力したり、コマンドを実行したりす る に は、それぞれの作業を正しいモードで実行しなければなりません。ファイル 編集の最初はコマンドモードになっています。入力モードにするコマンドが 幾 つ か あ り ます。入力モードから抜けるキーはただひとつ、それは <escape> キーです。 (キーの名前は、<,> ではさんで書 く こ と に し ま す。 例 え ば、<escape> は ‘‘ エ ス ケープ’’ キーのことを示し、通常キーボードで は、‘‘esc’’ と表示してあります。) どのモードにいるのかが判らなくなっ た ならば、 vi が、ビープ音を出すまで、<escape> キーを押し続けて下さい。 ( 一般的に、 vi は、許されていないことを何か試みたり、行なったり す る と ビープ音を鳴らします。エラーメッセージも表示します。)

ファ イルの編集を始めるには、‘‘vi file_name<carriage-return>’’ という具 合に、コマンドを入れます。編集を始めると、まず直ちに、 ‘‘:set verbose showmode<carriage-return>’’ と コマンドを入れましょう。そうすることに よって、エディタは、画面の最終行に詳細なエラーメッセージを出すように な りますし、現在のモードも表示するようになります。

ファイル内を移動するコマンド :

h

カーソルを 1 文字左へ動かす。

j

カーソルを 1 行下へ動かす。

k

カーソルを 1 行上へ動かす。

l

カーソルを 1 文字右へ動かす。

<cursor-arrows>

カーソルを矢印が示す方へ動かす。

/text<carriage-return>

ファ イル中の ‘‘text’’ を検索し、その最初の文字へカーソルを移動 します。

新しく文書入力するコマンド :

a

入力した文書カーソルの 後ろへ追加します。

i

入力した文書カーソルの 前に挿入します。

o

カーソルの下に新しい行を設けて、文書の入力を開始します。

O

カーソルの上に行を設けて、文書の入力を開始します。

<escape>

一旦、 a, i, O ないし o などのコマンドで入力モードに入ってか ら は、 文 書の入力を終了しコマンドモードへ戻るためには、 <escape> コマンドを用います。

文書をコピーするコマンド :

yy

カーソルのある行をコピーします。

p

カーソルのある行の下にコピーした行を追加します。

文書を削除するコマンド :

dd

カーソルのある行を削除します。

x

カーソルのある文字を削除します。

ファイルに書き込むコマンド :

:w<carriage-return>

もともと vi のコマンドラインで指定したファイルに、ファイルの 内 容を書き戻します。

:w file_name<carriage-return>

指定された ‘‘file_name’’ に、ファイルの内容を書き出します。

編集を終了し、エディタを抜けるコマンド :

:q<carriage-return>

エ ディットを終了し、 vi から抜けます。 (ファイル内容が変更され ていてまだ保存されていなければ、 vi は、終了指示を拒否します)

:q!<carriage-return>

変更した内容を放棄し、終了します。

最後に注意していただきたいこととして、通常の文字ではない文字は、画面 上 で複数カラムを占めることがあります。また、長い行は、画面上の 1 行に収ま らないこともあります。上記のコマンドは、‘‘物理的な’’ 行や文字に対して作 用 します。つまり、行関係のコマンドはその行が画面上で何行になろうと行全 体に影響を及ぼしますし、文字関係のコマンドはその文字が画面上で何カラ ム を占めていても、その文字全体に影響を及ぼします。

VI コマンド

以 下の章では、 vi のコマンドモードで現れるコマンドについて説明します。 それぞれの記述では、見出し行にコマンドの使用書式を一覧表示します。

[count] <control-A>

count で指定した回数だけ、前方へ現在の単語を検索します。

[count] <control-B>

count で指定した回数だけ、画面を後方へ戻します。

[count] <control-D>

count で指定した行数だけ、画面を前方へスクロールします。

[count] <control-E>

count で指定した行数だけ、画面を前方へスクロールします。カー ソ ルは現在行から離れますが、可能な場合は元のカラムに留まります。

[count] <control-F>

count で指定した回数だけ、画面を前方へスクロールします。

<control-G>

ファイル情報を表示します。

<control-H>

[count] h

count で指定した文字数だけ、カーソルを現在行中で戻します。

[count] <control-J>

[count] <control-N>

[count] j

count で指定した行数だけ、カラム位置を変えずにカーソルを下へ移 動します。

<control-L>

<control-R>

画面を再表示します。

[count] <control-M>

[count] +

count で指定した行数だけ下の行の、最初の空白以外の文字の位置 へ カーソルを移動します。

[count] <control-P>

[count] k

count で指定した行数だけ、カラム位置を変えずにカーソルを上へ移 動します。

<control-T>

最近のタグの状態へと戻ります。

<control-U>

count で指定した行数だけ、画面を後方へスクロールします。

<control-W>

編集中の次の下位のスクリーンに切り替わります。編集中の下位の ス クリーンが他に無い場合には、最初のスクリーンへ切り替えます。

<control-Y>

count で指定した行数だけ、画面を後方にスクロールします。できる かぎり現在の行、カラムにカーソルを残します。

<control-Z>

現在の処理を中断 (suspend) します。

<escape>

ex コマンドを実行します。もしくは、実行中のコマンドを部分 的 に キャンセルします。

<control-]>

タグ参照の内容をタグスタックへプッシュします。 gtagsmode では、 行の最初のカラムにいる時は関数の参照位置を探し、そうでない時 は 関数の定義位置を探します。

<control-^>

最後に編集したファイルへ切り替えます。

[count] <space>

[count] l

count で指定した文字数だけ、カーソルを前方へ行を変えずに移動し ます。

[count] ! motion shell-argument(s)

シェルコマンドの結果を用いて文書を置き換えます。

[count] # #|+|-

カーソルが指す場所の数を増減します。

[count] $

カーソルを現在の行の末尾に移動します。

%

対となる文字へカーソルを移動します。

&

現在行で、前回実行した置換コマンドを再び実行します。

’<character>

‘<character>

マークした文字 <character> の場所へ戻ります。 <character>.

[count] (

count で指定された数だけ、前の文へ戻ります。

[count] )

count で指定された数だけ、後ろの文へ移動します。

[count] ,

count で指定された回数だけ、逆方向へ文字を検索します。

[count] -

count で指定された回数だけ、直前の行で最初に現れる空白でない 文 字への移動を行ないます。

[count] .

直前の vi 編集コマンドを繰り返します。

/RE<carriage-return>

/RE/ [offset]<carriage-return>

?RE<carriage-return>

?RE? [offset]<carriage-return>

N

n

前方/後方に向かって、正規表現による検索を行ないます。

0

現在行の最初の文字に移動します。

:

ex コマンドを実行します。

[count] ;

文字検索を count で指定された回数だけ繰り返します。

[count] < motion

[count] > motion

現在行を、左/右にシフトします。

@ buffer

バッファに保存されたコマンドを実行します。

[count] A

入力モードに入り、文書を行の最後に追加します。

[count] B

count で指定された回数だけ、大単語 (bigword) の先頭文字への移動 を繰り返します。

[buffer] [count] C

現在位置から行末までを変更します。

[buffer] D

現在位置から行末まで削除します。

[count] E

count で指定された回数だけ、大単語の末尾の文字への移動を繰り 返 します。

[count] F <character>

count で 指 定 さ れ た 回 数 だ け、行の先頭から逆方向に文字 <character> を検索/移動を繰り返します。

[count] G

ファイルの最初から数えて count 行目へ、もしくは count を指定 し なかったときはファイルの末尾の行へ、カーソルを移動します。

[count] H

画面の最初から数えて count - 1 行目に移動します。

[count] I

入力モードに入り、行の先頭へ文書を挿入します。

[count] J

現在行と次の行を結合します。

[count] L

画面の下から数えて count - 1 行目に移動します。

M

画面中央の行へ移動します。

[count] O

入 力モードに入ります。現在行の直前に新しい行を作り、文書を追加 します。

[buffer] P

バッファに保存した文書を挿入します。

Q

vi (もしくは visual) モードを終了し、 ex モードへ切り替わ り ます。

[count] R

入力モードに入り、現在行の内容を置き換えます。

[buffer] [count] S

count で指定した行数だけ、行を置き換えます。

[count] T <character>

count で指定した回数だけ、現在行で逆方向に検索し、指定された文 字 <character> の 後ろの文字に移動します。

U

現在行を、カーソルが最後に入ってきた時の直前の状況に復元しま す。

[count] W

count で指定した回数だけ、大単語単位で移動します。

[buffer] [count] X

count で指定した回数だけ、カーソルの前の文字を削除します。

[buffer] [count] Y

行のコピー、(もしくは ‘‘ヤンク’’) を count で指定した行数だけ、 指定したバッファに取り込みます。

ZZ

ファイルに書き込み、 vi を終了します。

[count] [[

count で指定した回数だけ、後方のセクションの先頭へ移動します。

[count] ]]

count で指定した回数だけ、前方のセクションの末尾へ移動します。

^

現在行の空白でない最初の文字へ移動します。

[count] _

count - 1 で指定した行数だけ、下の行の最初の空白でない文字へ 移 動します。

[count] a

入力モードに入り、カーソルの後ろに文書を追加します。

[count] b

count で指定した回数だけ、後方へ単語単位で移動します。

[buffer] [count] c motion

範囲指定した文書を変更します。

[buffer] [count] d motion

範囲指定した文書を削除します。

[count] e

count で指定した数だけ前方の単語の終りに移動します。

[count] f<character>

現 在 行の中で、行末まで count で指定した回数だけ、 <character> を検索します。

[count] i

入力モードに入り、カーソルの前に文書を挿入します。

m <character>

現在の状態 (行とカラム) を <character> へ、保存します。

[count] o

入力モードに入ります。現在行の下に新しい行を作り、文章を追加 し ます。

[buffer] p

バッファから文章を取り出し、追加します。

[count] r <character>

count で指定した文字数だけ、文字を置換します。

[buffer] [count] s

現在行の中で、カーソルのある文字から count で指定する回数だけ、 文字を入れ換えます。

[count] t <character>

現在行の中で、前方へ count で指定する回数だけ、 <character> を 検索し、その文字の 直前へ移動します。

u

ファイルに最後に行なった変更を取り消します。

[count] w

count で指定した回数だけ、前方へ単語単位で移動します。

[buffer] [count] x

count で指定した回数だけ、文字を削除します。

[buffer] [count] y motion

count と motion で指定された範囲をバッファへコピー (もしくは ‘‘yank’’) します。

[count1] z [count2] -|.|+|^|<carriage-return>

画面を再表示します。あわせてカーソル位置や画面のサイズを変更 す ることもできます。

[count] {

count で指定した回数だけ、後方へ段落単位で移動します。

[count] |

現在行の中で count で指定した column 位置に移動します。

[count] }

count で指定した回数だけ、前方へ段落単位で移動します。

[count] ~

count で指定した回数だけ、文字 (列) の大文字、小文字を入れ換え ます。

[count] ~ motion

countmotion で指定された範囲の文字列の大文字小文字を入れ 換 えます。

<interrupt>

現在の作業を中断します。

VI の文書入力コマンド

以 下のセクションでは、 vi エディタの文書入力に用するコマンドに関して記 します。

<nul>

直前の入力を繰り返します。

<control-D>

直前の shiftwidth のカラム境界まで消去します。

^<control-D>

オートインデント文字を全部消し、インデント状態を解除します。

0<control-D>

オートインデント文字を全部消します。

<control-T>

カーソルが shiftwidth オプションの偶数倍のカラム数の直後に来 る まで、適当な数の <tab><space> 文字を挿入します。

<erase>

<control-H>

最後に入力した文字を消します。

<literal next>

次の文字を引用します。

<escape>

文書を全部ファイルに格納し、コマンドモードへ戻ります。

<line erase>

現在行を消します。

<control-W>

<word erase>

最 後 に 入 力 し た単語を消します。単語の定義は、 altwerasettywerase のオプションに依存します。

<control-X>[0-9A-Fa-f]+

指定した 16 進の値を持つ文字を挿入します。

<interrupt>

文書入力モードを中断し、コマンドモードへと戻ります。

EX コマンド

以下のセクションでは、 ex エディタで用いられるコマンドに関して 記 し ま す。 以下のエントリのうち、見出し行にはコマンドの使用書式を記載してあり ます。

<end-of-file>

画面をスクロールします。

! argument(s)

[range]! argument(s)

シェルコマンドを実行するか、もしくはシェルコマンドを用いて指 定 範囲の行にフィルタをかけます。

"

コメントです。

[range] nu[mber] [count] [flags]

[range] # [count] [flags]

指定行を、その行番号を前に付けて表示します。

@ buffer

* buffer

バッファの中身を実行します。

[line] a[ppend][!]

指定行の後に、入力文字を追加します。

[range] c[hange][!] [count]

range で指定した範囲を入力文字で置き換えます。

cs[cope] add | find | help | kill | reset

cscope コマンドを実行する。

[range] d[elete] [buffer] [count] [flags]

ファイルから行を削除します。

di[splay] b[uffers] | c[onnections] | s[creens] | t[ags]

バッファ、cscope 接続、画面、タグを表示します。

[Ee][dit][!] [+cmd] [file]

[Ee]x[!] [+cmd] [file]

別のファイルを編集します。

exu[sage] [command]

指定した ex コマンドの使い方を表示します。

f[ile] [file]

ファイル名を表示し、指定があればファイル名を変更します。

[Ff]g [name]

vi モードのみ。指定した画面をフォアグラウンドに表示します。

[range] g[lobal] /pattern/ [commands]

[range] v /pattern/ [commands]

パターンに合致した (しない) 行にコマンドを適用します。

he[lp]

ヘルプメッセージを表示します。

[line] i[nsert][!]

入力文書を指定した行の前に挿入されます。

[range] j[oin][!] [count] [flags]

行を結合します。

[range] l[ist] [count] [flags]

行を曖昧さがないように表示します。

map[!] [lhs rhs]

マップを定義もしくは表示します。( vi のみ)

[line] ma[rk] <character>

[line] k <character>

行を <character> としてマークします。

[range] m[ove] line

指定した行を目標行の後ろに移動します。

mk[exrc][!] file

略 語、エディタのオプション、マップを指定したファイルに書き込み ます。

[Nn][ext][!] [file ...]

引数リストで指定した次のファイルの編集に移行します。

[line] o[pen] /pattern/ [flags]

オープンモードに入ります。

pre[serve]

後で ex −r オプションを用いてファイルを復元できる形式にして保存 します。

[Pp]rev[ious][!]

引数リストで指定した 1 つ前のファイルを編集します。

[range] p[rint] [count] [flags]

指定した行を表示します。

[line] pu[t] [buffer]

バッファの内容を現在行に追加します。

q[uit][!]

編集を終了します。

[line] r[ead][!] [file]

ファイルを読み込みます。

rec[over] file

事前に保存されている場合に、 file を復元します。

res[ize] [+|-]size

vi モードのみ。現在の画面を大きくするか、もしくは小さくします。

rew[ind][!]

引数リストを巻き戻し、最初の引数のファイルの編集に移行します。

rta[g][!] tagstring

指定したタグを参照しているファイルを編集します。(gtagsmode での み有効)

se[t] [option[=[value]] ...] [nooption ...] [option? ...] [all]

エディタのオプションを表示、もしくは設定します。

sh[ell]

シェルプログラムを実行します。

so[urce] file

ファイルから ex コマンドを読み込み、実行します。

[range] s[ubstitute] [/pattern/replace/] [options] [count] [flags]

[range] & [options] [count] [flags]

[range] ~ [options] [count] [flags]

置換を行ないます。

su[spend][!]

st[op][!]

<suspend>

編集を一時中断します。

[Tt]a[g][!] tagstring

指定のタグを含むファイルを編集します。

tagn[ext][!]

現在のタグの次のタグを含むファイルを編集します。

tagp[op][!] [file | number]

スタックから指定したタグを取り出します。

tagp[rev][!]

現在のタグの前のタグを含むファイルを編集します。

unm[ap][!] lhs

指定した文字列のマップ定義を解除します。

ve[rsion]

ex/vi のバージョンを表示します。

[line] vi[sual] [type] [count] [flags]

ex モードのみ。 vi モードに入ります。

[Vi]i[sual][!] [+cmd] [file]

vi モードのみ。新しいファイルを編集します。

viu[sage] [command]

vi コマンドの使い方を表示します。

[range] w[rite][!] [>>] [file]

[range] w[rite] [!] [file]

[range] wn[!] [>>] [file]

[range] wq[!] [>>] [file]

ファイルに書き出します。

[range] x[it][!] [file]

修正されていれば、ファイルに書きだします。

[range] ya[nk] [buffer] [count]

指定行をバッファにコピーします。

[line] z [type] [count] [flags]

ウィンドウのサイズを調節します。

SET オプション

set (または unset) することによりエディタの動作を変更することができるオ プションが非常にたくさんあります。このセクションでは、これらのオプ ショ ンとその短縮形とデフォルト値を説明します。

以 下の各項目では、最初にオプションをフルネームで、その次に同じ意味を持 つ短縮形が続きます。角括弧の部分は、デフォルト値です。ほとんど の オ プ ションは on または off のようなブール値で、関連する値は持ちません。

こ れらのオプションは、特に断りがない場合は exvi の両方のモードに適 用されます。

altwerase [off]

vi のみ。別の単語削除アルゴリズムを選択します。

autoindent, ai [off]

改行時に自動的にインデントします。

autoprint, ap [off]

ex のみ。自動的に現在の行を表示します。

autowrite, aw [off]

別のファイルに切り替える際に、ファイルが変更されているなら自 動 的にセーブします。

backup [""]

ファイルが上書きされる前にバックアップファイルを作成します。

beautify, bf [off]

コントロール・キャラクタを切り捨てます。

cdpath [環境変数 CDPATH、またはカレントディレクトリ]

cd コマンドのパス接頭子として使われるディレクトリパスです。

cedit [no default]

コロンコマンドライン履歴を編集する文字をセットします。

columns, co [80]

画面のカラム数をセットします。

comment [off]

vi のみ。シェルスクリプト、C、C++言語ファイル先頭のコメントの読 み込みをスキップします。

directory, dir [環境変数 TMPDIR、または /tmp]

テンポラリファイルを作成するディレクトリです。

edcompatible, ed [off]

置換コマンドの接尾子の ‘‘c’’ と ‘‘g’’ の値を記憶するようにし ま す。通常は新しくコマンドを実行するたびに初期化します。

errorbells, eb [off]

ex のみ。エラーメッセージをベルとともに知らせます。

exrc, ex [off]

ローカルディレクトリのスタートアップファイルを読み込みます。

extended [off]

正規表現を egrep(1)−スタイルに拡張します。

filec [no default]

コ ロンコマンドライン上のファイルパス補完を行なう文字をセットし ます。

flash [on]

エラー時にビープを鳴らすのではなく、画面をフラッシュします。

gtagsmode, gt [off]

tags の代わりに GTAGS と GRTAGS を使います。

hardtabs, ht [8]

スペースをハードウェアタブ設定に合わせて設定します。

iclower [off]

検索文字列に大文字が現れなければ、すべての正規表現を大文字小 文 字の区別なく行なうようにします。

ignorecase, ic [off]

正規表現検索で大文字小文字の違いを無視します。

keytime [6]

ex/vi は、後に続くキーを先のキーに続けて解釈しキーマッピングを 行ないますが、後に続くキー入力の待ち時間を1/10秒単位で指定し ま す。

leftright [off]

vi のみ。左右のスクロールを行ないます。

lines, li [24]

vi のみ。画面の行数を設定します。

lisp [off]

vi のみ。さまざまなサーチコマンドとオプションの動作を Lisp 言語 編集用に修正します。 このオプションはまだ実装されていません。

list [off]

行を曖昧でない形式で表示します。

lock [on]

どのファイルの編集、読み込み、書き込みに関しても、排他的ロッ ク をするように試みます。

magic [on]

ある種の文字を正規表現中で特殊扱いします。

matchtime [7]

vi のみ。 showmatch オプションが設定されている場合、 ex/vi は対 になる括弧の上で一時停止しますが、その停止時間を 1/10 秒単位 で 指定します。

mesg [on]

他のユーザからのメッセージ着信を許可します。

modelines, modeline [off]

そ れぞれのファイルの最初と最後の数行を ex コマンドとして読み込 みます。 このオプションが実装されることは決してありません。

noprint [""]

表示可能な文字として扱われない文字を指定します。

number, nu [off]

各行先頭に行番号を付けて表示します。

octal [off]

表示出来ない文字を 8 進数で表示します。デフォルトでは 16 進表示 です。

open [on]

ex のみ。このオプションが設定されていなければ、 openvisual コマンドは許されません。

optimize, opt [on]

vi のみ。ダム端末へのテキスト出力速度を最適化します。 このオ プ ションはまだ実装されていません。

paragraphs, para [IPLPPPQPP LIpplpipbp]

vi のみ。 {} コマンドで使用する段落境界の定義を追加します。

path []

編集するファイルを探すディレクトリの追加分を定義します。

print [""]

常に表示可能な文字として扱われる文字を指定します。

prompt [on]

ex のみ。コマンドプロンプトを表示します。

readonly, ro [off]

ファイルとそのセッションを読み込み専用とします。

recdir [/var/tmp/vi.recover]

復元用のファイルを置くディレクトリです。

redraw, re [off]

vi のみ。ダム端末上で、インテリジェント端末をシミュレート し ま す。 このオプションはまだ実装されていません。

remap [on]

解決されるまで、キーマップを解釈します。

report [5]

変更ないしヤンクについて、エディタが報告する行数を設定します。

ruler [off]

vi のみ。最下行に行/カラムを示す罫を表示します。

scroll, scr [window / 2]

スクロールする行数を設定します。

searchincr [off]

/? コマンドをインクリメンタルにセットします。

sections, sect [NHSHH HUnhsh]

vi のみ。 [[]] コマンドで使用するセクション境界の定義を追加 します。

secure [off]

外部プログラムへのすべてのアクセスを止めます。

shell, sh [環境変数 SHELL、または /bin/sh]

エディタ上から使われるシェルを選択します。

shellmeta [~{[*?$‘’"\]

ファイル名の拡張が必要なとき、その決定をするメタキャラ ク タ を セットします。

shiftwidth, sw [8]

オートインデント、シフトコマンドで用いる幅を設定します。

showmatch, sm [off]

vi のみ。 ‘‘{’’ と ‘‘(’’ に対し ‘‘}’’ と ‘‘)’’ の括弧の対応を表 示します。

showmode, smd [off]

vi のみ。現在のエディタのモードと ‘‘変更’’ フラグを表示します。

sidescroll [16]

vi のみ。左右スクロールで動く幅を設定します。

slowopen, slow [off]

文書を入力中、画面更新を遅らせて表示します。 このオプションはま だ実装されていません。

sourceany [off]

現在のユーザの所有でないスタートアップファイルを読み込みます。 このオプションが実装されることは決してありません。

tabstop, ts [8]

このオプションは、表示で使用されるタブの幅を設定します。

taglength, tl [0]

タグの名前を判別可能な最大文字数を設定します。

tags, tag [tags /var/db/libc.tags /sys/kern/tags]

タグファイルのリストを設定します。

term, ttytype, tty [環境変数 TERM]

端末の型を設定します。

terse [off]

こ のオプションは伝統的にエディタの示すメッセージをより簡潔なも のにするために作られています。この実装では何の影響も与 え ま せ ん。

tildeop [off]

~ コマンドが連係動作をするように修正します。

timeout, to [on]

キーをマップする際のタイムアウト。

ttywerase [off]

vi のみ。別の削除アルゴリズムを選択します。

verbose [off]

vi のみ。エラーが起こる度にエラーメッセージを表示します。

w300 [no default]

vi のみ。転送レートが 1200 ボー以下の場合に設定するウィンドウサ イズ。

w1200 [no default]

vi のみ。転送レートが 1200 ボーの場合に設定するウィンドウ サ イ ズ。

w9600 [no default]

vi のみ。転送レートが 1200 ボー以上の場合に設定するウィンドウサ イズ。

warn [on]

ex のみ。このオプションは、ファイルが最後に書き込まれた後でファ イ ルが修正されている場合、 ! コマンドが実行される前に端末に警 告メッセージを出すようにします。

window, w, wi [環境変数 LINES]

画面のウィンドウサイズを設定します。

windowname [off]

アイコン名、ウィンドウ名を、たとえエディタ終了時に戻すことが で きなくなるとしても、現在作業中のファイル名に変えます。

wraplen, wl [0]

vi のみ。左マージンから指定したカラム数で、行を自動的に折り返し ます。もし、 wraplenwrapmargin の両方の編集オプションがセッ トされると、 wrapmargin の値が使われます。

wrapmargin, wm [0]

vi のみ。右マージンから指定したカラム数で、行を折り返します。 wraplenwrapmargin 編集オプションの両方が指 定 さ れ る と、 wrapmargin の値が使われます。

wrapscan, ws [on]

検索が、ファイルの最後に達したら最初へと戻ります。

writeany, wa [off]

ファイルの上書きチェックを切り替えます。

環境変数

COLUMNS

画 面のカラム数。この値は、システムや端末固有のどの値をも上書き します。 ex/vi の起動時に環境変数 COLUMNS が設定されていない 場 合、または columns オプションによりユーザが明示的に値をリセット した場合は、 ex/vi は環境変数 COLUMNS にこの値を設定します。

EXINIT

ex のスタートアップコマンドのリスト。 NEXINIT が設定 さ れていない場合に読み込まれます。

HOME

ユーザのホームディレクトリ。起動時に ‘‘$HOME/.nexrc’’ と ‘‘$HOME/.exrc’’ を読み込むための初期ディレクトリパスとして使 わ れ ます。この値は、 vicd コマンドのデフォルトディレクトリと しても使われます。

LINES

画面の行数。この値は、システムや端末固有のどの値をも上書 き し ま す。 ex/vi 起動時に、環境変数 LINES が設定されていない か、 lines オプションによりユーザが明示的に値をリセットした場合 は、 ex/vi は環境変数 LINES にこの値を設定します。

NEXINIT

ex のスタートアップコマンドのリスト。

SHELL

ユーザが選んだシェル。 ( shell オプションを参照)

TERM

ユー ザの端末の型。デフォルトの型は ‘‘unknown’’ です。 ex/vi 起動時に環境変数 TERM の値が設定されていないか、また は、 term オプションによりユーザが明示的に値をリセットした場合は、 ex/vi は環境変数 TERM にこの値を設定します。

TMPDIR

テンポラリファイルの作成される場所。 ( directory オ プ ションを参照)

非同期イベント

SIGALRM

vi/ex は、ファイル編集時の定期的なバックアップを行なうためと、 処理に長い時間がかかりそうな時に画面に ‘‘busy’’ のメッセージ を 表示するために、このシグナルを使います。

SIGHUP

SIGTERM

最 後 に ファイル全体を書き込んだ後、現在のバッファを変更した場 合、後に復旧できるように編集中のファイルを保存しようと 試 み ま す。詳細は、 vi/ex リファレンスマニュアルの ‘‘Recovery’’ のセク ションを参照して下さい。

SIGINT

この割り込みが発生した場合、現在の操作は停止され、コ マ ン ドレベルに戻ります。テキスト入力中にこの割り込みが発生した場 合は、テキスト入力を正常に終了させたかのように、ファイルに入 力 中のテキストを書き込みます。

SIGWINCH

スクリーンのサイズ変更を行ないます。詳しくは、 vi/ex リファレン スマニュアルの ‘‘Sizing the Screen’’ のセクションを参照して下さ い。

SIGCONT

SIGQUIT

SIGTSTP

vi/ex はこれらのシグナルを無視します。

関連ファイル

/bin/sh

デフォルトのユーザシェル。

/etc/vi.exrc

システム全体における vi のスタートアップファイル。

/tmp

テンポラリファイルのディレクトリ。

/var/tmp/vi.recover

デフォルトの復元ファイルのディレクトリ。

$HOME/.nexrc

ユーザのホームディレクトリにあるスタートアップファイルで、 1 番 最初に読まれるファイル。

$HOME/.exrc

ユーザのホームディレクトリにあるスタートアップファイルで、 2 番 目に読まれるファイル。

.nexrc

ローカルディレクトリにあるスタートアップファイルで、 1 番最初に読まれるファイル。

.exrc

ローカルディレクトリにあるスタートアップファイル で、 2 番目に読まれるファイル。

関連項目

ctags(1), more(1), curses(3), dbopen(3)

‘‘Vi Quick Reference’’ カード。

‘‘An Introduction to Display Editing with Vi’’ のセクション。 4.3BSD と 4.4BSD のマニュ ア ル セッ ト の ‘‘UNIX User’s Manual Supplementary Documents’’ の中で見つかります。これは、手に入るものの中で vi スクリー ンエディタの入門書にもっとも近いものです。

‘‘Ex Reference Manual (Version 3.7)’’ のセクション。 4.3BSD と 4.4BSD の マニュアルセットの ‘‘UNIX User’s Manual Supplementary Documents’’ の 中で見つかります。これは、 ex エディタのドキュメントで、伝統的 な 4BSD と System V で配布された最終的なリファレンスです。

‘‘Edit: A tutorial’’ セクション。 4.3BSD のマニュアルセットの ‘‘UNIX User’s Manual Supplementary Documents’’ の中で見つかります。これは、 ex スクリーンエディタの単純な版の入門用ドキュメントです。

‘‘Ex/Vi Reference Manual’’ セクション。 4.4BSD のマニュアルセットの ‘‘UNIX User’s Manual Supplementary Documents’’ の中で見つかります。これ は、 nex/nvi テキストエディタのために 4.4BSD と 4.4BSD-Lite で配布され た最終的なリファレンスです。

nex/nvi ドキュメントの roff ソース。これらは nex/nvi のソースコードが置 かれているディレクトリの nvi/USD.doc ディレクトリの中に一緒に配布されて います。

nex/nvi のソースコードが置かれている nvi/docs/internals ディレクトリ の ‘‘autowrite’’, ‘‘input’’, ‘‘quoting’’, ‘‘structures’’ といったファイル 群。

歴史

ex/vi エディタに代わる nex/nvi コマンドは、4.4BSD から登場しました。

規格

nex/nvi は、IEEE Std1003.2 (‘‘POSIX’’) に近いです。この文書は、幾つかの 点 で従来の ex/vi の実際の動作とは異なります。 nex/nvi には、両方の面に 則って作られたという違いがあります。

スポンサーリンク