| abbreviate | | ab[breviate] word replacement 指定した省略形を現在のリストに追加します。 ビジュアルモードでは、入力時に word が完全なワードとしてタイプされると、これは文字列 replacement と置換されます。 |
| append | | line a[ppend][!] 入力モードに入ります。入力テキストは指定行の後に入れられます。 行 0 を指定すると、テキストはワークエリアの先頭に入ります。
最後の入力行が現在の行になるか、または行が入力されなければターゲット行になります。 ! をコマンドに追加すると、これに対する autoindent エディタオプション設定を挿入専用に切り換えます。 |
| args | | ar[gs] 引き数をプリントし、現在の引き数を [ と ] の間に入れます。 |
| change | | range c[hange][!] count 入力モードに入ります。入力テキストが指定行に置き換わります。
最後の入力行が現在の行になります。 行が入力されなければ、この効果は削除と同じです。 をコマンドに追加すると、これに対する autoindent エディタオプション設定を挿入専用に切り換えます。 |
| chdir | | chd[ir][!] [directory] |
| cd[!] [\c | | directory] ワークディレクトリを directory に変更します。 directory を省略すると、 環境変数 HOME の値が使用されます。最後の書き込み以降にワークエリアが変更されたか、
またはエディット対象のファイル名がスラッシュ (/)
から始まらない場合、警告が発行され、ワークディレクトリは変更されません。
この場合、強制的にディレクトリを変更するには、文字 ! をコマンドに追加してください。 |
| copy | | range co[py] line flags range t line flags 指定した行 (range) のコピーが、指定した宛先 line の後に入ります。行 0 は、行がワークエリアの先頭に入れられるように指定します
(英字 t は copy コマンドの別の省略形です)。 |
| crypt | | cr[ypt] X ユーザーは、暗号化モードに入るのに使用するキーを求められます。 また、このコマンドを使用すると、前の crypt コマンド、または -x コマンド行オプションから入力されるキーを変更することもできます。
プロンプトに対してキーを与えなければ (つまり、キャリッジリターンだけを押す)、
暗号化モードは取り消され、ワークエリアは次の書き込みコマンドによって
プレーンテキストの形式で書き出されます。 暗号化モードのとき、ファイル入力はすべて現在のキーを使って解読されます。
ただし、入力ファイルが処理されている際、7 ビットの ASCII 文字だけの入った
テキストブロック (約 1024 バイト) があると、そのテキストブロックはプレーンテキスト
であるものと仮定され、解読されません。 ! シェルエスケープによって別のコマンドにパイプ接続されているもの以外のすべてのファイル出力は、現在のキーを使って暗号化されます。 エディタがワークエリアの管理に使用するテンポラリファイルは、現在の
ワークエリアが廃棄され (または書き出され) て新しいファイルに対して編集が
始まるまで暗号化されません。 暗号化保護を必要とする新しいファイルを作成する場合、エディタの起動時に -x オプションを指定することによって、ワークエリアファイルも暗号化するようにしてください。 cr[ypt] C 暗号化オプション。 読み込まれた全テキストを暗号化されてるとみなす以外は、 X コマンドと同じです。 |
| delete | | range d[elete] buffer count 指定した行がワークエリアから削除されます。 名前付き buffer を指定すると、削除したテキストはその中にセーブされます。
バッファを指定しなければ、名前のないバッファ (つまり、デフォルトでは最後に削除または記憶したテキストが入っているバッファ) が使用されます。
削除した行がファイルの終端であった場合、新しい現在の行は、削除した行の後の行、つまりファイルの最終行になります。 |
| edit | | e[dit][!]
[+ line] file ex[!] [+ line] file 新しいファイルのエディットを始めます (ex は edit コマンドの別の名前)。
現在のワークエリアが最後の書き込み以降に変更された場合、 警告がプリントされ、コマンドは打ち切られます。
この動作は、文字 ! をコマンド (e! file) に追加することによって置換することができます。 これが vi の中から実行されない限り、現在の行はワークエリアの最終行です。
これが vi の中から実行される場合、現在の行はワークエリアの先頭行になります。 +line オプションを指定すると、現在の行は指定した位置に設定されます。ただし、 line は数値 (または $ ) にするか、または /re または ?re として指定することができます。 |
| file | | f[ile] 行数および現在位置を含めて、カレントファイル名などの情報をプリントします。 |
| global | | range g[lobal][!] /re/ command... range v /re/ command... re の入っている range 内の行に対して (または range を与えなければワークエリア全体に対して) command を行います。 まず、パターン re に一致するような所定の range 内の行をマークします。 パターンを省略すると、置換え文字列、または走査文字列の最新のセットが使用されます (上記の「正規表現」を参照)。
次に、与えられた commands が、マークした行ごとに . を設定して実行されます。 / の代わりに英字または数字以外の任意の文字を使用して
パターンを区切ることができます。 command は、バックスラッシュで改行をエスケープすることにより、複数行に対して指定できます。 command を省略すると、各行がプリントされます。 append, change,
および insert コマンドが許されます。 これが command または複数の command で終わる場合、終了ドットは省略できます。 また、 (global コマンド自体がビジュアルモードから発行されない限り) visual コマンドも許され、ターミナルから入力をとります
(command に ビジュアルモード コマンド (つまり open または visual)
が含まれる場合、ビジュアルモード コマンドは、次にマークした行に進むためにビジュアルモード Q コマンドによって終わらなければなりません)。 global コマンド自体および undo コマンドは command では許されません。 エディタオプション autoprint, autoindent,
および report は禁止されます。 ! を global コマンドに追加する (つまり、 g! ...)
か、または別の名前 v を使用すると、 パターンに一致しない range 内の行に対して command が実行されます。 |
| insert | | line i[nsert][!] 入力モードに入ります。入力テキストは指定行の前に入れられます。 最後の入力行は現在の行になるか、または行が入力されなければターゲット行の前の行になります。 ! をコマンドに追加すると、これに対する autoindent エディットオプション設定を挿入専用に切り換えます。 |
| join | | range j[oin][!] count flags 指定した行からのテキストを 1 行に結合します。 空白は、少なくとも 1 つの空白文字 (ピリオドが行の終端にある場合には 2 つ、行頭の文字がクローズ小かっこ
() の場合にはなし) を与えるように調整されます。
行頭にある余分な空白は廃棄されます。 ! をコマンドに追加すると、空白処理のない、より単純な結合が行われます。 |
| list | | range l[ist] count flags タブを ^I として表示し、各行の終端を後置の $ でマークして指定した行をプリントします
(有効なフラグは、行番号に対する # だけです)。
最後にプリントした行が現在の行になります。 |
| map | | map key|\c #\c n action map! key|\c #\c n action map および map! コマンドはビジュアルモードで使用するマクロを定義します。
最初の引き数 key は、一文字または多文字シーケンスが可能です。 特殊なシーケンスでは、 #n, n はファンクションキー n を参照する数字です。 特殊文字、空白、および改行を引き数内に入れるには、 ^V を使ってエスケープさせなければなりません。 key 引き数には、最初の文字としてコロン (:)
を入れることはできません。また、多文字シーケンスは英文字から始めることはできません。 map によって定義されるマクロはビジュアルコマンド
モードで 有効になります。 map! によって定義されるマクロはビジュアル入力モードで有効になります。 key または #n に相当するファンクションキーが入力されると、
エディタはその操作を action が入力されたものとして解釈します。 オプションのない map または map! コマンドは、相当する現在のマクロリストを表示します。 以下の「エディタオプション」にある keyboardedit, keyboardedit!, timeout,
および timeoutlen エディタオプションを参照してください。 |
| mark | | line ma[rk] x line k x 指定した行には、指定したマーク x が与えられます。これは、1 文字の 小文字英字 (a-z)
でなければなりません (x の前には、スペースまたはタブを付けなければなりません。
現在の行の位置は影響を受けません。 k は mark のもうひとつの名前です。 |
| move | | range m[ove] line 指定した行 (range) を、ターゲット line の後に移動します。 最初に移動した行が現在の行になります。 |
| next | | n[ext][!] [ file ...] コマンド行引き数リストの次のファイルをエディットします。 ! をコマンドに追加すると、最後の書き込み以降に変更されワークエリアについての
警告に置換されます (また、 autowrite エディタオプションが設定されていない限り変更を廃棄)。
引き数リストは、このコマンド行上で、新しい引き数リストを指定することによって置換することができます。 |
| number | | range nu[mber] count flags range # count flags (# 文字は number コマンドの別の省略形)
各行の前に行番号を付けて行をプリントします (有効なフラグは、 l だけ)。
最後にプリントした行が現在の行になります。 |
| open | | line o[pen] /re/ flags オープンモードに入ります。 オープンモードは、1 行のウィンドウのあるビジュアルモードに類似しています。
ビジュアルモード コマンドはすべて利用できます。 line 中にオプションの正規表現に対して一致が見つかると
カーソルは、マッチングパターンの先頭に置かれます。 オープンモードを終了するには、ビジュアルモード
コマンド Q を使用します。詳細については、 vi(1) を参照してください。 |
| pop | | pop[!] タグスタックの最上部にその名前がストアされているファイルをロードし、
現在の行をストアされていた位置に設定します。 タグスタックの最上部のエントリーは削除されます。
(行モード tag コマンドまたはビジュアルモード ^] コマンドを実行すると、カレントファイルの名前がスタックに入れられます。) ! は、最後の書き出し以降に修正のあったワークエリアに関する
警告にオーバライドします。 autowrite エディタオプションをセットしていない限り、行った変更はすべて
捨てられます。 |
| preserve | | pre[serve] システムがクラッシュしたときのように、現在のエディタのワークエリアがセーブされます。
このコマンドは、緊急時、例えば書き込みが機能せず、他のどんな方法でもワークエリアをセーブできないときに使用します。
ファイルを回復するには -r コマンド行オプションを使用します。
ファイルが保存されると、メールメッセージがユーザーに送られます。
そのメッセージには、ファイル名、保存した時刻、およびファイルを回復するための ex コマンドが入っています。 その他の情報がメッセージに含まれる可能性もあります。 |
| print | | range p[rint] count 非プリント文字を形式 ^x の制御文字とし、指定行をプリントします。
DEL は ^? として表されます。 最後にプリントした行が現在の行になります。 |
| put | | line pu[t] buffer line の後に削除または ” 記憶 ” した行を入れます。 バッファは指定できます。
指定がなければ、名前のないバッファ (つまり、デフォルトでは削除または記憶したテキストが入っているバッファ) が復元されます。
現在の行は復元した最初の行に設定されます。 |
| quit | | q[uit][!] エディットを終了させます。 最後の書き込み以降にワークエリアが変更された場合には警告がプリントされ、コマンドは異常終了します。 変更を保存せずに強制的に終了するには、 ! をコマンドに追加してください。 |
| read | | line r[ead] file ターゲット行 (先頭にテキストを入れるには行 0 が可能) の後にワークエリア内で指定した file のコピーを挿入します。 file の指定がなければ、カレントファイルがデフォルトです。
カレントファイルが存在しなければ、 file がカレントファイルになります。 ビジュアルモードを除いて、最後に読み込んだ行が現在の行になります。
ビジュアルモードでは、最初に読み込んだ行が現在の行になります。 file が、 !string として与えられると、 string は、システムコマンドとして解釈され、コマンドインタプリタに渡されます。
生成される出力はワークエリアに読み込まれます。 空白またはタブの前には ! を付けなければなりません。 |
| recover | | rec[over][!] file 偶然のハングアップまたはシステムクラッシュ後に、セーブ領域から file を回復します。 最後の書き込み以降に現在のワークエリアが変更された場合には、警告がプリントされ、コマンドは打ち切られます。
この動作は、文字 ! をコマンドに追加することにより、
(rec! file) 置換することができます。 |
| rewind | | rew[ind][!] 引き数リストは巻き戻され、リストにある最初のファイルがエディットされます。
これは命令としての現在の引き数リストを指定した next コマンドと同じです。
現在の行が最後に書き込んだときから変更されている場合は、 警告が表示されてコマンドの実行は中止されます。 ! を追加することによってあらゆる警告を無効にすることもできます。
現在の行位置はエディタオプションの autowrite と writeany により影響されます。 |
| set | | se[t] [all] se[t] [no]boolean-option? se[t] value-option[?] se[t] boolean-option se[t] noboolean-option se[t] value-option=value エディタオプションを設定、表示します (以下の「エディタオプション」を参照)。 引き数を付けないと、 コマンドは、その値がデフォルト値から変更されているエディタオプション
をプリントします。 all を指定すると、現在のオプションの値をすべてプリントします。 第 2 および第 3 の形式は指定オプションの現在の値をプリントします。 ? は論理値のオプションにのみ必要です。 第 4 の形式は論理値のオプションをオンにします。 第 5 の形式は論理値のオプションをオフにします。 第 6 の形式は文字列および数値のオプションに値を代入します。
文字列におけるスペースおよびタブは、その前にバックスラッシュ (\) を付けてエスケープさせなければなりませせん。 最後の 5 つの形式は併用できます。解釈は左から右となります。 |
| shell | | sh[ell] shell エディタオプションで指定されるコマンドインタプリタを実行します
(以下の「エディタオプション」を参照) コマンドインタプリタを終了すると、エディットに戻ります。 |
| source | | so[urce] file 指定した file からコマンドを読み込んで実行します。 このコマンドはネストすることが可能です。
ネストをサポートする深さの最大値は定義された実現方法によって異なりますが、最低 1 つはサポートしています。 |
| substitute | | range s[ubstitute] /re/repl/ options count flags range s options count flags range & options count flags range sr options count flags range ~ options count flags range s\?repl range s\&repl 指定した各行で、パターン re の最初のインスタンスが文字列 repl で置換されます (上記の「正規表現」および「置換え文字列」を参照)。 / の代わりに、英字または数字以外の任意の文字を使用して
パターンを区切ることができます。 g (global) オプションを含めると、 その行にあるそのパターンの全インスタンスが置換されます。 c (confirm) オプションを含めると、 以下のように個々の置換えごとに実行するかどうか尋ねられます。
各置換えの前に、 置換え対象のパターンに脱字符号 (^)
を付けてその行が表示されます。 置換えを行うには y を入力します。
それ以外のものを入力すると中断します。 最後に置換された行が現在の行になります。 置換えパターン re (s//repl/) と、置換え文字列または走査文字列の最新のセットが使用されます (上記の「正規表現」を参照)。 s または & の形式を使用すると、置換えパターンのデフォルトは前の置換え文字列になり、置換え文字列のデフォルトは、前に使用した置換え文字列になります。 sr または ~ の形式を使用すると、置換えパターンのデフォルトは、置換え文字列または走査文字列の最新のセットになり、置換え文字列のデフォルトは前に使用した置換え文字列になります。 形式 s\?repl は、 s/scan-re/repl/ と等価です。ただし、 scan-re は前の走査文字列です。 形式 s\&repl は、 s/subs-re/repl/ と等価です。ただし、 subs-re は前の置換え文字列です。 |
| suspend | | su[spend][!] |
| stop | | st[op][!] susp エディタのジョブを一時停止し、元のシェルに戻ります。 stop および susp は suspend に等価です。 susp はユーザープロセス制御一時停止文字で、通常は文字 ^Z ASCII
SUB ) です (stty(1) を参照)。 呼び出し元のシェルがジョブ制御をサポートしないか、または実行不可能としている場合には、このコマンドは実行不可能となります。 autowrite エディタオプションが設定され、 readonly エディタオプションが設定されず、最後の書き込み以降にワークエリアが変更された場合、
ワークエリアは、エディタが一時停止する前にカレントファイルに書き出されます。
このアクションに置き換えるには、 ! 文字を suspend または stop コマンドに追加してください。 |
| tag | | ta[g][!] tag tag のタグ定義が見つかるまで、 tags エディタオプション (以下の「エディタオプション」を参照)
で指定されたファイルを順々に検索します。 tag が見つかると、対応するファイルをワークエリアに読み込み、
タグ定義で指定されるアドレスに現在の位置を設定します。 新しいファイルがカレントファイルと異なっており、 autowrite エディタオプションがセットされており、 readonly エディタオプションがセットされておらず、最後の書き出し以降にワークエリアが
変更を受けている場合は、新しいファイルがロードされる前にワークエリアは
カレントファイルに書き出されます。このアクションに置き換えるには、 ! 文字をコマンドに追加してください。 tagstack エディタオプションがセットされている場合、
後の行モード pop コマンドまたはビジュアルモード ^] コマンドの再呼び出しに備えて
カレントファイルの名前および行番号がタグスタックにプッシュされます。 |
| unabbreviate | | una[bbreviate] word 省略形のリストから word を削除します (上記の abbreviate コマンドを参照)。 |
| undo | | u[ndo] 前のエディットコマンドによって行われた変更を取り消します。
この目的のために、 global および visual は、単一のコマンドであるものと解釈されます。 write, edit,
および next などの外部環境に影響を与えるコマンドを取り消すことはできません。 undo は、 undo 自体を取り消すこともできます。 |
| unmap | | unm[ap][!] key key のマクロ定義が削除されます (上記の map コマンドを参照)。 |
| version | | ve[rsion] 現在のエディタのバージョン情報をプリントします。 |
| visual | | line vi[sual] type count flags 指定した line でビジュアルモードに入ります。 type は、 画面のウィンドウ上で指定行の位置を指定するには、 z (window) コマンドの場合と同様に、
文字 +, -, .,
または ^ のいずれかが可能です デフォルトは、画面のウィンドウの最上部に行を入れること。 count は初期ウィンドウサイズを指定します。デフォルトはエディタオプション window の値です。 フラグ # および l (エル) により、ビジュアルウィンドウにおける行が対応するモードで表示されます
(number および list コマンドを参照)。 ビジュアルモードを終了するには、 Q コマンドを使用します。
詳細については、 vi(1) を参照してください。 |
| write | | [range] w[rite][!][>>] file [range] wq[!][>>] file 指定した行 (または、 range を与えない場合はワークエリア全体) を file に書き出し、書き出された行および文字の数をプリントします。 file を指定しなければ、デフォルトはカレントファイルです
(カレントファイルがなく、ファイルが指定されない場合は、 このコマンドはエラーメッセージを発行して異常終了します)。 別のファイルを指定し、そのファイルが存在する場合、 書き込みは異常終了しますが、 ! をコマンドに追加することによってこれを強行することができます。
既存のファイルに追加するには、 >> をコマンドに追加してください。
ファイルが存在しなければ、エラーがレポートされます。 ファイルが !string として指定されると、 string はシステムコマンドとして解釈されます。コマンドインタプリタが呼び出され、
指定した行はコマンドへの標準入力として渡されます。 コマンド wq は w の後に q を続けることに相当します。 wq! は w! の後に q を続けることに相当します。また、 wq>> は w>> の後に q を続けることに相当します。 |
| xit | | x[it][!][>>] file ワークエリアに対して変更が行われている場合、 write コマンドは、何らかのオプション
(!, >>, または file など) を write コマンドと併用して実行に移されます。
次に (いずれの場合にも) quit コマンドが実行されます。 |
| yank | | range ya[nk] buffer count 指定した行を名前付き buffer に入れます。 バッファの指定がなければ、名前のないバッファ
(つまり、デフォルトでは最後に削除または記憶したテキストが入っているバッファ) が使用されます。 |
| (execute buffer) | | * [buffer] @ [buffer] buffer の内容をエディタコマンドとして実行します。 buffer は名前付きバッファの英字 (a\(miz)
または * または @) とすることができます。
このコマンドの * および @ の形式は等価です。
バッファが指定されていないか、または buffer が * または @ である場合、
最後に * または @ コマンドで指定されたバッファが実行されます。 |
| (line number) | | line = flags 指定した line の行番号をプリントします。 デフォルトは最後の行です。
現在の行位置は影響を受けません。 |
| (scroll) | | ^D 次の n 行をプリントします。 n は scroll エディタオプションの値です。 |
| (shell escape) | | ! command range ! command 行の ! より後の部分をシステムコマンド インタプリタに渡して
実行させます。 最後の書き込み以降にワークエリアが変更された場合、警告が発行されます。
コマンドが完了すると、単一の ! がプリントされます。
現在の行位置は影響を受けません。 command のテキスト内では、 % および # はファイル名として展開され、 ! は、前の ! コマンドのテキストと置き換えられます。したがって、 !! は前の ! コマンドを繰り戻します。
このような展開が行われると、展開された行はエコーされます。 range を指定すると、 指定された行が標準入力としてコマンドインタプリタに渡されます。 command からの出力が指定行に置き換わります。 |
| (shift left) | | range < count flags 指定した行を左に削除します。 シフトするスペースの数は、エディットオプション shiftwidth によって決まります。
シフト時に空白 (空白およびタブ) は失われます。その他の文字は影響を受けません。
最後に変更した行が現在の行になります。 |
| (shift right) | | range > count flags 空白を挿入することにより、指定した行を右にシフトします。 挿入されるスペースの個数はエディタオプション shiftwidth によって決定されます。
変更された最後の行が現在の行になります。 |
| (window) | | line z type count flags count によって指定された行数が表示されます。 count のデフォルトはエディタオプション window の値です。 type を省略すると、 指定した line の後の count 行がプリントされます。 type を指定する場合、 以下の文字のいずれかでなければなりません。 | + | | アドレス指定された行の後、1 ウィンドウ分の行を表示します。 | | - | | アドレス指定された行を表示行のウィンドウの最下部に置きます。 | | . | | アドレス指定された行をウィンドウの中央に置きます。 | | ^ | | アドレス指定された行より 2 ウィンドウ分前の行から
1 ウィンドウ分 を表示します。 | | = | | アドレス指定された行をウィンドウの中央に表示し、
アドレス指定されたその行の上下にダッシュの行を表示します。 |
プリントされた最後の行が現在の行になりますが、 = の場合は例外で、その場合はアドレス指定された行が現在の行になります。 |