ユーザーコマンド vi(1)
【名前】
vi, view, vedit - ex に基づいたスクリーン指向の (ビジュアル)
ディスプレイエディタ
【形式】
/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 によって解釈されます (以前 に
文書化されていたオプションについては、以降の「注意事項」で説
明しています)。
- | -s フィードバックのすべてを抑制
します。編集スクリプト実行時
に役に立ちます。
-C -x オプションと同様に、暗 号
オ プ ションです。ただし、vi
は ex の C コマンドをシミュ
レートします。C コマンドは X
コマンドに似ていますが、読み
取られたテキストは、すべて暗
号化されていると仮定します。
-l LISP プログラムの編集のた め
の設定を行います。
-L エディタやシステムの ク ラッ
シュ の 結果として保存された
ファイル名をすべてリストしま
す。
-r filename エディタやシステムの ク ラッ
シュ 後、filename を編集しま
す (クラッシュが発生したとき
に バッ ファ の 中 に あった
filename のバージョンを回 復
します)。
-R Readonly (読み取り専用モード
)。 このフラグを設定すると、
ファイルに誤って上書きするこ
とを防止できます。
-S このオプションは -t tag オプ
ションと合わせて指定します。
タグファイルがソートされてい
な い 場合や、バイナリ検索 (
ソートされたタグファイルに依
存) がタグの検索に失敗すると
きに遅延リニア検索も行うよう
に、 vi に伝えます。リニア検
索は遅いため、大規模な タ グ
ファイルを処理する場合には、
このフラグを使用するよ り も
ソートされたタグファイルを使
用するようにしてください。通
常、 タ グファイルを作成する
と、タグファイルはソートされ
て生成されます。タグファイル
についての詳細 は、 ctags(1)
を参照してください。
-t tag tag を含むファイルを編集し、
その定義に従ってエディタの編
集位置を設定します。複 数 の
-t オプションを指定してはな
りません。
-v vi を使った編集画面を表示 し
ます。単に vi コマンドを入力
しても同じように実行で き ま
す。
-V 冗長。ex コマンドが標準入 力
によって読み込まれる場合に、
その入力を標準エラーに反映し
ま す。 シェルスクリプト中の
ex コマンドを実行する場合 に
役に立ちます。
-wn デフォルトのウィンドウサイズ
を n に設定します。これは、
低速の回線でエディタを使用す
るときに役に立ちます。
-x 暗号オプション。これを使用す
る と、 ex の X コマンドをシ
ミュレートし、ユーザーに対し
て プ ロンプトを出し、1 つの
キーの入力を求めます。 こ の
キーを使って、crypt コマンド
のアルゴリズムに従い、テキス
トを暗号化したり、暗号を解除
したりします。X コマンドは、
読み取ったテキストが暗号化さ
れているかどうかを判別 し ま
す。また、一時バッファファイ
ルも -x オプションに対して入
力したキーの変形バージョンを
用いて暗号化されます。空の暗
号化キーが入力された場合 (つ
まり、プロンプトに対し て リ
ター ンを返した場合)、ファイ
ルは暗号化されません。 こ れ
は、 Back Space キーや Undo
キーなど、暗号化キーの入力ミ
スによって、誤って暗号化され
てしまったファイルを解読する
ための回避策です。
+command | -c command 指定されたエディタコマ ン ド
command (通常は検索コマンド
または位置設定コマンド) を実
行し、編集を始めます。
[/usr/xpg4/bin/vi および /usr/xpg6/bin/vi]
-t tag と -c command の両方のオプションを指定した 場 合、 -t
tag オ プションがが始めに実行されます。つまり、tag のついた
ファイルを -t によって選んでから、コマンドが実行されます。
【オペランド】
次のオペランドを指定できます。
filename 編集の対象となるファイル
【コマンド概要】
[vi のモード]
コマンド 標準モードおよび初期モードです。他のモードは
完了すると、このコマンドモードへ戻ります。コ
マンドの入力を中断するには ESC (エスケープ )
を使用します。
入力
a A i I o O c C s S R
のいずれかを入力すると、任意のテキストを 入
力できます。入力モードの終了は、通常、ESC 文
字で行います。ただし、割り込みでも異常終了で
きます。
最終行 : / ? または ! は読み取り入力です。キャ リッ
ジリターンで終了します。割り込みで終了をキャ
ンセルします。
[サンプルコマンド]
説明では、CR はキャリッジリターンを表し、ESC はエ ス ケー プ
キーを表します。
<- 矢印キーはカーソル移動
->
下矢印
上矢印
h j k l 矢印キーと同じ
itextESC text を挿入
cwnewESC 単語を new に変更
easESC 単語を複数形に (単語の終わり; s の追加 ; 入
力状態からエスケープ)
x 文字の削除
dw 単語の削除
dd 行の削除
3dd 3 行削除
u 前回の変更を取り消し
ZZ 変更を保存し、vi を終了
:q!CR 変更を保存せず、vi を終了
/textCR text の検索
^U ^D スクロールアップとスクロールダウン
:cmdCR ex または ed のコマンド
[vi コマンドの前の数]
数を接頭辞としてコマンドの前に入力することができます。入力さ
れた数は、次のいずれかの方法で解釈されます。
行/カラム数 z G |
スクロール量 ^D ^U
繰り返し その他のほとんどのコマンド
[割り込み、取り消し]
ESC 挿入や途中のコマンドの終了
DEL (delete または rubout) 割り込み
[ファイル操作]
ZZ ファイルが変更されていれば、書き込みと終了。
それ以外、終了のみ
:wCR 変更の書き込み
:w!CR アクセス権が有効でないときの強制書き込み
:qCR 終了
:q!CR 変更は無視して、終了
:e nameCR ファイル name の編集
:e!CR 変更は無視して、再編集
:e + nameCR ファイルの最後から編集開始
:e +nCR ファイルの n 行目から編集開始
:e #CR 代替ファイルの編集
:e! #CR 変更は無視して、代替ファイルの編集
:w nameCR ファイル name に書き込み
:w! nameCR ファイル name に上書き
:shCR シェルの実行と復帰
:!cmdCR cmd の実行と復帰
:nCR 引数リストの次のファイルを編集
:n argsCR 新しい引数リストを指定
^G 現在のファイルと行の表示
:ta tagCR カーソルは tag の位置
ex または ed コマンド (substitute または global など) も入力
することができます。このときは、前にコロン、後ろにキャッリッ
ジリターンを入力します。
[ファイルの中での位置決め]
F 画面の先送り
^B 画面の後戻し
^D 半画面スクロールダウン
^U 半画面スクロールアップ
nG 指定した行の行頭に移動 (デフォルトは文末) n
は行番号
/pat pat に一致する行 (前方)
?pat pat に一致する行 (後方)
n 前回の / または ? コマンドの繰り返し
N 前回の / または ? コマンドの逆転
/pat/+n n 回目に pat に一致する行 (前方)
?pat?-n n 回目に pat に一致する行 (後方)
]] 次の節または関数
[[ 前の節または関数
( 文の始まり
) 文の終わり
{ パラグラフの始まり
} パラグラフの終わり
% ( に対応する )、または { に対応する } を検索
[画面の調整]
^L ウィンドウのクリアと再表示
^R ウィンドウのクリアと再表示 (^L が -> キー の
とき)
zCR 現在の行をウィンドウの一番上にして画面を再表
示
z-CR 現在の行をウィンドウの一番下にして画面を再表
示
z.CR 現在の行をウィンドウの真ん中にして画面を再表
示
/pat/z-CR pat に一致する行はウィンドウの一番下
zn.CR ウィンドウは n 行
^E 1 行スクロールダウン
^Y 1 行スクロールアップ
[マーク付けと復帰]
`` 前のコンテキストへカーソルを移動
'' 行の最初の空白以外の部分へカーソルを移動
mx 現在の位置に ASCII 文字の x でマーク付け
`x x でマークを付けた行へカーソルを移動
'x x でマークを付けた行の最初の空白以外の部分へ
カーソルを移動
[行の位置指定]
H 画面の一番上
L 画面の一番下
M 画面の真ん中
+ 次行 (最初の空白以外の部分)
- 前行 (最初の空白以外の部分)
CR 改行。+ と同じ
下矢印 次行。同じカラム
または j
上矢印 前行。同じカラム
または k
[文字の位置指定]
^ 最初の空白以外の文字
0 行の始まり
$ 行の終わり
l または -> 正方向
h または <- 逆方向
^H <- と同じ (バックスペース)
space -> と同じ (スペースバー)
fx x の検索 (前方)
Fx x の検索 (後方)
tx 前方の x の直前の文字に移動
Tx 後方の x の直後の文字に移動
; 前回の f、F、t、または T の繰り返し
, 前回の f、F、t、または T の逆の繰り返し
n| n カラム移動
% ( に対応する )、または { に対応する } を検索
[単語、文、パラグラフ]
w 前方の単語
b 後方の単語
e 単語の終わり
) 次の文
} 次のパラグラフ
( 前の文
{ 前のパラグラフ
W 空白文字で区切られた前方の単語
B 空白文字で区切られた後方の単語
E 空白文字で区切られた単語の終わり
[挿入中の修正]
^H 最後の文字の消去 (バックスペース)
^W 最後の単語の消去
erase ユーザーの消去文字。^H (バックスペース)
kill ユーザーの抹消文字。入力行を消去
\fR ユーザーの消去文字および抹消文字をクォート
ESC 挿入を終了。コマンドモードへ復帰
CTRL-C 割り込み。挿入モードを中断
^D 1 文字バックタブ。autoindent の左マージン の
解除
^^D キャレット (^) と control-d (^D) 行 頭 ま で
バックタブ
autoindent の左マージンは解除しない
0^D 行頭までバックタブ。autoindent の左マージ ン
の解除
^V 非出力文字のクォート
[挿入および置換]
a カーソルの後に追加
A 行の終わりに追加
i カーソルの前に挿入
I 空白文字でない最初の文字の前に挿入
o 下の行をオープン
O 上の行をオープン
rx 1 文字を x に置換
RtextESC 複数文字を text に置換
[演算子]
演算子のあとにはカーソル動作が続き、カーソルが通過したテキス
ト すべてに演算子が適用されます。たとえば、w は 1 単語移動し
ますが、dw とすると 1 単語削除します。演算子を重ねると、1 行
に 適 用されます。たとえば dd とすると、1 行すべてを削除しま
す。
d 削除
c 変更
y 行をバッファに退避 (yank)
< 左シフト
> 右シフト
! コマンドへのフィルタ
[種々の操作]
C 行の残りの部分を変更 (c$)
D 行の残りの部分を削除 (d$)
s 文字の置換 (cl)
S 行の置換 (cc)
J 行の結合
x 文字の削除 (dl)
X カーソルの直前の文字を削除 (dh)
Y 行の yank (yy)
[Yank と Put]
Put は削除したり退避したテキストのうち、最も新しいテキストを
挿入します。しかし、バッファが指定された場合は (ASCII の小文
字 a から z を使用) そのバッファのテキストを取り出して挿入し
ます。
3yy 3 行退避 (yank)
3yl 3 文字退避 (yank)
p カーソル後にテキストを取り出して挿入
P カーソルの前にテキストを取り出して挿入
"xp バッファx から取り出して挿入
"xy バッファx に退避 (yank)
"xd バッファx に削除
[undo、繰り返し、検索]
u 前回の変更を取り消し (undo)
U 現在の行に対する変更を取り消し
. 前回の変更を繰り返し
"dp d 番目の最後の削除を検索
【使用法】
ファイルが 2G バイト(2**31 バイト) 以上ある場合の vi と view
の動作については、largefile(5) を参照してください。
vi の実行に影響する環境 変 数、 LANG、 LC_ALL、 LC_COLLATE、
LC_CTYPE、LC_TIME、LC_MESSAGES、NLSPATH、PATH、SHELL、および
TERM の詳細については、environ(5) のマニュアルページを参照し
てください。
COLUMNS システムが選択した画面の水平方向の大きさを変
更します。
EXINIT 最初のファイルを読む前に、エディタの起動時に
実行される ex コマンドのリストを指定します。
このリストには、複数のコマンドを縦の 棒 (|)
で区切って指定することができます。
LINES システムが選択した画面の垂直方向の大きさを変
更します。このサイズは、フルスクリーン時の行
数と表示モードでの縦の画面サイズです。
【環境】
vi の実行に影響を 与 え る 環 境 変 数 LC_CTYPE、 LC_TIME、
LC_MESSAGES、NLSPATH についての詳細は、environ(5) を参照して
ください。
【ファイル】
/var/tmp 一時的な作業ファイルを置くデ
フォ ル ト の ディレクトリ。
directory オプションを使用し
て、 変 更可能 (ex(1) の set
コマンドを参照)
/usr/share/lib/terminfo/?/* コンパイルされた端末記 述 の
データベース
/usr/lib/.COREterm/?/* コンパイルされた端末記 述 の
データベースのサブセット
【属性】
次の属性については attributes(5) のマニュアルページを参照 し
てください。
[/usr/bin/vi]
[/usr/bin/view]
[/usr/bin/vedit]
____________________________________________________________
| 属性タイプ | 属性値 |
|_____________________________|_____________________________|
| 使用条件 | SUNWcsu |
|_____________________________|_____________________________|
| CSI | 未対応 |
|_____________________________|_____________________________|
[/usr/xpg4/bin/vi]
[/usr/xpg4/bin/view]
[/usr/xpg4/bin/vedit]
____________________________________________________________
| 属性タイプ | 属性値 |
|_____________________________|_____________________________|
| 使用条件 | SUNWxcu4 |
|_____________________________|_____________________________|
| CSI | 対応済み |
|_____________________________|_____________________________|
| インタフェースの安定性 | 標準 |
|_____________________________|_____________________________|
[/usr/xpg6/bin/vi, /usr/xpg6/bin/view, /usr/xpg6/bin/vedit]
____________________________________________________________
| 属性タイプ | 属性値 |
|_____________________________|_____________________________|
| 使用条件 | SUNWxcu6 |
|_____________________________|_____________________________|
| CSI | 対応済み |
|_____________________________|_____________________________|
| インタフェースの安定性 | 標準 |
|_____________________________|_____________________________|
【関連項目】
intro(1), ctags(1), ed(1), edit(1), ex(1), attributes(5),
environ(5), largefile(5), standards(5)
『OpenWindows ユーザーズガイド (上級編)』
【著者】
vi および ex は、カリフォルニア大学バークレイ校、コン ピュー
タ科学学部、電子技術コンピュータ科学学科で開発されました。
【注意事項】
サポートを続けてはいますが、マニュアル上では 2 つのオプ ショ
ン がコマンド構文標準 (intro(1) を参照) に準拠したオプション
に置き換えられています。オプション引数を取らない -r オプショ
ンは、-L オプションに置き換えられました。+command は -c com-
mand に置き換えられています。
ファイルが読み込まれたときに、メッセージ 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 が次の条件を満たす必要があります。
o .exrc が存在していること。
o .exrc の所有者のユーザーID がプロセスの実ユーザーID と
同 じであること。あるいは、プロセスがそれに相当する特権
を持っていること。
o .exrc の所有者以外は書き込むことができないこと。
/usr/share/lib/terminfo/?/* あ る い は
/usr/share/lib/terminfo/?/* のエントリを勝手に変更すると (た
とえば、エントリを変えたり移したりする)、エントリが存在 し、
かつ正しいと想定されている vi などのプログラムに影響を及ぼす
ことがあります。特に、機能の低い端末のエントリを消去すると、
不慮の問題を引き起こすことがあります。
^T を使用したソフトウェアタブは、autoindent の直後にのみ動作
します。
インテリジェント端末上の左右シフトは、削除や挿入などの端末上
の文字操作機能を使用しません。
環境変数 LD_PRELOAD を使用して代替の malloc() ライブラリを読
み込むと、/usr/bin/vi に問題が発生することがあります。
|
|