Solaris man マニュアル
ユーザーコマンド                                            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 に問題が発生することがあります。