日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、全翻訳済み)
6.4-STABLE-K, 7.2-STABLE-K, 8.0-STABLE-K は現在、 作成中で日々更新されています。 最新の snapshots を元に作成しています。
VI(1) VI(1)
名称
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 は行指向のエディタです。
ex と vi は同じプログラムで別のインタフェースを提供し、エディット中に切
り替えることが可能です。 view は vi に -R (読み込み専用) オプションをつ
けて実行した場合と同じです。
こ のマニュアルは ex/vi テキストエディタから派生した nex/nvi 用として提
供されています。 nex/nvi は Fourth Berkeley Software Distibution (4BSD)
オ リジナルの ex と vi のバグひとつひとつの互換性も含めて置き換えたつも
りです。このマニュアルでは、以後、伝統的な 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 コマンド名が vi か view であるかのように、 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
count と motion で指定された範囲の文字列の大文字小文字を入れ換え
ます。
<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>
最 後に入力した単語を消します。単語の定義は、 altwerase と ttyw-
erase のオプションに依存します。
<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 のようなブール値で、関連する値は持ちません。
これらのオプションは、特に断りがない場合は ex と vi の両方のモードに 適
用されます。
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 のみ。このオプションが設定されていなければ、 open と visual
コマンドは許されません。
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 のみ。左マージンから指定したカラム数で、行を自動的に折り返し
ます。もし、 wraplen と wrapmargin の両方の編集オプションが セッ
トされると、 wrapmargin の値が使われます。
wrapmargin, wm [0]
vi の み。右マージンから指定したカラム数で、行を折り返します。
wraplen と wrapmargin 編集オプションの両方が指定されると、 wrap-
margin の値が使われます。
wrapscan, ws [on]
検索が、ファイルの最後に達したら最初へと戻ります。
writeany, wa [off]
ファイルの上書きチェックを切り替えます。
環境変数
COLUMNS
画面のカラム数。この値は、システムや端末固有のどの値をも上書きし
ます。 ex/vi の起動時に環境変数 COLUMNS が設定されていない場合、
ま たは columns オプションによりユーザが明示的に値をリセットした
場合は、 ex/vi は環境変数 COLUMNS にこの値を設定します。
EXINIT ex のスタートアップコマンドのリスト。 NEXINIT が設定されていない
場合に読み込まれます。
HOME ユー ザ の ホー ム ディ レ クトリ。起動時に ``$HOME/.nexrc'' と
``$HOME/.exrc'' を読み込むための初期ディレクトリパスとして使われ
ます。この値は、 vi の cd コマンドのデフォルトディレクトリとして
も使われます。
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 Docu
ments'' の中で見つかります。これは、手に入るものの中で 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 には、両方の面に
則って作られたという違いがあります。
3rd Berkeley Distribution October 10, 1996 VI(1)