 
これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MAC OSオンラインエミュレーターなどの複数の無料オンラインワークステーションのいずれかを使用して、OnWorks無料ホスティングプロバイダーで実行できるコマンドexposixです。
プログラム:
NAME
ex — テキストエディタ
SYNOPSIS
ex [−rR] [−s|−v] [−c command] [−t タグ文字列] [−w サイズ] [file...]
DESCRIPTION
当学校区の ex ユーティリティは行指向のテキストエディタです。エディタには他に2つのモードがあります。
オープンで視覚的な編集が可能で、画面指向の編集が可能です。これについては、
完全に ex 開いた ビジュアル コマンドと vi.
オペランドが '−'、結果は指定されていません。
このセクションでは、 edit バッファ 現在の作業テキストを説明する。特定の
この用語は実装を暗示しています。編集の変更はすべて編集で実行されます
バッファは、エディタコマンドがバッファを書き込むまで、変更がファイルに反映されない。
ファイルにソフトウェアを指定する必要があります。
一部の端末には、完全な機能をサポートするために必要なすべての機能が備わっていません。 ex
フルスクリーン編集コマンド(ビジュアル モード or 開いた モード)。 いつ
これらのコマンドはそのような端末ではサポートされないため、この条件は発生しないものとする。
「エディタコマンドではありません」などのエラーメッセージが表示されたり、構文エラーが報告されたりします。
実装はコマンドを受け入れて画面上に結果を表示するか、
この巻の要件を満たそうとする失敗した試みの結果
POSIX.1-2008 または端末関連の欠陥を説明するエラーを報告します。
OPTIONS
当学校区の ex ユーティリティは、POSIX.1‐2008の基本定義ボリュームに準拠する必要があります。 セクション 12.2,
ユーティリティ 構文 ガイドライン、の不特定の使用法を除いて '−'、その 「+」 多分
オプション区切り文字として認識されるだけでなく、 '−'.
次のオプションがサポートされます。
−c command
最初にロードされた編集バッファで実行される初期コマンドを指定します。
既存のファイル(拡張説明セクションを参照)。実装は
1つ以上の −c オプション。このような実装では、指定された
コマンドはコマンドラインで指定された順序で実行されます。
−r 指定されたファイルを回復します(拡張説明セクションを参照)。回復
ファイルの情報は、エディタまたはシステムクラッシュ時に保存される(例えば
たとえば、エディターがキャッチできるシグナルによってエディターが終了する場合など)
または使用後に ex 保存する
A クラッシュ この文脈では、システムまたはユーティリティの予期しない障害は、
障害が発生したシステムまたはユーティリティを再起動する必要があります。システムクラッシュは、
同時に実行中のユーティリティもクラッシュします。エディタやシステムの場合
クラッシュ、編集バッファへの変更回数(最新の 保存する
回復されるコマンドは指定されていません。
ない場合 file オペランドが与えられ、 −t オプションが指定されていない場合、他のすべての
オプション、 終了 変数、および任意の .exrc ファイルは無視されます。
呼び出したユーザーが利用できるすべての回復可能なファイルが書き込まれ、
エディターはそれ以上のアクションを実行せずに正常に終了します。
−r 作成セッションプロセスで 読み取り専用 編集オプション。
−s 準備 ex 以下のアクションを実行してバッチ使用できるようにします。
* 書き込みプロンプトと情報メッセージ(診断メッセージではない)を抑制します。
* の値を無視する TERM および実装のデフォルトの端末タイプと
端末がオープンモードまたはビジュアルモードをサポートできないタイプであると想定します。
見る ビジュアル コマンドと説明 vi.
* の使用を抑制 終了 環境変数と任意の
.exrc ファイル。拡張説明セクションを参照してください。
* 自動インデントを抑制し、 自動インデント 編集オプション。
−t タグ文字列
指定された内容を含むファイルを編集する タグ文字列; 湖 クタグスタグ機能
に代表される −t タグ文字列 と タグ コマンドはオプションです。
準拠した実装を提供するシステムで提供される クタグス;
そうでなければ、 −t 未定義の結果が生じる。どのシステムでも、
複数の指定はエラーになります −t オプションを選択します。
−v ビジュアルモードで開始します( vi).
−w サイズ の値を設定します ウィンドウを使用して入力ファイルを追加します。 エディタオプション サイズ.
オペランド
次のオペランドがサポートされます。
file 編集するファイルのパス名。
標準入力
標準入力は、一連のコマンドと入力テキストで構成されます。
拡張説明セクション。実装は標準入力の各行を
長さは {LINE_MAX} です。
標準入力が端末装置でない場合は、 −s オプションは
指定。
標準入力からの読み取りでエラーが返された場合、またはエディターが末尾を検出した場合
標準入力からのファイル条件、それは SIGHUP 非同期と同等でなければなりません
イベント。
入力 ファイル
入力ファイルはテキストファイルまたは不完全な部分を除いてテキストファイルとなるファイルでなければならない。
最後の行の長さは{LINE_MAX}−1バイト以下で、NULを含まない
デフォルトでは、不完全な最終行は末尾に
他の形式のファイルの編集は、オプションで許可される場合があります。 ex
実装
当学校区の .exrc ファイルとソースファイルは、次の内容を含むテキストファイルでなければならない。 ex コマンドを参照してください
拡張説明セクション。
デフォルトでは、エディタは編集するファイルから行を解釈せずに読み取ります。
これらの行のいずれかを任意の形式のエディター コマンドとして使用します。
ENVIRONMENT 変数
次の環境変数は、の実行に影響を与えます。 ex:
COLUMNS システムが選択した水平画面サイズを上書きします。基本定義を参照してください。
POSIX.1‐2008のボリューム、 章 8, 環境 変数 有効な値と
設定されていないか null の場合の結果。
終了 リストを決定する ex エディタの起動時に実行されるコマンド。
初期化フェーズの詳細については、「拡張説明」セクションを参照してください。
ホーム エディタの起動時に検索するディレクトリのパス名を決定します。
ファイル名 .exrc; 拡張説明セクションを参照してください。
言語 設定されていない、または設定されていない国際化変数のデフォルト値を指定します
ヌル。 (POSIX.1‐2008の基本定義ボリュームを参照してください。 セクション 8.2,
国際化 変数 国際化の優先順位について
ロケールカテゴリの値を決定するために使用される変数。)
LC_ALL 空でない文字列値に設定されている場合は、他のすべての値を上書きします
国際化変数。
LC_COLLATE
範囲、同値類、および複数の動作のロケールを決定します。
正規表現内の文字照合要素。
LC_CTYPE テキストデータのバイトシーケンスを解釈するためのロケールを決定します
文字として(たとえば、のマルチバイト文字ではなくシングルバイト
引数と入力ファイル)、通常の文字クラス内の動作
表現、文字の大文字と小文字の分類、
大文字と小文字の変換、単語境界の検出など。
LC_MESSAGES
の形式と内容に影響を与えるために使用する必要があるロケールを決定します
標準エラーに書き込まれる診断メッセージ。
LINES 行数として使用される、システムが選択した垂直画面サイズをオーバーライドします
画面サイズとビジュアルモードでの縦画面サイズ。ベースを参照してください。
POSIX.1‐2008の定義ボリューム、 章 8, 環境 変数 有効な
未設定または null の場合の値と結果。
NLSパス の処理のためのメッセージカタログの場所を決定します LC_MESSAGES.
パス 指定されたシェルコマンドの検索パスを決定します。 ex エディタ
コマンド !, shell, read, 書きます、およびオープンおよびビジュアルモードコマンド !; 湖
コマンドの検索と実行の説明 セクション 2.9.1.1, Command
検索 実行.
SHELL デフォルト値として使用する優先コマンドラインインタープリタを決定する
shell 編集オプション。
TERM 端末タイプの名前を判別します。 この変数が設定されていないか null の場合、
指定されていないデフォルトの端末タイプが使用されます。
非同期 イベント
以下の用語は、このセクションと以降のセクションでコマンドと
非同期イベントアクション:
コンプリート 書きます
完全書き込みは、編集バッファの内容全体をファイルに書き込むことです。
端末デバイス以外のタイプのもの、または編集バッファの保存によって
ユーザーが ex 保存する コマンド。編集内容を書き込む
エディタ終了時に削除される一時ファイルにバッファを保存してはならない。
完全な書き込みとみなされます。
信号を受信した場合、以下の措置が講じられるものとする。
SIGINT 標準入力が端末デバイスでない場合は、 ex ファイルを書き込まない、または
コマンドまたはテキスト入力モードに戻り、ゼロ以外の終了値で終了する。
状態。
それ以外の場合、オープンまたはビジュアルテキスト入力モードコマンドを実行すると、 ex 領収書
SIGINTの受信は、キャラクター。
さもないと:
1. 実行する場合 ex テキスト入力モードコマンドでは、入力されたすべての行が
完全に入力された部分は編集バッファに解決され、部分的に入力された部分は
入力された行は破棄されます。
2. 現在実行中のコマンドがある場合は中止し、メッセージを表示する。
表示されます。 ex or vi コマンドの説明、
実行コマンドによって変更された行が表示されるかどうかは指定されていません。
変更された状態、または実行コマンドによって変更される前の状態のまま、
バッファ。
現在実行中のコマンドがモーションコマンドの場合、それに関連付けられた
コマンドは破棄されます。
3. オープンモードまたはビジュアルコマンドモードの場合、端末に警告が発せられる。
4. エディターはコマンド モードに戻ります。
SIGCONT オープンモードまたはビジュアルモードの場合、画面が更新されます。
SIGHUP 編集バッファが最後の完全な書き込み以降に変更された場合、 ex 条
編集バッファを保存して、後で −r
オプションまたは ex 回復します コマンド。エディタはファイルを書き込んだり、返したりしてはならない。
コマンドまたはテキスト入力モードに移行し、ゼロ以外の終了ステータスで終了します。
SIGTERM SIGHUP を参照してください。
他のすべての信号に対して実行されるアクションは指定されていません。
標準出力
標準出力は、ユーザーへのプロンプトの書き込み、情報提供のみに使用されます。
メッセージ、およびファイルからの行の書き込みに使用されます。
標準
標準エラーは、診断メッセージにのみ使用されます。
出力 ファイル
からの出力 ex テキストファイルとなります。
拡張済み DESCRIPTION
だけ ex このセクションでは、エディタのモードについて説明します。 vi 追加編集用
利用可能な機能 ex.
エラーが発生すると、 ex メッセージを書き込む。端末がスタンドアウトモードをサポートしている場合
(反転表示など)メッセージは目立つモードで書き込まれる。端末が
スタンドアウトモードをサポートしておらず、編集オプション エラーベル アラートアクションが設定されている場合
エラーメッセージの前に表示されます。
デフォルトでは、 ex コマンドモードで起動し、 : プロンプト; 参照
プロンプト コマンド。テキスト入力モードに入るには、 アペンド, insertまたは 変化する
コマンド; を入力すると終了し、コマンドモードに戻ることができます。 ('。') XNUMX人
行の先頭に。
初期化 in ex vi
このセクションおよび以降のセクションでは、以下の記号が、
バッファを編集:
代替の 現在 パス名
2つのパス名、 現在 代替のは編集者によって管理されています。 ex
ファイル名を引数として受け取るコマンドは、次のように設定します。
1.次の場合 file 引数は ex edit, exまたは 回復します コマンド、または
an ex タグ コマンドは編集バッファの内容を置き換えます。
a. コマンドが編集バッファの内容を置き換える場合、現在の
パス名は file 引数またはタグで指定されたファイル、
代替パス名は現在のパスの以前の値に設定されるものとする。
パス名。
b. それ以外の場合、代替パス名は file 引数。
2.次の場合 file 引数は ex 次の コマンド:
a. コマンドが編集バッファの内容を置き換える場合、現在の
パス名は最初の file 引数と代替パス名
現在のパス名の以前の値に設定されます。
3.次の場合 file 引数は ex file コマンド、現在のパス名
に設定されるものとする file 引数、代替パス名は次のように設定される。
現在のパス名の以前の値。
4.次の場合 file 引数は ex read 書きます コマンド(つまり、
ファイルの読み取りや書き込みを行うプログラムではなく、 shell edit
オプション)、または file 引数は ex XIT コマンド:
a. 現在のパス名に値がない場合、現在のパス名は次のように設定される。
file 引数。
b. それ以外の場合、代替パス名は file 引数。
代替パス名が現在のパス名の前の値に設定されている場合、
現在のパス名に以前の値がない場合は、代替パス名には
結果的に価値がなくなります。
現在 ライン
カーソルが参照する編集バッファの行。各コマンドの説明
コマンドが実行された後の現在の行を指定します。 現在 ライン
値編集バッファに行が含まれていない場合、現在の行はゼロになります。
アドレッシング in ex.
現在 の項目に表示されます。
カーソルが占める現在の表示行の列。(列は
各コマンドの説明では、現在の列を指定します。
コマンドが実行された後、 現在 の項目に表示されます。 値です。この列は
理想 エディターの存続期間中記憶される列。実際の表示
カーソルが置かれている行の列は現在の列と異なる場合があります。
カーソル位置に関する説明については、 Command 説明 in vi.
セッションに 〜へ 非
現在の列の値の説明。現在の列は
最初の部分が表示される最後の表示行の列に設定されます
非ラインの。ラインに非非文字、
現在の列は、最後の表示行の列に設定されます。
最後の非行に文字が含まれている場合、
空の場合、現在の列は列位置 1 に設定されます。
編集バッファ内の行の長さは{LINE_MAX}バイトに制限されることがあります。オープンおよび
ビジュアルモードでは、編集バッファ内の行の長さは、
ディスプレイに収まる文字数に制限があります。編集中にいずれかの制限を超えた場合は、
エラーメッセージが書き込まれます。ファイルから読み込まれた行がいずれかの制限を超えた場合、
エラーメッセージが書き込まれ、編集セッションが終了する場合があります。
ユーザコマンド以外の理由でエディタの実行が停止し、編集が
バッファが最後の完全な書き込み以降に変更された場合、SIGHUPと同等となる。
非同期イベント。システムがクラッシュした場合、SIGHUP非同期イベントと同等になります。
イベント。
初期化中(最初のファイルが編集バッファにコピーされる前、またはユーザー
端末からのコマンドが処理されると、次の処理が行われます。
1. 環境変数が 終了 が設定されている場合、エディタは ex コマンド
その変数に含まれます。
2。 もし 終了 変数が設定されておらず、次のすべてが当てはまります。
a。 ザ・ ホーム 環境変数は null でも空でもありません。
b. ファイル .exrc 参照されるディレクトリ内の ホーム 環境変数:
i. 存在する
ii. プロセスの実ユーザーIDと同じユーザーIDによって所有されているか、
プロセスには適切な権限がある
iii. 所有者以外の人は書き込みできません
編集者は、 ex そのファイルに含まれるコマンド。
3. 以下の条件がすべて当てはまる場合のみ:
a. 現在のディレクトリは、 ホーム 環境変数。
b. コマンド 終了 環境変数またはコマンド .exrc 内のファイル
によって参照されるディレクトリ ホーム 環境変数はエディタオプションを設定します
出力.
c。 .exrc 現在のディレクトリ内のファイル:
i. 存在する
ii. プロセスの実ユーザーIDと同じユーザーID、または次のいずれかによって所有されている。
実装定義のユーザーIDのセット
iii. 所有者以外の人は書き込みできません
編集者は、 ex そのファイルに含まれるコマンド。
あらゆるライン .exrc ファイル内の空白行は無視されます。 .exrc ファイルが存在する、
ただし、所有権または許可の理由で読み取られない場合は、エラーになります。
後に 終了 変数と任意の .exrc ファイルが処理されると、最初に指定されたファイルが
ユーザーは次のように編集されます。
1. ユーザーが −t オプションを選択した場合、効果は ex タグ コマンドは
指定された引数で入力されますが、タグ処理が行われない場合は例外です。
編集するファイルが生成されない場合、効果は以下の手順 3 で説明するとおりになります。
2. それ以外の場合、ユーザーがコマンドラインを指定した場合 file 議論、効果は
まるで ex edit コマンドは、最初の引数として入力されました。 file
引数。
3. それ以外の場合、その効果は、 ex edit コマンドは
存在しないファイル名として file 議論。このアクションが
現在のパス名を設定します。このアクションでパス名が設定されない実装では、
現在のパス名の場合、現在のパス名を使用するエディタコマンドは、
エディター コマンドは現在のパス名を設定します。
Status −r オプションが指定された場合、最初の引数リスト内のファイルまたは
指定されたファイル −t 回復情報が以前に編集されている場合、オプションが編集されます
それについて保存されている場合、その情報は回復され、編集者は
編集バッファの内容はすでに変更されています。
復元するファイルのうち、最も最近保存されたファイルが復元され、
回復可能なファイルの以前のバージョンがあることを知らせるメッセージ
書き込まれます。ファイルに関する回復情報が利用できない場合は、情報
この旨のメッセージを書き、編集は通常通り進めます。
Status −c オプションが指定された場合、すでに存在するファイル(
存在しないかもしれないが、回復情報が利用可能なファイルの場合、 −r
オプションが指定されている場合)は、編集バッファの内容を置き換えたり初期化したりします。現在の
行は編集バッファの最後の行に設定され、現在の列は
非、そして ex コマンドは −c オプションが実行される。
この場合、現在の行と現在の列はコマンドで説明されているように設定されません。
編集バッファの内容の置き換えや初期化に関連する。ただし、
−t オプションまたは タグ このアクションにコマンドが関連付けられている場合、 −c オプションコマンド
が実行され、その後タグへの移動が行われます。
現在の引数リストは、最初にユーザーが指定したファイル名に設定されます。
コマンドライン。ユーザーがファイル名を指定しない場合は、現在の引数リスト
空でなければなりません。 −t オプションが指定された場合、ファイル名が
タグ処理の結果は、現在の引数リストの先頭に追加されます。
ファイル名が現在の引数リストのプレフィックスとして追加され、現在の引数
リスト参照はそのファイル名に設定される。ファイル名が追加されていない場合
現在の引数リストのプレフィックスとして、現在の引数リスト参照は
コマンドラインで指定されたファイル名の最初のものより論理的に前に配置する必要があります(例:
たとえば、その後の ex 次の コマンドはコマンドから最初のファイル名を編集します
ライン)。 −t オプションが指定されていない場合、現在の引数リストの参照は
コマンドライン上のファイル名の最初のもの。
アドレッシング in ex
でのアドレス指定 ex 現在の行と現在の列に関係します。行のアドレス
は1から始まる行番号で、列のアドレスは1から始まる数です。
行の先頭。通常、現在の行はコマンドによって影響を受ける最後の行です。
現在の行番号は、現在の行のアドレスです。各コマンドの説明では、
現在の行番号と現在の列に対するコマンドの効果について説明します。
アドレスは次のように構成されます。
1. キャラクター '。' (ピリオド) は現在の行を指します。
2. キャラクター '$' 編集バッファの最後の行をアドレス指定します。
3.正のXNUMX進数 n に対処するものとします n編集バッファのXNUMX行目。
4. 住所 "'NS" マーク名文字でマークされた行を参照します 'バツ'、その
ポータブル文字セットの小文字、バッククォート文字、
または一重引用符で囲まれていない行はエラーとなります。
編集バッファに現在存在するか、マークが設定されていません。行をマークすることができます
ex マーク or k コマンド、または vi m
5. で囲まれた正規表現文字(「/」)は最初の行に宛てて
現在の行の次の行から末尾に向かって前方に検索して見つかった
編集バッファを移動し、
終了する正規表現に一致します。 レギュラー 式
in ex、ヌル正規表現で区切られたアドレス
文字 (「//」)は、その行を除いた次の行を指すものとする。
終了する最後に遭遇した正規表現と一致します。さらに、
2番目コマンドラインの最後には省略できます。 ラップスキャン edit
オプションが設定されている場合、検索は編集バッファの先頭に戻り、
現在の行まで継続し、編集バッファ全体が
検索されます。正規表現内では、シーケンス 「\ /」 文字を表すものとする
正規表現の区切り文字の代わりに。
6. で囲まれた正規表現文字(「?」)は、
現在の行の前の行から逆方向に検索して見つかった最初の行
編集バッファの先頭に向かって移動し、
終端を除く行正規表現に一致します。アドレス
で区切られたヌル正規表現で構成される文字(「??」)
終了行を除く行の前の行を指すものとする
最後に遭遇した正規表現と一致します。さらに、2番目の
コマンドラインの最後には省略可能です。 ラップスキャン 編集オプションが設定され、
検索は編集バッファの先頭から末尾まで行われる。
バッファを編集し、現在の行まで継続して編集を続けると、編集全体が
バッファが検索されます。正規表現内では、シーケンス 「\?」 を表すものとする
リテラルRE 区切り文字の代わりに。
7. A ((「+」) またはマイナス記号 ('−')の後に10進数が続く
現在の行に数値を加算または減算します。 「+」 or '−' 小数点が続かない
数値は現在の行プラスマイナス 1 になります。
アドレスの後には、オプションでXNUMX個以上のアドレスオフセットを続けることができます-分離。
アドレスオフセットは次のように構成されます。
1。 A 「+」 or '−' 直後に小数が続く場合は、
アドレスまでの(またはアドレスからの)行数を示します。 「+」 or '−' 続いていない
1 進数はアドレスに XNUMX を加算 (減算) します。
2. 小数点以下の数字は、指定された行数をアドレスに追加します。
中間アドレス値がゼロ未満であってもエラーであってはなりません。
編集バッファの最後の行より。 最終的なアドレス値が
ゼロ未満か、編集バッファの最後の行より大きくなければなりません。
コマンドは0、1、または2つのアドレスを取ります。 1アドレス 2アドレス in
Command 説明 in ex必要数を超えるアドレスが
ゼロアドレスを要求するコマンドの場合はエラーとなります。
必要な数のアドレスがコマンドに提供される場合、最初に指定されたアドレスは
有効なアドレスが最大数になるまで評価され、破棄されます。
住所は、 ((「、」)または(';').
前後にアドレスが指定されていない場合は、またはセパレータは
現在の行のアドレスが区切り文字の前または後に指定されたかのように動作します。
の場合セパレータ、現在の行('。')は最初に設定される
アドレスを決定し、その後に次のアドレスが計算されます。この機能は、
前方検索と後方検索の開始ラインを決定します(ルール 5 と 6 を参照)。
あ('%')は、2つのアドレスを入力するのと同じである。 「1,$」.
任意の区切りアドレス間の文字、アドレス区切り文字、またはアドレス
オフセットは破棄されます。
Command LINE 解析 in ex
このセクションおよび以降のセクションでは、解析動作を説明するために次の記号が使用されます。
脱出 キャラクターが「 -エスケープされた''または`` ‐V-
「エスケープ」とは、文字が特別な意味を獲得したか失ったことを意味する。
それぞれ、または‐V
文字。特に指定がない限り、エスケープ文字は破棄される。
その時点で、いかなる目的においてもそれ以上考慮されることはありません。
コマンドライン解析は次の手順で行われる。各手順では、文字
すでに評価されているものは無視される。つまり、「主役」という語句は、
まだ評価されていない次の文字。
1. リード文字はスキップされます。
2. リード文字はスキップされます。
3. 先頭文字が二重引用符の場合、
次の非-逃げた破棄され、
後続の文字は別のコマンドとして解析されます。
4. アドレスとして解釈できる先頭文字は評価されるものとする。
アドレッシング in ex.
5. リード文字はスキップされます。
6. 次の文字が文字または:
a. 次の文字が:
私。 もしも ex オープンモードまたはビジュアルモードの場合、現在の行は最後の行に設定されます。
指定されたアドレス(ある場合)。
ii. それ以外の場合、最後のコマンドがキャラクター、
いかなるアクションも実行されない。例えば、コマンド "|| 「 条
3 つではなく 2 つの暗黙のコマンドを実行します。
iii. それ以外の場合は、手順6.bが適用されます。
b. それ以外の場合、暗黙の命令は 印刷 コマンド。最後の #, p, l
任意のフラグを指定 ex 命令は記憶され、これに適用されるものとする
暗黙のコマンド。 ex 数, 印刷または リスト コマンドは、
覚えている旗 #、何もない、そして l、および他のフラグ
その実行のために指定された 数, 印刷または リスト
If ex 現在実行されていません 全体的な or v コマンド、アドレスまたはカウントなし
が指定された場合、コマンドが実行される前に現在の行が1増加される。
実行された。現在の行をインクリメントすると、
編集バッファの最後の行では、コマンドは失敗し、増分は行われません。
起こる。
c.または文字は破棄され、その後の
文字は個別のコマンドとして解析されます。
7. コマンド名は、次の文字(文字が
アルファベット)、または次の文字とそれに続くアルファベット文字(
ただし、次の例外があります。
a. コマンド名の文字の任意のプレフィックスで構成されるコマンド 削除,
いずれかの文字が直後に続く 'l', 'NS', 「+」, '−'または '#' しなければならない
として解釈される 削除 コマンドに続いて、その後に文字が続く
の接頭辞の一部ではなかった 削除 コマンドの最大数は
文字はコマンド名と一致するものとする 削除; 例えば、 「デル」 条
扱われない 「で」 旗が続く l.
b. 文字で構成されるコマンド 'k'の後に続く文字は
マークの名前として使用されるものは、マークコマンドに続いて
、その後に続く文字 'k'.
c. 文字で構成されるコマンド 「s」、その後に続く文字は
有効なオプションとして解釈され、 s コマンドは、 s
パターンや置換値を指定せずにコマンドを実行し、その後に、
の後の文字が続く 「s」.
8. コマンド名は、可能なコマンド名と照合され、コマンド
ユーザーが指定した文字に一致する接頭辞を含む名前は、
実行されたコマンド。ユーザーが指定した文字が
あいまいな場合、実行されるコマンドは次のようになります。
┌───┬───┬┬───┬───────┬┬───┬──────┐
│a │ アペンド ││n │ 次の ││t │ t │
│c │ 変化する ││p │ 印刷 ││u │ 取り消す │
│ch │ 変化する ││pr │ 印刷 ││un │ 取り消す │
│e │ edit ││r │ read ││v │ v │
│m │ ││re │ read ││w │ 書きます │
│ma │ マーク ││s │ s ││ │ │
└───┴───┴┴───┴───────┴┴───┴──────┘
同様の曖昧さを引き起こす名前を持つ実装拡張はチェックされないものとする
POSIX.1‐2008で規定されたコマンドの可能な一致がすべて完了するまで、一致を検索します。
チェックされました。
9. コマンドが ! コマンドの場合、またはコマンドが read コマンドの後にゼロが続く
またはそれ以上文字と !、またはコマンドが 書きます コマンドの後に
1つ以上文字と !、コマンドの残りの部分にはすべてが含まれます
文字数は最大-逃げた。なる
破棄され、後続の文字は別の文字として解析される。 ex
10. それ以外の場合、コマンドが edit, exまたは 次の コマンド、または ビジュアル コマンド中
オープンモードまたはビジュアルモードでは、コマンドの次の部分は次のように解析されます。
a. いずれか 「!」 コマンドの直後の文字はスキップされ、
コマンドの。
b. 先頭の文字はスキップされ、コマンドの一部になります。
c. 次の文字が 「+」、最初の非-逃げた
または非-逃げたスキップされ、
d. 残りのコマンドは、パラグラフで指定された手順によって決定されるものとする。
12.
11. それ以外の場合、コマンドが 全体的な, 開いた, sまたは v コマンドの次の部分は
コマンドは次のように解析されます。
a. 先導する文字はスキップされ、コマンドの一部になります。
b. 次の文字が英数字でない場合、二重引用符、 、
、 またはキャラクター:
i. 次の文字はコマンド区切り文字として使用されます。
ii. コマンドが 全体的な, 開いたまたは v コマンド、最初の文字までの文字
非-逃げた、または最初の非-エスケープされた区切り文字
文字はスキップされ、コマンドの一部になります。
iii. コマンドが s コマンド、最初の文字までの文字
非-逃げた、または2番目の非-逃げた
区切り文字はスキップされ、コマンドの一部となります。
c. コマンドが 全体的な or v コマンド、最初の文字までの文字
非-逃げたスキップされ、コマンドの一部になります。
d. それ以外の場合、コマンドの残りの部分は、
パラグラフ12。
12. それ以外の場合:
a. コマンドが 地図, マップを解除, 省略または 省略しない コマンド、文字
最初の非‐Vエスケープ、 、または二重
引用符はスキップされ、コマンドの一部になります。
b. それ以外の場合は、最初の非-逃げた、
、または二重引用符はスキップされ、
c. コマンドが アペンド, 変化するまたは insert コマンドを実行し、ステップ12.bが終了した。
で文字、後続の文字、次の文字まで
非-逃げたコマンドへの入力テキストとして使用されます。
d. コマンドが二重引用符で終了した場合、後続のすべての文字は
次の非-逃げたは破棄されます。
e. 終了または文字は破棄され、
後続の文字は別個の文字として解析される。 ex
コマンド引数は、各コマンドの概要と説明に従って解析されるものとする。
個人 ex コマンド。この解析は-敏感、ただし !
引数はコマンド名の後に続けて記述する必要があります。文字、そして
そうでなければ曖昧になってしまう。例えば、 カウント フラグ 議論は必ずしも
-分離したため 「d22p」 曖昧ではないが、 file に対する議論 ex 次の
コマンドは1つ以上の文字。任意の指揮する
の議論 省略, 省略しない, 地図, マップを解除 コマンドは‐V-
逃げた場合、引数の区切り文字として使用することはできません。
他のコマンドのコマンド引数では-逃げた場合
それ引数の区切り文字として使用しないでください。
コマンド引数内では 省略, 省略しない, 地図, マップを解除 コマンド、任意
キャラクターは‐Vエスケープ。このようなエスケープ文字はすべて
文字通りの意味ではなく、特別な意味を持ちません。他のすべてのコマンド引数内では、 ex
正規表現や置換文字列ではないコマンド、
そうでなければ特別な意味を持つことができる-エスケープ。エスケープされた文字は
シェル拡張文字として特別な意味を持たず、文字通りに扱われる。 「!」, '%',
'#' 拡張文字。参照 レギュラー 式 in ex 交換 弦 in ex の
正規表現または置換文字列であるコマンド引数の説明。
非-逃げた '%' に登場するキャラクター file いかなる議論にも ex 命令は
現在のパス名に置き換えられます。エスケープなし '#' 文字は、
代替パス名。次の場合はエラーとなります。 '%' or '#' 文字はエスケープされずに
引数とそれに対応する値は設定されていません。
非-逃げた 「!」 いずれかの引数の文字 ex ! コマンドまたは
オープンでビジュアルなモード ! コマンド、または引数で ex read コマンド、ここで
最初の非コマンド名の後には 「!」 文字、または引数で
ex 書きます コマンド名の後に1つ以上の文字と
最初の非コマンド名の後には 「!」 文字は、
最後の3つのコマンドの引数は、すべてエスケープされずにそのまま表示されます。
'%', '#', 「!」 文字が置き換えられました。 「!」 文字
これらのコマンドのいずれかにエスケープなしで出現し、以前に実行されたことがない
これらのコマンドの。
解析中または実行中にエラーが発生した場合、 ex コマンド:
* この旨の通知メッセージを書くものとする。 ex command
停止し、カーソル(例えば、現在の行と列)は
さらに修正されました。
*の場合 ex マップ拡張の結果生じたコマンドの場合、そのマップのすべての文字
拡張は破棄されるものとします。 地図
* それ以外の場合、 ex コマンドは、 終了 環境
変数、 .exrc ファイル、 :ソース コマンド、 −c オプション、または + command 指定された
ex edit, ex, 次のまたは ビジュアル コマンド、ソースからのさらなるコマンドはありません
コマンドが実行されます。
* それ以外の場合、 ex コマンドはバッファまたは 全体的な or v
コマンド、バッファの実行または 全体的な or v
コマンドが実行されます。
* それ以外の場合、 ex コマンドは終了しませんでした、までのすべての文字
そして次の非-逃げた破棄されます。
入力 編集 in ex
このセクションと以降のセクションでは、コマンドを指定するために次の記号が使用されます。
行動:
単語 POSIXロケールでは、単語は文字、数字、
およびアンダースコア(両端が文字以外の文字で区切られている)
数字、アンダースコア、または行の先頭や末尾、編集バッファによって区切られます。
ユーザーからの入力文字を受け入れる場合、 ex コマンドモードまたは ex テキスト入力
モード、 ex システムインターフェースで定義されている標準モードの入力処理を有効にする。
POSIX.1‐2008のボリューム。
の場合 ex テキスト入力モード:
1。 もし 数 編集オプションが設定され、 ex 行番号を使用して入力を促す。
指定された形式で入力された場合、行に割り当てられます。 ex
数
2。 もし 自動インデント 編集オプションが設定され、 ex 入力を促すプロンプト 自動インデント
文字は、 自動インデント 編集オプション。 自動インデント 文字はしなければならない
行番号がある場合はそれに従ってください。
の場合 ex コマンドモード:
1。 もし プロンプト 編集オプションが設定されている場合は、単一の入力プロンプトが表示されます。 ':'
文字。それ以外の場合はプロンプトは表示されません。
以下のセクションの入力文字は、
入力ライン。
スクロール
シノプシス:
eof
の説明を参照してください スティ eof 内の文字 スティ.
の場合 ex コマンドモード:
Status eof 文字が行に入力された最初の文字である場合、行は
2つの文字が含まれているかのように評価されます。 ‐Dとa 。
それ以外の場合、 eof 文字には特別な意味はありません。
の場合 ex テキスト入力モード:
カーソルが 自動インデント キャラクター、 自動インデント の文字
行は、次のテキスト入力文字の一部が
前の行の次の行の最初の列に表示される シフト幅 編集オプション
列の境界で、ユーザーは同じ行に対して再度入力を求められます。
それ以外の場合、カーソルが '0'、これは 自動インデント キャラクター、そして
'0' 前のテキスト入力文字は '0' とすべての 自動インデント
行内の文字は破棄され、ユーザーに再度入力を求める。
同じ行の入力。
それ以外の場合、カーソルが '^'、これは 自動インデント キャラクター、そして
'^' 前のテキスト入力文字は '^' とすべての 自動インデント
行内の文字は破棄され、ユーザーに再度入力を求める。
同じ行に入力する。さらに、 自動インデント 次の入力行のレベル
同じ系統から派生したものでなければならない 自動インデント 現在のレベル
入力行が導出されました。
そうでなければ、 自動インデント または行内のテキスト入力文字、 eof
文字は破棄されます。
それ以外の場合、 eof 文字には特別な意味はありません。
シノプシス:
-J
の場合 ex コマンドモード:
コマンドラインを解析します。 ‐Jは、
この目的のために。
の場合 ex テキスト入力モード:
現在の行を終了します。 自動インデント
行に文字がない場合、行にあるすべての文字が破棄されます。
現在の行の後に新しい行でテキスト入力を促します。 自動インデント edit
オプションが設定されている場合、適切な数の 自動インデント 文字は、
行頭に、 ex 自動インデント 編集オプション。
シノプシス:
後続の入力を許可するまたは‐Jを文字として、
テキスト入力モード中にエディターに与える特別な意味は、
文字は保持され、コマンドラインが解析されるときに評価されるか、保持され、
入力テキストが編集バッファの一部になったときに含まれます。
‐V
シノプシス:
-V
後続の文字をリテラル文字として入力できるようにし、特殊文字を削除して
つまり、テキスト入力モード中にエディターに‐Vキャラクター
コマンドラインが解析される前、または入力テキストが
エディットバッファ。
「リテラルネクスト」機能が基盤システムによって実行される場合、それは
実装定義の文字以外が‐V がこの機能を実行します。
‐W
シノプシス:
-W
破棄する‐W、および入力行のその前の単語(
単語の後ろの文字と‐W. 「言葉
「消去」機能は基盤システムによって実行されるため、実装定義である。
以外の文字が‐W がこの機能を実行します。
Command 説明 in ex
このセクションでは、コマンド修飾子を表すために以下の記号が使用されています。
これらの修飾子は省略することができ、その場合には指定されたデフォルトが使用されます。
1アドレス 1行のアドレス。 アドレッシング in ex;
デフォルトは現在の行('。')とします。
行アドレスがゼロの場合、特に指定がない限りエラーとなります。
次のコマンドの説明。
編集バッファが空で、アドレスが他のコマンドで指定されている場合
より =, アペンド, insert, 開いた, 置きます, readまたは ビジュアルまたはアドレスがゼロではない場合、
エラーとなります。
2アドレス 2つのアドレスは行の範囲を指定します。アドレスが指定されていない場合は
指定すると、 2アドレス 現在の行のみ(「.,.」)、 そうでもなければ
それ以外の場合は、以下のコマンドの説明で指定されます。1つのアドレスが
指定、 2アドレス 当該行のみを指定するものとする。
以下のコマンドの説明を参照してください。
最初のアドレスが 2 番目のアドレスより大きい場合はエラーになります。
編集バッファが空で、2つのアドレスがコマンドで指定されている場合
以外 !, 書きます, wqまたは XIT コマンド、またはいずれかのアドレスがゼロでない場合、
エラーとなります。
カウント 正の小数。 カウント が指定されている場合は、
コマンドに追加のアドレスを指定する。
次のコマンドの説明に従ってください。追加アドレスは、
コマンドに指定された最後のアドレス(明示的またはデフォルト)と
カウント-1。
編集の最終行よりも大きなアドレスになる場合は
バッファの場合、編集バッファの最後の行と等しくなるように修正されます。
フラグ 1つ以上の文字 「+」, '−', '#', 'NS'または 'l' (エル)。旗
文字は-区切られ、任意の順序または組み合わせで。
文字 '#', 'NS', 'l' 行は次の形式で書き込まれる。
によって指定された 印刷 指定されたコマンド フラグ.
書き込む行は次のとおりです。
1. 実行中に書き込まれたすべての編集バッファ行 ex &, ~, リスト,
数, 開いた, 印刷, s, ビジュアル, z コマンドは指定通りに記述するものとする
by フラグ.
2. 完了後 ex フラグを引数として指定したコマンドの場合、
現在の行は、 フラグただし、現在の行が
コマンドによって書き込まれた最後の行でした。
キャラクター 「+」 '−' 現在の行の値は
の実行 ex コマンドは、オフセットアドレスによって調整される。
アドレッシング in exこの調整は、現在の行が
上記2. のとおり記載します。
のデフォルト フラグ いずれも存在しない。
バッファ テキストを保持するための名前付き領域のうちの1つ。名前付きバッファは次のように指定されます。
POSIXロケールの英数字で表されます。また、
「名前なし」バッファ。エディタコマンドでバッファが指定されていない場合、
バッファの場合は、名前のないバッファが使用されます。テキストをバッファに格納するコマンド
コマンドが有効になる前のテキストを保存し、
ファイル内で後に現れるテキストより前に現れるテキスト、
テキスト領域がどのように指定されたかに関係なく、テキストを
バッファは、指定されたバッファだけでなく、名前のないバッファにもテキストを保存します。
バッファ。
In ex コマンドでは、バッファ名は名前のみで指定されます。openまたは
ビジュアルモードのコマンドでは、名前の前に二重引用符('"') キャラクター。
指定されたバッファ名が大文字で、バッファの内容が
変更する場合は、バッファに追加するのではなく、
上書きされます。バッファが変更されていない場合は、
小文字と大文字の結果は同じになります。
1から9までの番号で命名されたバッファも存在する。オープンおよびビジュアル
モードでは、複数行の文字を含むテキスト領域が
によって変更されている vi c or d コマンド、モーションキャラクターに関連付けられている
c or d コマンドはバッファテキストが行モードであるか、
コマンド %, `, /, ?, (, ), N, n, {または } テキストの領域を定義するために使用されます
c or d コマンドを実行すると、バッファ1から8の内容が
次に大きい数値で指定されたバッファ、バッファ9の内容
破棄され、テキスト領域はバッファ1にコピーされる。
テキストをユーザー指定のバッファまたは名前のないバッファにコピーすることに加えて、
バッファ、またはその両方。数値バッファは、オープンのソースバッファとして指定できます。
ビジュアルモードコマンド。ただし、数値バッファを書き込み先として指定すると、
オープンまたはビジュアル モード コマンドのターゲットの結果は未指定になります。
各バッファのテキストは、行または列のいずれかの特性を持つものとする。
文字モード。空でないバッファにテキストを追加すると、モードが一致するように設定されます。
追加されるテキストの特性。バッファにテキストを追加すると、
バッファに少なくとも1行追加されます。すべてのテキスト
バッファに保存される ex コマンドはラインモードで実行する必要があります。 ex そのコマンド
バッファをテキストのソースとして使用するには、異なるバッファを個別に指定する必要があります。
モードが処理されます。バッファを使用するオープンモードまたはビジュアルモードの各コマンドは、
目的はバッファに格納されるテキストのモードを個別に指定し、
異なるモードのバッファがどのように処理されるか。
file パス名を導出するために使用されるコマンドテキスト。デフォルトは現在の
パス名を前に定義したとおりに、現在のパス名がまだ定義されていない場合は
確立されていない場合は、特に記載がない限り、エラーとなります。
個々のコマンドの説明は後述します。コマンドテキストに
文字の '〜', '{', '[', 「*」, 「?」, '$', '"'、バッククォート、シングルクォート、
そして、それは「シェル拡張」のプロセスにかけられる。
以下に説明するように、複数のパス名が返され、コマンド
1 つだけを期待する場合はエラーになります。
エディタでのシェル拡張のプロセスは次のように行われます。 ex
ユーティリティは、シェル編集オプションで指定されたプログラムに 2 つの引数を渡します。
最初は −c、2番目は文字列 "エコー" コマンド
テキストを単一の引数として渡します。その標準出力と標準エラーは
コマンドはコマンドテキストを置き換えます。
! コマンド名に追加してその動作を変更できる文字。
詳細は個々のコマンドの説明に記載されています。 ex
read, 書きます, ! コマンド、 「!」 文字は、次の場合にのみ修飾子として機能します。
ありませんコマンド名の間に文字を入れます。
思い出した サーチ 方向
当学校区の vi コマンド N n 前方または後方に検索を開始する
記憶された検索方向に基づいて編集バッファを移動します。これは最初は
設定されていない場合は、 ex 全体的な, v, s, タグ コマンド、および vi / ?
コマンド。
略語
シノプシス:
アブ[短くする][lhs rhs]
If lhs rhs 指定されていない場合は、現在の略語リストを書き込み、何もしない
もっと。
実装によっては、 lhs or rhs、 それ以外で
印刷可能な文字と文字数は制限されない。追加
制限は実装定義されるものとする。
両者に lhs rhs任意の文字をエスケープすることができます‐V、その場合、
文字は区切りとして使用してはならない lhs from rhs、そして脱出‐Vは
破棄されました。
オープンおよびビジュアルテキスト入力モードでは、非単語またはエスケープされていない文字
によって‐V文字が単語文字の後に入力された場合、
一致する文字セット lhs、このコマンド中に入力されたテキスト入力で。
発見された場合、その効果は rhs 代わりに入力されました lhs.
チェックされる文字セットは次のように定義されます。
1. 単語と非単語の前に文字が挿入されていない場合、または文字
チェックをトリガーした文字セットは、単語文字で構成されるものとします。
2. 単語と非単語の前に挿入された文字または文字
チェックがトリガーされた文字が単語文字である場合、文字セットは次のもので構成されるものとする。
単語のトリガー文字の直前に挿入された文字
文字と、トリガーとなる単語の文字。
3. 単語と非単語の前に挿入された文字または文字
チェックがトリガーされた文字が単語文字でない場合、文字セットは次のもので構成されるものとする。
トリガー文字の前に挿入された文字のうち、
文字も単語文字も含まず、トリガーとなる単語文字も含みます。
かどうかは不明である。 lhs 入力された引数 ex 省略 省略しない
コマンドはこのように置き換えられます。置き換えが行われるかどうかに関係なく、
当該命令の効果は、置換が行われなかったものと同等となる。
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
追加
シノプシス:
[1アドレス] a[追加][!]
Enter ex テキスト入力モード。入力テキストは指定された行の後に配置されます。
ゼロが指定された場合、テキストは編集バッファの先頭に配置されます。
このコマンドは、 数 自動インデント 編集オプション;
コマンド名 「!」 を引き起こすものとします 自動インデント 切り替えるオプション設定を編集する
このコマンドの継続時間のみ。
電流プローブ ライン: 最後の入力行に設定されます。行が入力されていない場合は、指定された行に設定されます。
行、または行が0に指定された場合は編集バッファの最初の行、または行が0に指定された場合は
編集バッファが空です。
電流プローブ の項目に表示されます。:非設定.
Arguments
シノプシス:
ar[gs]
現在の引数リストを、現在の引数リストエントリがある場合はそのエントリを含めて書き込む。 '['
']' 文字。
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
前日比
シノプシス:
[2アドレス] c[ハンゲ][!][カウント]
Enter ex テキスト入力モード。入力テキストは指定された行を置き換えます。指定された
行は名前のないバッファにコピーされ、そのバッファは行モード バッファになります。
このコマンドは、 数 自動インデント 編集オプション;
コマンド名 「!」 を引き起こすものとします 自動インデント 切り替えるオプション設定を編集する
このコマンドの継続時間のみ。
電流プローブ ライン: 最後の入力行に設定されます。入力行がない場合、前の行に設定されます。
最初のアドレス、またはそれより前の行がない場合は編集バッファの最初の行
最初のアドレス、または編集バッファが空の場合はゼロになります。
電流プローブ の項目に表示されます。:非設定.
前日比 ディレクトリ
シノプシス:
chd[ir][!][ディレクトリにジョブを開始します。]
cd[!][ディレクトリにジョブを開始します。]
現在の作業ディレクトリを ディレクトリにジョブを開始します。.
ない場合 ディレクトリにジョブを開始します。 引数が指定され、 ホーム 環境変数が非に設定されています
null かつ空でない値、 ディレクトリにジョブを開始します。 デフォルトで、 ホーム
環境変数。 ホーム 環境変数が空または未定義の場合、
のデフォルト値 ディレクトリにジョブを開始します。 実装定義です。
ない場合 「!」 コマンド名に追加され、編集バッファは
最後の完全な書き込みであり、現在のパス名は 「/」、それは
エラー。
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
コピー
シノプシス:
[2アドレス] co[py] 1アドレス [フラグ]
[2アドレス] t 1アドレス [フラグ]
指定された行を指定された宛先行の後にコピーします。行0は、
行は編集バッファの先頭に配置されます。
電流プローブ ライン: コピーされた最後の行に設定します。
電流プローブ の項目に表示されます。:非設定.
削除
シノプシス:
[2アドレス] d[エレテ][バッファ][カウント][フラグ]
指定された行をバッファ(デフォルトでは名前のないバッファ)に削除します。
ラインモードバッファになります。
フラグはコマンド名の直後に続けることができます。 Command LINE 解析 in ex.
電流プローブ ライン: 削除された行の次の行、または編集の最後の行に設定します
編集バッファの末尾を超えている場合はバッファに0を代入し、編集バッファが
空の。
電流プローブ の項目に表示されます。:非設定.
編集
シノプシス:
e[DIT][!][+ command][file]
ex[!][+ command][file]
ない場合 「!」 コマンド名に追加され、編集バッファは
最後の完全な書き込みではエラーになります。
If file が指定されている場合は、編集バッファの現在の内容を現在の
の内容 file、現在のパス名を file。 場合 file 指定されていない場合は、
編集バッファの現在の内容と、
現在のパス名。何らかの理由でファイルの現在の内容にアクセスできない場合は、
編集バッファは空になります。
当学校区の + command オプションは-区切られた;内の文字 + command できる
前にキャラクター。 + command しなければならない
と解釈される ex 編集バッファの内容が編集された直後にコマンドを実行する。
置き換えられ、現在の行と列が設定されました。
編集バッファが空の場合:
電流プローブ ライン: 0 に設定します。
電流プローブ の項目に表示されます。: 1 に設定します。
それ以外の場合、 ex コマンドモードの場合、または + command 引数が指定されています:
電流プローブ ライン: 編集バッファの最後の行に設定します。
電流プローブ の項目に表示されます。:非設定.
そうでなければ、 file 省略された場合、または現在のパス名になります:
電流プローブ ライン: 編集バッファの最初の行に設定します。
電流プローブ の項目に表示されます。:非設定.
そうでなければ、 file 最後に編集したファイルと同じ場合、行と列は次のように設定される。
以下のようにします。ファイルが以前に編集された場合、行と列は次のように設定されます。
電流プローブ ライン: そのファイルが最後に編集されたときに保持されていた最後の値に設定されます。この値が
新しい編集バッファ内の有効な行ではない場合、編集バッファの最初の行に設定されます。
電流プローブ の項目に表示されます。: 現在の行が、ファイルが最後に開かれたときに保持されていた最後の値に設定されていた場合
編集された場合は、ファイルが最後に編集されたときの最後の値に設定されます。それ以外の場合、または
最後の値は新しい編集バッファ内の有効な列ではないため、非。
さもないと:
電流プローブ ライン: 編集バッファの最初の行に設定します。
電流プローブ の項目に表示されます。:非設定.
File
シノプシス:
f[ile][file]
もし file 引数が指定された場合、代替パス名は現在の
パス名、現在のパス名は次のように設定される。 file.
情報メッセージを書き込みます。ファイルに現在のパス名がある場合は、それが含まれます。
このメッセージでは、そうでない場合、メッセージは現在のパス名が存在しないことを示します。
編集バッファに行が含まれている場合、現在の行番号と
編集バッファはこのメッセージに含まれるものとする。そうでない場合、メッセージは以下を示すものとする。
編集バッファは空です。編集バッファが最後の完了以降に変更されている場合は、
書く場合は、この事実をこのメッセージに含める必要があります。 読み取り専用 編集オプションが設定され、
この事実はこのメッセージに含まれるものとする。メッセージにはその他の不特定の情報が含まれる場合がある。
情報を表示します。
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
Global
シノプシス:
[2アドレス] g[ロバール] /パターン/ [コマンド]
[2アドレス] v /パターン/ [コマンド]
オプション 「!」 文字の後に 全体的な コマンドは、 v
If パターン 空です(例えば、 「//」)または指定されていない場合は、最後に使用された正規表現
エディタコマンドでは、 パターンを選択します。 パターン によって区切ることができる
文字(概要に記載)および英数字以外の文字や
以外、 、 、または二重引用符を使用します。
行が指定されていない場合、行はデフォルトでファイル全体になります。
当学校区の 全体的な v コマンドは論理的に2パスの操作です。まず、
終端を除く行の指定行マッチ
(全体的な) または一致しない (v or グローバル!)指定されたパターンを実行します。次に、 ex
与えられた命令 コマンド、現在の行('。')が各マークされた行に設定されます。
この処理中にエラーが発生したり、編集バッファの内容が置き換えられたりします(
例えば、 ex 編集: コマンド)エラーメッセージが書き込まれ、それ以上のコマンドは実行されない。
このコマンドの実行によって生じた結果が処理されます。
複数 ex コマンドは、1行に複数のコマンドを入力することで指定できます。
1つの区切り文字として、または1行に1つずつ、各文字をエスケープして区切る。と
.
コマンドが指定されていない場合:
1. もし ex コマンドモードでは、 印刷 コマンドが指定されました。
2. それ以外の場合、コマンドは実行されません。
アペンド, 変化する, insert コマンドでは、入力テキストは
コマンドと終了コマンドがリストの最後である場合は省略できます
コマンド。 NS 開いた ビジュアル コマンドは、コマンドの1つとして指定することができ、
この場合、マークされた行ごとにエディターはオープンモードまたはビジュアルモードに入ります。オープンモードまたはビジュアルモードの場合、
ビジュアルモードを終了するには、 vi Q コマンドを実行すると、現在の行は次の行に設定されます。
マークされた行のリストが表示されるまで、マークされた行とオープンモードまたはビジュアルモードが再度表示されます。
疲れきった。
当学校区の 全体的な, v, 取り消す コマンドは使用できません コマンドマークされた行は削除できます
マークされた行よりも前の行に対して実行されるコマンドによって
この場合、削除された行に対してコマンドは実行されません。
記憶された検索方向が設定されていない場合は、 全体的な v コマンドはそれを
前方に
当学校区の オートプリント 自動インデント 編集オプションは、 g or
v
電流プローブ ライン: コマンドが実行されない場合は、最後にマークされた行に設定されます。それ以外の場合は、
実行された ex コマンド。
電流プローブ の項目に表示されます。: コマンドが実行されない場合は、非; それ以外の場合は指定どおり
個人のために ex コマンド。
インサート
シノプシス:
[1アドレス] i[する][!]
Enter ex テキスト入力モード。入力テキストは指定された行の前に置かれます。
行が 1 または XNUMX の場合、テキストは編集バッファの先頭に配置されます。
このコマンドは、 数 自動インデント 編集オプション;
コマンド名 「!」 を引き起こすものとします 自動インデント 切り替えるオプション設定を編集する
このコマンドの継続時間のみ。
電流プローブ ライン: 最後の入力行に設定されます。入力行がない場合、前の行に設定されます。
指定された行、または行がない場合は編集バッファの最初の行
指定された行の前の文字、または編集バッファが空の場合は 0 になります。
電流プローブ の項目に表示されます。:非設定.
加入団体
シノプシス:
[2アドレス] j[オイン][!][カウント][フラグ]
If カウント 指定されています:
住所が指定されていない場合は、 join コマンドは次のように動作するものとする 2アドレス ました
現在の行と現在の行プラス カウント (.,. + カウント).
1つのアドレスが指定された場合、 join コマンドは次のように動作するものとする 2アドレス ました
指定された住所と指定された住所プラス カウント (addr,addr + カウント).
2つのアドレスが指定された場合、 join コマンドは、追加の
アドレスは最後のアドレスに等しい カウント −1 (アドレス1,アドレス2,アドレス2 + カウント −1)、
指定されました。
編集の最終行よりも2番目のアドレスが大きくなる場合
バッファの場合、編集バッファの最後の行と同じになるように修正されます。
ない場合 カウント 指定されています:
住所が指定されていない場合は、 join コマンドは次のように動作するものとする 2アドレス ました
現在の行と次の行 (.,. +1)。
1つのアドレスが指定された場合、 join コマンドは次のように動作するものとする 2アドレス ました
指定されたアドレスと次の行(addr,addr + 1)。
指定された行のテキストを1行に結合し、
指定された行。
もし 「!」 コマンド名に文字が追加されると、 join なし
現在のロケールに関係なく、任意の行を変更します。
それ以外の場合、POSIXロケールでは、現在の行を指定された行の最初の行に設定します。
その後、後続の各行では、次のように進めます。
1. 先頭を破棄結合する行の文字。
2. 結合する行が空になっている場合は、それを削除し、手順 3 ~ 5 をスキップします。
3. 現在の行が、または結合する行の最初の文字
')' 文字の場合は、それ以上変更せずに行を結合します。
4. 現在の行の最後の文字が '。'2つの線をつなげて
それらの間の文字。
5. それ以外の場合は、線をXNUMX本でつなぎます彼らの間に。
電流プローブ ライン: 指定された最初の行に設定します。
電流プローブ の項目に表示されます。:非設定.
リスト
シノプシス:
[2アドレス] l[あります][カウント][フラグ]
このコマンドは、 ex コマンド:
[2アドレス] p[リント][カウント] l[フラグ]
詳細はこちら: 印刷物.
地図
シノプシス:
地図[!][lhs rhs]
If lhs rhs 指定されていない:
1。 もし 「!」 が指定されている場合は、現在のテキスト入力モード マップのリストを書き込みます。
2. それ以外の場合は、コマンド モード マップの現在のリストを書き込みます。
3. それ以上何もしない。
実装によっては、 lhs or rhs、 それ以外で
印刷可能な文字と文字数は制限されない。追加
制限は実装定義とする。 lhs rhs、どの文字でも
逃げた‐V、この場合、その文字は区切り文字として使用されない。 lhs
from rhs、そして脱出‐Vは破棄されます。
キャラクターが 「!」 に追加されます 地図 コマンド名、マッピングは有効である
オープンまたはビジュアルテキスト入力モード中ではなく 開いた or ビジュアル コマンドモード。これにより
lhs 2つの異なる 地図 同時に2つの定義:1つはコマンドモード用、もう1つは
テキスト入力モード用。
コマンド モード マッピングの場合:
時 lhs のいずれかの一部として入力されます vi オープンモードまたはビジュアルモードでのコマンド(ただし
コマンドの引数の一部として)の場合、アクションは
対応する rhs 入力されていました。
コマンドの最初の文字以外の文字が
‐V文字の場合、その文字は一致しない。 lhs.
実装がサポートするかどうかは未指定です 地図 コマンド lhs
長さが1文字以上で、 lhs is
印刷可能。
If lhs 複数の文字が含まれており、最初の文字が '#'、続いて
数字のシーケンスが番号付きファンクションキーに対応する場合、これが
ファンクションキーが入力されると、次のキーにマッピングされます。 rhs. 数字以外の文字
次の '#' 文字は文字で指定されたファンクションキーも表す。
会場は lhs 以下 '#' そして、次のようにマッピングされる可能性がある。 rhsどのように
ファンクション キーの名前またはサポートされているファンクション キー。
テキスト入力モードのマッピングの場合:
時 lhs オープンテキスト入力またはビジュアルテキスト入力で入力されたテキストの一部として入力される
モードの場合、アクションは対応する rhs 入力されていました。
入力テキスト内のいずれかの文字が‐Vキャラクター、その
文字は、 lhs.
かどうかは不明である。 lhs 後続のテキストを入力 地図 or マップを解除 コマンド
に置き換えられます rhs 画面表示の目的のためのテキスト。
対応するディスプレイが rhs テキストが入力されました。
当該命令の効果は、 lhs テキストが入力されました。
もしもその一部だけが lhs 入力すると、エディターがどのくらい待つかは指定されていません。
すでに入力された文字として扱う前に、追加の、おそらく一致する文字を
一致しない lhs.
当学校区の rhs 文字自体は、別途指定がない限り、再マッピングの対象となります。
リマップ 編集オプションですが、 lhs 接頭辞文字として出現する
rhsそれらの文字は再マップされません。
ブロックモード端末では、マッピングはすぐに行われる必要はない(例えば、
端末がシステムに一連の文字を送信した後)が、
すぐに発生した場合と同じ結果になります。
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
Mark Hodder
シノプシス:
[1アドレス] ma[rk] 文字
[1アドレス] k 文字
実装はサポートするものとする 文字 POSIXの小文字1文字の値
ロケールとバッククォートとシングルクォート文字のサポート。他の文字のサポートは
実装定義。
実行する場合 vi m コマンドは、指定されたマークを現在の行に設定し、1から始まる
現在の列によって参照される番号付き文字(存在する場合)。それ以外の場合は、列位置 1。
それ以外の場合は、指定されたマークを指定された行に設定し、1から始まる番号を最初に付けます。
非非行にあれば、最後の非の
行がある場合は行、ない場合は列位置 1。
マークは、マークがリセットされるか、ラインが
削除された行がその後の 取り消す コマンド、以前のマーク
リセットされていない回線に関連するデータも復元されます。
編集バッファ内の現在の行に関連付けられていないマークはエラーになります。
マーク ` ' 前述のように、次の直前に設定する必要があります。
エディター内でイベントが発生します:
1。 の用法 '$' として ex 住所
2. 正の小数を ex 住所
3. 検索コマンドを ex 住所
4. マーク参照を ex 住所
5. 次のオープンおよびビジュアル モード コマンドの使用: ‐], %, (, ), [, ], {,
}
6. 次のオープンおよびビジュアル モード コマンドの使用: ', G, H, L, M, z もし
コマンドの結果として現在の行が変更されます
7. オープンモードコマンドとビジュアルモードコマンドの使用: /, ?, N, `, n 現在の行または
コマンドの結果として列が変更されます
8. の使用 ex モードコマンド: z, 取り消す, 全体的な, v
ルール1.、2.、3.、4.については、 ` ' マークは設定されないものとする。 ex コマンドは
規則6.aに従って解析される。 Command LINE 解析 in ex.
ルール5.、6.、7.については、 ` ' コマンドが次のように使用される場合、マークは設定されないものとする。
オープンモードとビジュアルモードでのモーションコマンド。
ルール1.、2.、3.、4.、5.、6.、7.、8.については、 ` ' マークは設定されないものとする。
コマンドは失敗します。
当学校区の ` ' 編集内容が変更されるたびに、前述のようにマークが設定されます。
バッファが置換される(初期バッファの編集を含む)場合、オープンまたはビジュアルの場合
モードの場合、または ex モードと編集バッファが空でない場合、コマンドや移動を行う前に
(指定されたコマンドや動作を含む) −c or −t オプションまたは + command
編集バッファ上で実行される。オープンモードまたはビジュアルモードの場合、マークは
実行した場合と同様に設定 vi m コマンドを実行する場合、 ex マーク
変更する場合 ex 開くモードまたはビジュアルモードの場合、 ` ' マークはまだ
をセットする ` ' マークは前述のとおり設定されます。
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
移動
シノプシス:
[2アドレス] m[オベ] 1アドレス [フラグ]
指定した行を指定した宛先行の後に移動します。宛先行は0行目です。
行が編集バッファの先頭に配置されることを指定します。
移動先の行が移動する行の範囲内にある場合はエラーになります。
電流プローブ ライン: 移動した行の最後に設定します。
電流プローブ の項目に表示されます。:非設定.
次へ
シノプシス:
n[EXT][!][+ command][file ...]
ない場合 「!」 コマンド名に追加され、編集バッファは
最後の完全な書き込みでは、ファイルが正常に書き込まれない限り、エラーになります。
によって指定された 自動書き込み オプションを選択します。
1 つ以上のファイルを指定する場合:
1. 引数リストを指定されたファイル名に設定します。
2. 現在の引数リスト参照を引数リストの最初のエントリに設定します。
3. 現在のパス名を、指定された最初のファイル名に設定します。
さもないと:
1. 引数リストにファイル名がない場合はエラーとなります。
現在参照されているファイル名。
2.現在のパス名と現在の引数リスト参照をファイル名に設定します。
引数リストで現在参照されているファイル名。
編集バッファの内容を現在のファイル名で指定したファイルの内容に置き換えます。
パス名。何らかの理由でファイルの内容にアクセスできない場合は、編集バッファ
空になります。
このコマンドは、 自動書き込み 書く オプションを編集します。
当学校区の + command オプションは-区切られた;文字は次のようにエスケープできる
それらの前にキャラクター。 + command は、 ex
編集バッファの内容が置き換えられた直後にコマンドを実行し、
現在の行と列が設定されました。
電流プローブ ライン: 記載のとおりに設定してください edit
電流プローブ の項目に表示されます。: 記載のとおりに設定してください edit
数
シノプシス:
[2アドレス] nu[アンバー][カウント][フラグ]
[2アドレス] #[カウント][フラグ]
これらのコマンドは、 ex コマンド:
[2アドレス] p[リント][カウント] #[フラグ]
詳細はこちら: 印刷物.
店は開いています
シノプシス:
[1アドレス] o[ペン] /パターン/ [フラグ]
このコマンドは、ブロックモード端末や十分な帯域幅を持たない端末ではサポートされる必要はありません。
機能。標準入力、標準出力、または標準エラーが端末でない場合は
デバイスによっては、結果は不明確です。
オープンモードに入ります。
末尾の区切り文字は省略可能 パターン コマンドラインの末尾に
パターン 空です(例えば、 「//」)または指定されていない場合は、
エディタはパターンとして使用されます。パターンは
文字(概要に表示)および英数字、非以外
、 、 、または二重引用符を使用します。
電流プローブ ライン: 指定した行に設定します。
電流プローブ の項目に表示されます。:非設定.
保存する
シノプシス:
前[役立つ]
編集バッファを、後で −r オプションまたはによって
ex 回復します コマンド。ファイルが保存された後、メールメッセージが送信されます。
ユーザーに送信されます。このメッセージは、 mailx 効用。 の
メッセージにはファイル名、保存時間、および ex command
ファイルの回復に使用できる可能性があります。追加情報はメールに記載されている可能性があります。
メッセージ。
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
印刷物
シノプシス:
[2アドレス] p[リント][カウント][フラグ]
指定された行を書き込む。
ディスプレイの列数は、1文字を書き込むのに必要な列数よりも少ない。
書かれている行。
印刷できない文字(ただし、は実装定義として記述される。
複数文字のシーケンス。
Status # フラグが指定されているか、 数 編集オプションが設定されている場合、各行の前に
次の形式で行番号で指定します。
"%6d ", <ライン 数>
Status l フラグが指定されているか、 リスト 編集オプションが設定されています:
1. POSIX.1‐2008の基本定義集に記載されている文字。 表 5-1,
エスケープ シーケンス 関連する 対応するエスケープとして記述される
シーケンス。
2. POSIX.1‐2008の基本定義集に含まれない非印字文字、 表
5-1, エスケープ シーケンス 関連する 3桁の8進数で表記される
番号(先頭に)を文字内の各バイト(最上位バイト)に挿入します。
バイトファースト)。
3. 各行の終わりには、 '$'、文字通り '$' 内の文字
行は、その前に。
長い線は折り畳まれなければならない。折り畳まれる長さは指定されていないが、
端末の列数を考慮して、出力端子に適したものを選択してください。
線が折り畳まれ、 l フラグが指定されておらず、 リスト 編集オプションが設定されていません。
折り返し位置の段組み文字が分離されるかどうかは指定されていない。
廃棄してはならない。
電流プローブ ライン: 最後に書き込まれた行に設定します。
電流プローブ の項目に表示されます。: 現在の行が変更されていない場合は変更なし、そうでない場合は非変更に設定。
入れ
シノプシス:
[1アドレス] pu[t][バッファ]
指定されたバッファ(デフォルトでは名前のないバッファ)から指定されたバッファにテキストを追加します。
行0はテキストが編集の先頭に配置されることを指定する
バッファ。バッファ内の行の各部分は編集バッファ内の新しい行となり、
バッファのモードに関係なく。
電流プローブ ライン: 編集バッファに入力された最後の行に設定します。
電流プローブ の項目に表示されます。:非設定.
やめます
シノプシス:
q[UIT][!]
ない場合 「!」 コマンド名に追加されます:
1. 編集バッファが最後の完全な書き込み以降に変更されている場合、
エラー。
2. 引数リストに現在参照されているファイル名の後にファイル名がある場合、
そして最後のコマンドは やめます, wq, XITまたは ZZ (参照してください 出口)コマンドは、
エラー。
それ以外の場合は、編集セッションを終了します。
読む
シノプシス:
[1アドレス] r[EAD][!][file]
If 「!」 初めての非コマンド名の後に、指定された
ファイルは編集バッファ内の指定された行の後に追加されます。行0は
コピーは編集バッファの先頭に置かれる。行数と
読み取ったバイトは書き込まれる。 file が命名されている場合、現在のパス名は
デフォルト。現在のパス名がない場合、 file 現在のパス名になります。
現在のパス名または file オペランドを指定した場合、エラーとなります。 file それ
正規型でない場合は、結果は未指定になります。
そうでなければ、 file 前に 「!」、その後の行の残りの部分 「!」 持っているもの '%',
'#', 「!」 で説明されているように文字が拡張される Command LINE 解析 in ex.
当学校区の ex ユーティリティはシェル編集で指定されたプログラムに2つの引数を渡す。
オプション; 最初のものは −c 2番目は、 read
コマンドを単一の引数として指定します。プログラムの標準入力は
標準入力の ex プログラムが呼び出されたときの標準エラー出力と標準
プログラムの出力は、指定された行の後の編集バッファに追加されます。
コピーされたファイルまたはプログラム出力の各行(文字または
ファイルまたは出力の終わりの直前に)は、
編集バッファに別の行として表示されます。そして
出力内のペアは単一のものとして扱われる文字。
の特別な意味 「!」 以下 read コマンドはエスケープすることで上書きできます
それをキャラクター。
電流プローブ ライン: 編集バッファに行が追加されていない場合は変更されません。それ以外の場合、開いている場合は
またはビジュアルモードでは、編集バッファに入力された最初の行に設定されます。それ以外の場合は、
編集バッファに入力された最後の行。
電流プローブ の項目に表示されます。:非設定.
回復する
シノプシス:
記録[が][!] file
ない場合 「!」 コマンド名に追加され、編集バッファは
最後の完全な書き込みではエラーになります。
ない場合 file オペランドが指定されている場合は、現在のパス名が使用されます。
現在のパス名または file オペランドの場合、エラーになります。
以前に回復情報が保存されていない場合 file 回復します 命令は
同じように動作する edit 命令と、これに関する情報メッセージが
書かれる。
それ以外の場合は、現在のパス名を file編集内容を置き換えます
復元された内容を含むバッファ fileファイルが複数ある場合
復元する場合は、最後に保存したものを復元し、情報
回復可能なファイルの以前のバージョンがあるというメッセージは
エディタは、編集バッファの内容が既に書き込まれているかのように動作する。
変更されました。
電流プローブ file: 記載のとおりに設定してください edit
電流プローブ の項目に表示されます。: 記載のとおりに設定してください edit
巻き戻し
シノプシス:
rew[IND][!]
ない場合 「!」 コマンド名に追加され、編集バッファは
最後の完全な書き込みでは、ファイルが正常に書き込まれない限り、エラーになります。
によって指定された 自動書き込み オプションを選択します。
引数リストが空の場合、エラーになります。
現在の引数リスト参照と現在のパス名は、最初の
引数リスト内のファイル名。
編集バッファの内容を現在のファイル名で指定したファイルの内容に置き換えます。
パス名。何らかの理由でファイルの内容にアクセスできない場合は、編集バッファ
空になります。
このコマンドは、 自動書き込み 書く オプションを編集します。
電流プローブ ライン: 記載のとおりに設定してください edit
電流プローブ の項目に表示されます。: 記載のとおりに設定してください edit
作成セッションプロセスで
シノプシス:
se [t][オプション[=[値]] ...][いいえオプション ...][オプション? ...][を]
引数が指定されていない場合は、 期間 編集オプションとそれらのオプション
デフォルト設定から変更された値。引数 を is
指定すると、すべてのオプション値が書き込まれます。
オプション名の後に文字を付ける 「?」 その現在の価値を引き起こす
書き込むオプション。 「?」 オプション名と0個以上の文字で区切ることができます
文字。 「?」 ブール値のオプションにのみ必要です。ブール
オプションにはフォームで値を与えることができる セッションに オプション 電源を入れるか セッションに いいえオプション 曲がる
文字列と数値のオプションは、フォームで割り当てることができます。 セッションに オプション=値。 どれか
文字列内の文字は、それぞれの前にと
逃げる1つのsetコマンドで複数のオプションを設定またはリストすることができます。
複数の引数を指定し、各引数を1つ以上の
文字。
詳細はこちら: 編集 オプション in ex 特定のオプションの詳細については、こちらをご覧ください。
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
シェル(Shell)
シノプシス:
sh [エル]
指定されたプログラムを起動します shell 単一の引数を持つ編集オプション −i (相互の作用
モード)。プログラムが終了すると編集が再開されます。
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
ソース
シノプシス:
それで[urcanへ] file
読んで実行する ex からのコマンド fileファイル内の空白行は
無視されます。
電流プローブ ライン: 個人に指定されたとおり ex コマンド。
電流プローブ の項目に表示されます。: 個人に指定されたとおり ex コマンド。
代替
シノプシス:
[2アドレス] s[代替][/パターン/繰り返し/[オプション][カウント][フラグ]]
[2アドレス] &[オプション][カウント][フラグ]]
[2アドレス] ~[オプション][カウント][フラグ]]
パターンの最初のインスタンスを置き換えます パターン 文字列によって 繰り返し 指定された各
ラインを参照してください。( レギュラー 式 in ex 交換 弦 in ex.) アルファベット以外の
非区切り文字以外、 '|'、または二重引用符も使用できる
「/」。文字は区切り文字をエスケープするために使用できます。
文字、およびその他の特殊文字。
末尾の区切り文字は省略可能 パターン またはから 繰り返し コマンドの最後に
ライン。両方 パターン 繰り返し 指定されていないか空です(例: 「//」)
last s コマンドは繰り返される。 パターン 指定されていないか空の場合、最後の
エディタで使用されている正規表現がパターンとして使用されます。 繰り返し ではありません
指定されているか空の場合、パターンは何も置き換えられません。
置換パターンは '%'、最後の置換パターンを s コマンドを使用する必要があります。
入力するで 繰り返し (エスケープを必要とするで ex モード
そして逃げる‐V オープンまたは vi モード)はその時点でラインを分割します。
編集バッファに新しい行を作成します。破棄されます。
If オプション 手紙を含む 'NS' (全体的な)、パターンの重複しないインスタンスすべて
行内のものは交換されるものとする。
If オプション 手紙を含む 'NS' (空室状況)の場合、各置換の前に行は
記入する。記入された行は、以前のすべての置換を反映するものとする。
ライン、文字は、行の文字の下に書かれる。
前 パターン 交換される、そして '^' 文字の下に書かれた文字
に含まれる パターン 交換される。 ex ユーティリティは、
ユーザーに肯定的な応答があった場合、置換が実行される。それ以外の場合、
入力は置換を行わない。肯定応答は行で構成される。
肯定応答(現在のロケールで定義されている)を
この行は、 ex コマンドライン。
中断された場合(非同期イベントのセクションを参照)、
ユーザーデータは割り込み後も編集バッファに保存されます。
記憶された検索方向が設定されていない場合は、 s コマンドはそれを転送に設定します。
2番目の概要では、 & コマンドは、前の置換を繰り返す。 &
コマンドは次のように置き換えられました:
s/パターン/繰り返し/
コラボレー パターン 繰り返し 前述の通り s, &または ~
3番目の概要では、 ~ コマンドは、前の置換を繰り返す。 '〜'
は次のように置き換えられました:
s/パターン/繰り返し/
コラボレー パターン エディタに指定された最後の正規表現であり、 繰り返し 条
前回の置換からのものであること( & ~) 指図。
これらのコマンドは、 LC_MESSAGES 環境変数。
電流プローブ ライン: 置換が行われた最後の行に設定するか、置換が行われなかった場合は変更しない。
置換が発生しました。
電流プローブ の項目に表示されます。:非設定.
サスペンド
シノプシス:
す[過ごす][!]
st[op][!]
呼び出し元のプロセスに制御を戻すことを許可します。 ex あたかも
SIGTSTPシグナルを受信しました。ジョブ制御が有効になっている場合にのみ中断が発生します。
呼び出し元のシェル( セッションに −m).
これらのコマンドは、 自動書き込み 書く オプションを編集します。
現在 サスペ キャラクター(参照 スティ)は、 サスペンド
タグ
シノプシス:
た[g][!] タグ文字列
タグファイルのフォーマットが指定どおりでない場合、結果は不定となります。 クタグス
ユーティリティ (参照 クタグス) 説明。
当学校区の タグ コマンドは検索する タグ文字列 タグファイル内の タグ edit
オプションは指定された順序で、 タグ文字列 見つかりました。ファイル
最初から最後まで検索される。参照が見つからない場合はエラーとなる。
これに該当するエラーメッセージが出力される。参照が見つからない場合、または
参照されているファイルの処理中にエラーが発生しました タグ 編集オプションは、
エラーが発生し、そのエラーが最初に発生したときにエラー メッセージが書き込まれる必要があります。
それ以外の場合、タグファイルにパターンが含まれている場合は、そのパターンは通常のパターンとして扱われる。
エディタで使用される表現。例えば、 s
Status タグ文字列 現在のパス名と異なる名前のファイルにある場合は、
現在のパス名をそのファイルの名前に変更し、編集バッファの内容を置き換えます。
そのファイルの内容と一致する。この場合、 「!」 コマンド名に追加され、
編集バッファが最後の完全な書き込み以降に変更されている場合はエラーとなります。
ファイルが指定されたとおりに正常に書き込まれない限り、 自動書き込み オプションを選択します。
このコマンドは、 自動書き込み, タグ, タグ長, 書く edit
オプション。
電流プローブ ライン: タグファイルに行番号が含まれている場合は、その行番号を設定します。
行番号が編集バッファの最後の行より大きい場合、エラーメッセージが表示されます。
書き込まれ、現在の行は指定されたとおりに設定される。 edit
タグファイルにパターンが含まれている場合は、そのパターンの最初の出現に設定されます。
一致するパターンが見つからない場合はエラーメッセージが書き込まれ、現在の
ラインは、 edit
電流プローブ の項目に表示されます。: タグファイルに行番号参照が含まれていて、その行番号が
編集バッファの最後の行より大きくなかったか、タグファイルに
パターンがあり、そのパターンが見つかった場合は、非それ以外の場合は、
edit
省略しない
シノプシス:
una [ブレブ] lhs
If lhs 現在の略語リストには含まれていません( 略語)、それは
エラーです。そうでない場合は削除してください lhs 略語のリストから。
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
アンドゥ
シノプシス:
u[NDO]
編集内容を変更した最後のコマンドによる変更を元に戻す
バッファを含む 取り消すこの目的のために、 全体的な, v, 開いた, ビジュアル コマンド、および
バッファ実行とマップされた文字拡張から生じるコマンドは、
単一コマンド。
取り消せるアクションがない場合は、 取り消す コマンド、それはエラーになります。
Status 取り消す コマンドはマークされた行を復元し、マークも復元される。
ただし、行の削除後にリセットされない限りは。
電流プローブ ライン:
1. ファイルに行が追加または変更された場合、追加または変更された最初の行に設定します。
2. 削除された最初の行の前の行(存在する場合)に設定します。
3. 編集バッファが空でない場合は 1 に設定します。
4. ゼロに設定します。
電流プローブ の項目に表示されます。:非設定.
マップ解除
シノプシス:
ウンム[ap][!] lhs
If 「!」 コマンド名に付加され、 lhs テキストリストのエントリではありません
入力モードマップの定義に誤りがある場合はエラーとなります。それ以外の場合は削除してください。 lhs リストから
テキスト入力モードマップの定義。
ない場合 「!」 コマンド名に付加され、 lhs リストにない
コマンドモードマップ定義に誤りがある場合はエラーとなります。それ以外の場合は削除してください。 lhs リストから
コマンド モード マップの定義。
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
シノプシス:
ve[ション]
エディタのバージョン情報を含むメッセージを書き込みます。メッセージの形式は
指定されていません。
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
ビジュアル
シノプシス:
[1アドレス] vi[スアル][type][カウント][フラグ]
If ex 現在開いているかビジュアルモードの場合、ビジュアルコマンドの概要と動作
と同じものとする edit コマンドは、 編集.
それ以外の場合、このコマンドはブロックモード端末または
機能が不十分です。標準入力、標準出力、または標準エラー出力が
端末デバイスの場合、結果は不定です。
If カウント が指定されている場合、 ウィンドウを使用して入力ファイルを追加します。 編集オプションはに設定されます カウント (として
に記載 ウィンドウを使用して入力ファイルを追加します。)。 もし '^' 型文字も指定されている場合、 ウィンドウを使用して入力ファイルを追加します。 edit
オプションは、型文字によって使用される前に設定する必要があります。
ビジュアルモードに入ります。 type 指定されていない場合は、 type of 「+」 ました
指定。 The type 以下の効果が発生します。
+ 指定した行の先頭をディスプレイの上部に配置します。
- 指定した行の末尾をディスプレイの下部に配置します。
指定した行の先頭を画面の中央に配置します。
^ 指定された行が ウィンドウを使用して入力ファイルを追加します。 編集オプション、
行を1に設定する。そうでない場合は、行を ウィンドウを使用して入力ファイルを追加します。 edit
オプションマイナス1。この行の先頭をできるだけ下端に近づけます。
表示される行を可能な限り増やしながら、 ウィンドウを使用して入力ファイルを追加します。 edit
オプションの行数。
電流プローブ ライン: 指定した行に設定します。
電流プローブ の項目に表示されます。:非設定.
書きます
シノプシス:
[2アドレス] w[儀式][!][>>][file]
[2アドレス] w[儀式][!][file]
[2アドレス] wq[!][>>][file]
行が指定されていない場合、行はデフォルトでファイル全体になります。
コマンド wq は、 書きます コマンドに続いて やめます 指図; wq!
と同等でなければならない 書く! 続い やめますどちらの場合も、 書きます command
失敗、 やめます 試みられてはならない。
コマンド名の後に1つ以上の文字、または file ではありません
前に 「!」 キャラクター、 書きます ファイルに保存されます。
1。 もし >> 引数が指定され、ファイルがすでに存在する場合、行は
ファイルの内容を置き換えるのではなく、ファイルに追加します。 >> 引数は
指定され、ファイルがまだ存在しない場合、書き込みが実行されるかどうかは未指定です。
あたかも >> 引数が指定されていない場合、または書き込みが失敗する場合があります。
2。 もし 読み取り専用 編集オプションが設定されています( 読み取り専用) 書きます 失敗します。
3。 もし file が指定され、現在のパス名ではなく、ファイルが存在する場合、 書きます
失敗します。
4。 もし file 指定されていない場合は、現在のパス名が使用されます。現在のパス名がない場合、
パス名、 書きます コマンドは失敗します。
5. 現在のパス名が使用され、現在のパス名が file
or read コマンドがあり、ファイルが存在する場合、 書きます 失敗する。もし 書きます is
成功、その後 書きますsは、この理由で失敗してはならない(ただし、現在の
パス名が再度変更されます。
6. 編集バッファ全体が書き込まれておらず、書き込むファイルが存在する場合、
書きます 失敗します。
ルール1.、2.、3.、5.については、 書きます 文字を追加することで強制的に 「!」 〜へ
コマンド名。
ルール2.、3.、5.については、 書きます 設定することで強制的に 書く 編集オプション。
追加の実装定義テストにより、 書きます 失敗する。
編集バッファが空の場合、内容のないファイルが書き込まれます。
書き込まれた行数とバイト数を示す情報メッセージが書き込まれます。
それ以外の場合、コマンドの後に1つ以上の文字、ファイルは
前任者 「!」、その後の行の残りの部分 「!」 持っているもの '%', '#', 「!」
で説明されているように文字が拡張される Command LINE 解析 in ex.
当学校区の ex ユーティリティは、プログラムに2つの引数を渡します。 shell edit
オプション; 最初のものは −c 2番目は、 書きます
コマンドを単一の引数として指定します。指定された行は標準入力に書き込まれます。
コマンドの。プログラムの標準エラーと標準出力(存在する場合)は、
記載されているとおりに書かれた 印刷 コマンド。出力の最後の文字が
、a出力の最後に書き込まれます。
の特別な意味 「!」 以下 書きます コマンドはエスケープすることで上書きできます
それをキャラクター。
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
書きます 出口
シノプシス:
[2アドレス] x[it][!][file]
編集バッファが最後の完了以降に変更されていない場合 書きます, XIT しなければならない
と同等 やめます コマンド、または 「!」 コマンド名に付加され、 やめる!.
さもないと、 XIT と同等でなければならない wq コマンド、または 「!」 に追加されます
コマンド名、 wq!.
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
ヤンク
シノプシス:
[2アドレス] ya[nk][バッファ][カウント]
指定された行を指定されたバッファ(デフォルトでは名前のないバッファ)にコピーします。
ラインモードバッファになります。
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
Adjust ウィンドウ
シノプシス:
[1アドレス] z[!][type ...][カウント][フラグ]
行が指定されていない場合は、現在の行がデフォルトになります。 type 省略されている
さて、現在の行の値は最初に1ずつ増加されます。現在の行の値を増やす場合は、
行が編集バッファの最後の行よりも大きくなる場合は、
エラー。
もしあるなら文字間の type 議論と前述の z コマンド名
またはオプション 「!」 文字の場合はエラーとなります。
If カウント が指定されている場合、 ウィンドウを使用して入力ファイルを追加します。 編集オプションはに設定されます カウント (として
に記載 ウィンドウを使用して入力ファイルを追加します。) もし カウント 省略された場合、デフォルトで
スクロール 編集オプション、または ! が指定された場合は、表示される行数から 1 を引いた数になります。
If type 省略された場合 カウント 指定された行から始まる行が書き込まれます。
さもないと、 カウント 指定された行から始まる行 type 議論は
書かれた。
当学校区の type 引数は書き込む行数を変更します。 type のようなものです
以下:
− 指定された行は次の値だけ減算されます。
(((番号 of 「−」 キャラクター) x カウント) −1)
計算結果が1未満の数値になった場合はエラーとなります。
編集バッファから行を取り出し、行の新しい値から始めて、 カウント 行または
編集バッファの最後の行が書き込まれました。
+ 指定された行は次の値だけ増分されます。
(((番号 of 「+」 キャラクター) −1) x カウント)+1
計算結果が編集の最終行よりも大きい数値になる場合
バッファに書き込む場合はエラーとなります。編集バッファから新しい行を書き込みます。
線の値まで カウント 編集バッファ内の行または最後の行が
書かれた。
=,. 1つ以上の '。' or '=' が指定された場合はエラーとなります。以下の
以下の措置が講じられるものとする。
1。 もし カウント ゼロの場合は何も書き込まれません。
2. できるだけ多くの N 編集バッファ内の現在の行の前の行を
存在。 もしも カウント or 「!」 指定された、 N そうなるでしょう:
(カウント −1) /2
さもないと、 N そうなるでしょう:
(カウント −3) /2
If N 3 未満の数値の場合は、行は書き込まれません。
3。 もし '=' 型文字として指定された場合は、
ディスプレイの列数を40で割った数、またはXNUMXのどちらか小さい方 '−'
文字。
4. 現在の行を書き込みます。
5. 手順 3 を繰り返します。
6. できるだけ多くの N 編集バッファ内の現在の行の後の行が存在するかどうかを確認します。
N はステップ2と同様に定義される。 N 3未満の数字の場合は、行は作成されません。
書いた。 もしも カウント 3 未満の場合は行は書き込まれません。
^ 指定された行は次の値だけ減算されます。
(((番号 of 「^」 キャラクター) + 1) x カウント) −1
計算結果が1未満の数値になった場合はエラーとなります。
編集バッファから行を取り出し、行の新しい値から始めて、 カウント 行または
編集バッファの最後の行が書き込まれました。
電流プローブ ライン: 型が =、その場合は、
指定された行。
電流プローブ の項目に表示されます。:非設定.
エスケープ
シノプシス:
! command
[addr]! command
の後の行の内容は 「!」 持っているもの '%', '#', 「!」 文字拡張
で説明されているように Command LINE 解析 in ex拡張により行のテキストが
変更する場合は、前に1つの 「!」 文字。
当学校区の ex ユーティリティは、 shell 編集オプション。2つを渡す必要があります
プログラムへの引数。最初の引数は −c、そして2番目は拡張される
に対する議論 ! コマンドを単一の引数として指定します。
行が指定されていない場合は、標準入力、標準出力、および標準エラーが
プログラムは、標準入力、標準出力、および標準エラーに設定されます。 ex
プログラムが呼び出されたときに警告メッセージが出力される。さらに、編集が失敗した場合には警告メッセージが出力される。
バッファは最後の完全な書き込み以降に変更されており、 警告する 編集オプションが設定されています。
行が指定された場合、それらは標準入力としてプログラムに渡され、
プログラムの標準出力と標準エラー出力は、編集中の行を置き換えるものとする。
バッファ。プログラム出力の各行(文字または末尾
出力の直前に)は別の行に記入するものとする。
編集バッファ内のそして出力内のペア
単一として扱われる指定された行は、
置き換えられる前に名前のないバッファの内容が失われ、名前のないバッファは行になります。
モード バッファ。
の場合 ex モード、単一 「!」 プログラムが完了すると文字が書き込まれます。
このコマンドは、 shell 警告する 編集オプション。行がない場合は
指定された場合、このコマンドは 自動書き込み 書く 編集オプション。
行が指定されている場合、このコマンドは オートプリント 編集オプション。
電流プローブ ライン:
1. 行が指定されていない場合は変更されません。
2. それ以外の場合、読み込まれた行があれば、その行に最後に読み込んだ行を設定します。
3. それ以外の場合は、指定された行の最初の行の前の行に設定します(その行が
存在しています。
4. 編集バッファが空でない場合は、編集バッファの最初の行に設定します。
5. それ以外の場合はゼロに設定します。
電流プローブ の項目に表示されます。: 行が指定されていない場合は変更されません。それ以外の場合は、 。
シフト 左派
シノプシス:
[2アドレス] <[<..。][カウント][フラグ]
指定された行を行頭にシフトします。シフトする列位置の数は
シフトされた値はコマンド文字の数× シフト幅 edit
オプション。先頭のみ文字は削除されるか、他の文字に変更される。
シフトする文字は、他の文字には影響しません。
シフトされる行は名前のないバッファにコピーされ、行になります。
モード バッファ。
このコマンドは、 オートプリント 編集オプション。
電流プローブ ライン: 指定された行の最後の行に設定します。
電流プローブ の項目に表示されます。:非設定.
シフト 右派
シノプシス:
[2アドレス] >[> ...][カウント][フラグ]
指定された行を行頭からずらします。列位置の数は
シフトされる値はコマンド文字の数と シフト幅
編集オプション。シフトは追加することで実現されます接頭辞として文字を使用する
行または行間変更文字を他の文字。空行
変更してはならない。
シフトされる行は名前のないバッファにコピーされ、行になります。
モード バッファ。
このコマンドは、 オートプリント 編集オプション。
電流プローブ ライン: 指定された行の最後の行に設定します。
電流プローブ の項目に表示されます。:非設定.
‐D
シノプシス:
-D
次のものを書く n 行、どこ n の最小値です スクロール 編集オプションと
編集バッファ内の現在行の後の行数。現在行が
編集バッファの最後の行の場合はエラーになります。
電流プローブ ライン: 最後に書き込まれた行に設定します。
電流プローブ の項目に表示されます。:非設定.
書きます LINE 数
シノプシス:
[1アドレス] = [フラグ]
If ライン が指定されていない場合は、編集バッファの最後の行がデフォルトになります。
指定された行の行番号。
電流プローブ ライン: 変更なし。
電流プローブ の項目に表示されます。: 変更なし。
実行する
シノプシス:
[2アドレス] @ バッファ
[2アドレス] * バッファ
バッファが指定されていない場合、または次のように指定されている場合 「@」 or 「*」最後に実行されたバッファは
使用されます。前のバッファが実行されていない場合はエラーになります。
アドレスで指定された各行に対して、現在の行('。')を指定された
行を実行し、指定された内容を実行します バッファ (当時の @ command
処刑された) ex コマンド。行モードバッファの各行と、最後の行を除くすべての行に対して
文字モードバッファの行、 ex コマンドパーサーは、その行が
終了。
この処理中にエラーが発生した場合、またはアドレスで指定された行が
現在の行がそれに設定されるか、または複数の行が指定された場合に存在する
アドレスによって、編集バッファの内容が置き換えられます(たとえば、 ex
編集: コマンド)を実行するとエラーメッセージが書き込まれ、それ以降のコマンドは実行されなくなります。
このコマンドの実行が処理されます。
電流プローブ ライン: 個人に指定されたとおり ex コマンド。
電流プローブ の項目に表示されます。: 個人に指定されたとおり ex コマンド。
レギュラー 式 in ex
当学校区の ex ユーティリティは、基本正規表現のスーパーセットである正規表現をサポートするものとする。
POSIX.1‐2008の基本定義集に記載されている式、 セクション 9.3, Basic
レギュラー 式. ヌル正規表現(「//」)は最後の
正規表現に遭遇しました。
正規表現は、アドレス内で行を指定するために使用でき、また、一部のコマンド(
例、 代替 コマンド) を使用して、置換する行の部分を指定します。
基本的な正規表現を強化するために、次の構造を使用できます。
\< 文字列の先頭に一致 単語(の定義を参照) 単語 の冒頭
Command 説明 in ex.)
\> 文字列の末尾にマッチ 単語.
~ 最後の交換部品と一致 代替 コマンド。 ('〜')
文字は正規表現でエスケープして通常の文字にすることができます。
特別な意味はありません。破棄されます。
エディタオプション マジック が設定されていない場合、特別な意味を持つ文字のみが
be '^' パターンの始まりに、 '$' パターンの最後に、そして。その
文字 '。', 「*」, '[', '〜' 前に付いていない限り、通常の文字として扱われる。
によって; の前に彼らは特別な意味を取り戻すだろう、
または、単一のものとして扱われる。文字
他の文字をエスケープするために使用される文字は破棄されます。
交換 弦 in ex
キャラクター '&' ('\&' エディタオプションの場合 マジック 置換文字列に設定されていない場合
置換するパターンに一致するテキストを表す。 '〜' ('\~' if
マジック 設定されていない場合は、以前の交換部品に交換するものとする。 代替
コマンド。シーケンス '\ n'ここで、 n 整数の場合、一致したテキストに置き換えられます
対応する後方参照式によって。対応する後方参照が
表現が一致しない場合は、文字 '\ n' 空の文字列に置き換えられます。
文字列 '\l', '\u', '\L', '\U' 要素の大文字と小文字を変更するために使用できます。
置換文字列( '\&' or 「\」数字表記。文字列 '\l' ('\u') NS
後続の文字を小文字(大文字)に変換します。文字列 '\L'
('\U')は、その後の文字をすべて小文字に変換します。
(大文字)は置換によって挿入され、文字列が '\e' or '\E'、または
置換文字列の末尾に到達しました。
それ以外の場合は、文字通りに扱われるものとする
キャラクターと脱出破棄されます。
大文字と小文字の変換の例 s コマンドは次のとおりです。
:p
当学校区の cat 座って on マット。
:s/\<.at\>/\u&/gp
当学校区の ネコ 土 on マット。
:s/S\(.*\)M/S\U\1\eM/p
当学校区の ネコ 土曜日 ON 、 マット。
編集 オプション in ex
当学校区の ex このユーティリティには、動作を変更するオプションがいくつかあります。これらのオプションは
デフォルト設定は、 セッションに
特に指定がない限り、オプションはブール値です。
自動インデント、 ai
[デフォルト unset]
If 自動インデント 設定されている場合、入力モードの各行はインデントされます(最初の行から数えて
エディターオプションによって決定される可能な限り多くの文字 タブストップ、そして使用して
次のように、文字を別の行に揃えます。
1. オープンモードまたはビジュアルモードで、テキスト入力が行指向コマンドの一部である場合(
拡張説明 vi)、最初の列に揃えます。
2. それ以外の場合、オープンモードまたはビジュアルモードの場合、各行のインデントは次のように設定される。
以下:
a. このコマンドの一部として以前に行が挿入されていた場合、その行は
デフォルトでは最後に挿入された行のインデント、または
その‐D文字 入力 モード コマンド in vi.
b. それ以外の場合は、前の行のインデントに設定されます。
それ以外の場合は、最初の列になります。
3。 のために ex a, i, c コマンドの各行のインデントは次のように設定します。
a. このコマンドの一部として以前に行が挿入されていた場合、その行は
デフォルトでは最後に挿入された行のインデント、または
eof 内の文字 スクロール.
b. それ以外の場合、コマンドが ex a コマンドの場合は、行に設定されます
存在する場合は後に追加され、そうでない場合は最初の列に追加されます。
c. それ以外の場合、コマンドが ex i コマンドの場合は、行に設定されます
存在する場合は前に挿入され、そうでない場合は最初の列に挿入されます。
d. それ以外の場合、コマンドが ex c コマンドの場合はインデントに設定されます
置き換えられた行の。
自動印刷、 ap
[デフォルト セッションに]
If オートプリント が設定されている場合、現在の行は各行の後に書き込まれる。 ex 変更するコマンド
現在の編集バッファの内容、そして各 タグ タグが適用されるコマンド
検索パターンが見つかったか、タグ行番号が有効である場合を除きます:
1. コマンドはオープン モードまたはビジュアル モード中に実行されました。
2. コマンドは、 全体的な or v コマンドまたは @ バッファ実行。
3. 命令は、 read ファイルを編集バッファに読み込むコマンド。
4. 命令は アペンド, 変化するまたは insert
5. コマンドは終了しませんでした。
6. 現在の行はコマンドに指定されたフラグによって書き込まれる。例えば、
削除 # フラグ修飾子に指定された現在の行を 削除
コマンドで指定されたとおりではなく、 オートプリント 編集オプション。
自動書き込み、 aw
[デフォルト unset]
If 自動書き込み 設定されており、編集バッファは最後に完全に編集されてから変更されています。
ファイルに書き込まれる場合、編集バッファの内容は、 ex 書きます
コマンドが引数なしで指定されていた場合、各コマンドは
自動書き込み 編集オプションが実行されます。文字を追加すると 「!」 任意のコマンド名に
ex コマンドを除く 「!」 書き込みを阻止するものとする。書き込みが失敗した場合は、
エラーが発生し、コマンドは実行されません。
美しくする、 bf
[デフォルト unset]
If 美化する が設定されている場合、印刷できない文字はすべて、 、 、 そして
feed> 文字は、ファイルから読み込んだテキストから削除されます。
ディレクトリ、 DIR
[デフォルト 実装定義]
このオプションの値は、エディタバッファが保存されるディレクトリを指定します。
配置されます。このディレクトリにユーザーが書き込みできない場合、エディターは終了します。
edcompatible、 ed
[デフォルト unset]
の存在を引き起こす g c 覚えておくべき代替コマンドの接尾辞、および
接尾辞を繰り返すことで切り替えます。
エラーベル、 eb
[デフォルト unset]
編集者が ex モードであり、端末が目立つモード(
反転ビデオ)および エラーベル が設定されている場合、エラーメッセージの前に警告が表示される。
ターミナル。
出力
[デフォルト unset]
If 出力 設定され、 ex いかなるアクセスも .exrc 現在のディレクトリ内のファイル。
初期化 in ex vi。 場合 出力 設定されていません、 ex 無視する .exrc 内のファイル
初期化中に現在のディレクトリを指定する。ただし、現在のディレクトリが
ホーム 環境変数。
無視する、 ic
[デフォルト unset]
If 無視する場合 が設定されている場合、大文字と小文字の表現を持つ文字は
これらの表現は正規表現の目的において同等とみなされる
比較。
当学校区の 無視する場合 編集オプションは記憶されているすべての正規表現に影響します。たとえば、
設定解除 無視する場合 編集オプションはその後 vi n 検索するコマンド
最後の基本正規表現を大文字と小文字を区別して指定します。
リスト
[デフォルト unset]
If リスト 設定されている場合、編集バッファの行が書き込まれている間に ex コマンドモードは次のように記述される。
に指定された 印刷 とのコマンド l フラグが指定されました。オープンモードまたはビジュアルモードでは、各
編集バッファ行は、 ex 印刷 とのコマンド l フラグ
オープンまたはビジュアルテキスト入力モードでは、カーソルが
線の中の文字は、 '$' 列の終わりを示します。
マジック
[デフォルト セッションに]
If マジック 設定すると、正規表現内の文字の解釈が変更され、
置換文字列( レギュラー 式 in ex 交換 弦 in
ex).
メッセージ
[デフォルト セッションに]
If メッセージ 設定すると、他のユーザーが 書きます or 話す 書き込むコマンド
端末はオープンモードまたはビジュアルモードのときにオンになります。シェルレベルのコマンド メッセージ
n いかなる設定よりも優先されるものとする ex メッセージ オプション、つまり、 メッセージ y ました
エディターを起動する前に発行されます (またはシェル エスケープで発行されます)。例:
:!メッセージ y
メッセージ 内のオプション ex 受信メッセージを抑制するが、 メッセージ オプションは
受信メッセージを有効にする場合 メッセージ n 発行されました。
数、 nu
[デフォルト unset]
If 数 設定されている場合、編集バッファの行が書き込まれている間に ex コマンドモードは次のように記述される。
行番号は、 印刷 とのコマンド # フラグが指定されました。
ex テキスト入力モードでは、各行の先頭に行番号が付けられ、
ファイルにソフトウェアを指定する必要があります。
オープンモードまたはビジュアルモードでは、各編集バッファ行は先行行とともに表示される。
指定された形式で数値を ex 印刷 とのコマンド # フラグが指定されました。これは
行番号は、評価の目的において行の一部とはみなされないものとする。
現在の列、つまり列位置1は、
指定された形式 印刷
段落、 パラ
[POSIXロケールのデフォルト IPLPPPQPP LIpplpipbp]
当学校区の パラグラフ 編集オプションは、オープンおよび
ビジュアルモードコマンド。 パラグラフ 編集オプションは文字列に設定できます
0個以上の文字ペアで構成される。奇数に設定するとエラーとなる。
文字数。
プロンプト
[デフォルト セッションに]
If プロンプト 設定され、 ex コマンドモードの入力は、 (':'); いつ
設定されていない場合、プロンプトは書き込まれません。
読み取り専用
[デフォルト 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. ]
Status 読み取り専用 編集オプションが設定されている場合は、読み取り専用モードが有効になります( 書きます)。 ザ
読み取り専用 編集オプションは、以下のいずれかの条件が満たされた場合に初期化され、
本当:
* コマンドラインオプション −R が指定されました。
* 同等の行為を行うこと アクセス() 関数は次のように呼び出されます
引数はファイルに書き込み権限がないことを示します:
1. 現在のパス名が path 引数。
2.定数 W_OK として使用されます アモード 引数。
当学校区の 読み取り専用 編集オプションは、実装定義の他の設定に初期化される可能性があります。
理由。 読み取り専用 編集オプションは、特別な理由に基づいて設定解除されてはならない。
ユーザーまたはプロセスの権限。 読み取り専用 編集オプションはそれぞれ再初期化される
編集バッファの内容が置き換えられる時間(例えば、 edit or 次の
ユーザーが明示的に設定しない限り、コマンドは設定されません。ユーザーが明示的に設定した場合は、
ユーザーが明示的に設定を解除した場合。一度設定を解除すると、
編集バッファの内容が置き換えられます。
再描画
[デフォルト unset]
エディタはダム端末上でインテリジェント端末をシミュレートします。(これは
端末に大量の出力を必要とするため、高伝送速度でのみ有用である。
速度。
リマップ
[デフォルト セッションに]
If リマップ が設定されている場合、マップ変換では他のマップに基づいて定義されたマップが許可されます。
翻訳は最終製品が得られるまで継続されます。設定されていない場合は、1ステップのみ
翻訳が行われるものとする。
レポート
[デフォルト 5]
この価値 レポート 編集オプションは、追加、コピー、
編集バッファで削除または変更すると、情報メッセージが書き込まれます。
ユーザに通知する。以下の状況では情報メッセージが表示される。
追加、コピー、削除、または変更された行の数を含むものとするが、それ以外の場合は
不特定。
* An ex or vi エディタコマンド以外 開いた, 取り消すまたは ビジュアル少なくとも
の値 レポート 編集オプションの行数、および ex
全体的な or v コマンド、または ex or vi バッファ実行は情報メッセージを表示する。
書き込むメッセージ。
* An ex ヤンク or vi y or Y コマンドは少なくとも レポート edit
オプションに1行を追加し、 ex 全体的な or v コマンド、または
ex or vi バッファ実行により、情報メッセージが書き込まれます。
* An ex 全体的な, v, 開いた, 取り消すまたは ビジュアル コマンドまたは ex or vi バッファ実行により、
または、少なくとも合計値を削除します レポート 編集オプションの行数、
そして、 ex 全体的な or v コマンド、または ex or vi バッファ実行、
情報メッセージが書き込まれる。(例えば、3行が
追加され、8行が削除されました ex ビジュアル コマンドでは、5が比較される数値になります
に対して レポート コマンドが完了したら編集オプションを選択します。
スクロール、 SCR
[デフォルト (表示行数 -1)/2]
の値 スクロール 編集オプションは、スクロールする行数を決定します。 ex
‐Dと z コマンド。 vi ‐Dと‐Uコマンドは、
前の行がない場合にスクロールする最初の行数‐Dまたは‐Uコマンド
実行されました。
セクション
[POSIXロケールのデフォルトはNHSHH HUnhsh]
当学校区の セクション 編集オプションは、オープンセクションと
ビジュアルモードコマンド。 セクション 編集オプションは、次の文字列に設定できます。
0個以上の文字ペア。奇数に設定するとエラーとなる。
文字。
シェル、 sh
[環境変数からのデフォルト SHELL]
このオプションの値は文字列でなければならない。デフォルトは SHELL
環境変数。 SHELL 環境変数がnullまたは空の場合、 sh (参照してください sh)
ユーティリティがデフォルトとなります。
シフト幅、 sw
[デフォルト 8]
このオプションの値は、使用されるインデントレベルの列幅を指定します。
自動インデント中およびシフトコマンド(< >).
ショーマッチ、 sm
[デフォルト unset]
説明した機能は ショーマッチ 編集オプションはブロック上でサポートされる必要はない
モード端末または機能が不十分な端末。
If ショーマッチ オープンモードまたはビジュアルモードでは、 ')' or '}' が入力された場合、対応する
'(' or '{' 現在ディスプレイに表示されている場合は、対応する '(' or '{' フラグが付けられる
カーソルをその位置まで不特定の時間移動します。
ショーモード
[デフォルト unset]
If ショーモード オープンモードまたはビジュアルモードで設定されている場合、エディタの現在のモードは
ディスプレイの最終行に表示される。コマンドモードとテキスト入力モードは
区別される。その他の未指定のモードおよび実装定義の情報は
表示されます。
スローオープン
[デフォルト unset]
If スローオープン オープンおよびビジュアルテキスト入力モード中に設定されている場合、エディターは更新しません。
文字を表示する表示行の列以外のディスプレイ部分
ユーザーが入力した( 入力 モード コマンド in vi).
タブストップ、 ts
[デフォルト 8]
この編集オプションの値は、の中で
ディスプレイ(参照 オートプリント, ap 入力 モード コマンド in vi).
タグ長、 tl
[デフォルト ゼロ]
この編集オプションの値は、編集可能な文字の最大数を指定します。
ユーザーが指定したタグ名とタグからのタグ名で重要とみなされる
ファイル。値が 0 の場合、両方のタグ名のすべての文字が有効になります。
タグ
[デフォルト 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. ]
この編集オプションの値は、ファイルの区切りパス名
によって使用される タグ コマンド。デフォルト値は未指定です。
期間
[環境変数からのデフォルト TERM]
この編集オプションの値は文字列でなければならない。デフォルトは TERM
環境内の変数。 TERM 環境変数が空またはnullの場合、
デフォルトは未指定です。エディターはこの編集オプションの値を使用して、
表示デバイスの種類。
ユーザーが用語編集オプションの値を変更した場合、結果は不定です。
エディターの初期化。
簡潔
[デフォルト unset]
If 簡潔 が設定されている場合、エラーメッセージは簡潔になる場合があります。ただし、この注意事項を除けば、
エラーメッセージは未指定です。さらに、すべてのエラーメッセージを変更する必要はありません。
このオプションのさまざまな設定。
警告する
[デフォルト セッションに]
If 警告する が設定されており、編集バッファの内容は
最後に完全に書き終えた後、編集者は特定の !
コマンド(を参照) エスケープ).
ウィンドウを使用して入力ファイルを追加します。
[デフォルト 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. ]
オープンモードとビジュアルモードで使用される値。 ‐Bと-Fコマンド、および、
ビジュアルモードでは、画面が再描画されるときに表示される行数を指定します。
Status −w コマンドラインオプションが指定されていない場合、デフォルト値は
の値 LINES 環境変数。 LINES 環境変数が空であるか、
null の場合、デフォルトはディスプレイの行数から 1 を引いた数になります。
設定する ウィンドウを使用して入力ファイルを追加します。 編集オプションを0または行数より大きい値に設定すると、
表示から1を引いた値(明示的に、または −w オプションまたは LINES 環境
変数)は、 ウィンドウを使用して入力ファイルを追加します。 編集オプションを行数に設定する
マイナス1を表示します。
端末回線のボーレートは実装定義のデフォルトを変更する可能性がある。
方法。
ラップマージン、 wm
[デフォルト 0]
この編集オプションの値がゼロの場合、効果はありません。
POSIX ロケールでない場合、この編集オプションの効果は実装によって定義されます。
それ以外の場合は、端末の終了マージンからの列数を指定します。
オープンテキスト入力モードおよびビジュアルテキスト入力モードでは、
文字は、以下の列に表示されます ラップマージン 終わりからのコラム
表示行の余白の場合、エディターは次のように動作します。
1. このイベントをトリガーするキャラクターが、それと、その直前のすべて
現在の行の実行中に入力された文字
テキスト入力コマンドは破棄され、エディタはユーザーが
シングル入力代わりに、ユーザーが次に入力した文字が
1つの、それも破棄されるものとする。
2. それ以外の場合、XNUMXつ以上の現在の行の文字を直ちに
挿入された非入力された文字
現在のテキスト入力コマンドの実行、文字は
ユーザーが単一の文字を入力したかのように置き換えられますその代わり。
Status 自動インデント 編集オプションが設定され、1.または2.で説明したイベントが実行され、
どれでも現在の行のカーソル位置以降の文字は破棄されます。
終了マージンはシステムによって決定されるか、またはユーザによって上書きされるものとする。
について説明されています COLUMNS 環境変数セクションと基本定義の巻
POSIX.1‐2008の 章 8, 環境 変数.
ラップスキャン、 ws
[デフォルト セッションに]
If ラップスキャン が設定されている場合は、( ex / or ? アドレス、またはオープンおよびビジュアルモード /, ?, N,
n コマンドは編集バッファの先頭または末尾を囲む。設定されていない場合は、
検索は編集バッファの先頭または末尾で停止します。
書き込み、 wa
[デフォルト unset]
If 書く 設定されている場合、実行時に実行されるチェックの一部は ex 書きます コマンド
エディタオプションで説明されているように、禁止される 自動書き込み.
EXIT ステータス
次の終了値が返されます。
0正常に完了しました。
> 0エラーが発生しました。
結果 OF エラー
エラーが発生し、標準入力が端末デバイス ファイルでない場合、 ex
ファイルを書き込んだり、コマンドまたはテキスト入力モードに戻ったりしてはならず、終了する必要があります
ゼロ以外の終了ステータス。
それ以外の場合、回復不可能なエラーが発生した場合は、SIGHUPと同等になります。
非同期イベント。
それ以外の場合、エラーが発生した場合、エディターは指定されたとおりに動作する必要があります。 Command
LINE 解析 in ex.
当学校区の フォロー中 セクション 有益です。
お申込み USAGE
SIGSEGVシグナルを受信した場合 ex ファイルを保存している場合、ファイルは
正常に保存されました。
当学校区の 次の コマンドは複数のファイルを受け入れることができるため、次のような使い方ができます。
次の `ls [abc]*`
有効です。 edit or read 例えば、コマンドは
1 つのファイルのみを想定しており、不特定の結果が発生します。
例
なし。
理論的根拠
当学校区の ex/vi 仕様はBSDとSystem.4の歴史的な慣例に基づいています。
V実装 ex vi.
A 制限されました エディタ (歴史的な 赤 ユーティリティと変更 ex)だった
検討され、却下された。どちらの選択肢も、
ユーザーが期待するかもしれない。
認識されているのは ex ビジュアルモードと関連機能は、そうでなければ難しいでしょう
ブロックモード端末や、
カーソルアドレス指定のいかなる形式も使用できないため、このような機能は必須要件ではない。
すべての端末で動作するはずです。ただし、 ex 実装
サポート可能なすべての端末に完全な機能セットを提供する必要があります。
オプション
当学校区の −c の交換 + command その影響を受けた −e のオプション sed歴史的に、すべての
このようなコマンド( edit 次の 編集の最後の行から実行された
バッファ。これは例えば 「+/パターン」 そうでなければ失敗するだろう ラップスキャン オプション
が設定されました。POSIX.1‐2008では、歴史的な慣例に準拠することが求められています。 + command オプションがある
POSIX.1‐2008 では指定されなくなりましたが、一部の実装に存在する可能性があります。
歴史的に、いくつかの実装では、 ex 一部としてリストできるコマンド
コマンドライン引数の。一貫性を保つため、POSIX.1‐2008ではこれらの
制限。
エディターのこれまでの実装では、 −r オプション(および 読み取り専用 編集オプション)
ファイルの上書きのみを禁止した。ファイルへの追加は許可されていたが、マッピングは
ゆるく CSH ノークロバー 変数。しかし、いくつかの実装では、
この意味論、そして 読み取り専用 追加も許可しません。POSIX.1‐2008は
後者の実践は、それがより明白で直感的な意味であると信じています 読み取り専用.
当学校区の −s オプションはすべての対話型ユーザーフィードバックを抑制し、スクリプトの編集に役立ちます。
バッチジョブで。具体的な効果のリストは過去の慣例です。端末の種類
「オープンモードとビジュアルモードをサポートできない」は、歴史的には「ダム」と呼ばれてきました。
当学校区の −t オプションが必要だったのは、 クタグス ユーティリティはPOSIX.1‐2008で登場し、
オプションは、すべての歴史的実装で利用可能です ex.
歴史的に、 ex vi 公益事業は受け入れた −× オプションは、暗号化に基づいて
歴史的に発見されたアルゴリズム 陰窩 効用。 の −× 暗号化のオプションと
関連する 陰窩 ユーティリティは、使用されたアルゴリズムが指定できず、
一部の国の輸出管理法により、暗号技術の輸出が困難となっている。
技術です。さらに、歴史的にユーザーが求めるレベルのセキュリティを提供していませんでした。
期待するかもしれない。
スタンダード 入力
ファイル終了条件はファイル終了文字と同じではありません。一般的なファイル終了条件は、
ファイル文字、 ‐Dは歴史的に ex
歴史的な実装では、行の長さの上限はなかった。 ex具体的には、
チャンク単位で解析されたため、アドレスの最大長はファイル名の最大長と異なっていました。
さらに、最大ラインバッファサイズはBUFSIZとして宣言されており、長さが異なっていた。
異なるシステムで。このバージョンでは、{LINE_MAX}の値を選択して、妥当な値を課しています。
携帯用機器の使用制限 ex テストスイートの作成者を支援するために
この限界を試す現実的なテスト。
入力
標準開発者による明確な決定は、いずれかに追加される
ファイルが1つ欠けている。 ex vi ユーザーに頼られていた
末尾の文字がないテキストファイルを作成するにはよりポータブル。
これには、ユーザー指定のオプションまたは拡張機能が必要となる。 ex
vi テキスト以外の種類のファイルを編集する(ただし、そのようなファイルが
システム。任意の種類のファイルを編集できる機能は有用であることに同意した。
しかし、 ex or vi 実装が必要となる
テキストファイル以外のファイルを処理します。
入力ファイルセクションの「デフォルトでは…」という段落は、
長年のセキュリティ問題 ex vi; ``modeline'' または ``modelines'' のもの
編集オプション。この機能により、ファイルの最初または最後の5行の任意の行を
文字列を含む "元:" or 「vi:」 (そして、どうやら、 「えい:」 or 「vx:」)を線にする
エディタコマンドを含む、および ex 次のテキストまですべてを解釈する ':' または
コマンドとして。例えば、何も知らないユーザーが ex or
vi 次のような行を含むメール メッセージに返信する場合、エディターとして次のように入力します。
元:! rm −rf :
署名行に現れた。標準開発者は、エディタが
デフォルトではファイルのどの行も解釈すべきではありません。ベンダーは削除することを強く推奨します。
この機能を実装から ex vi.
非同期 イベント
「完全書き込み」というフレーズの意図は、編集バッファ全体が書き込まれることである。
安定したストレージに保存されます。一時ファイルに関する注意は、
一時ファイルを使用して、ユーザーが名前を付けていないバッファをバック編集します。
歴史的に、SIGQUITは無視され、 ex、しかし、 Q 視覚的なコマンド
モード、つまりビジュアルモードを終了して ex モード。POSIX.1‐2008では許可されているが、
この動作は必須ではありません。歴史的に、SIGINTは vi 終了するユーザー
テキスト入力モード( -Cは、 )。いくつかの実装
of vi このイベントを端末に通知するものもあれば、通知しないものもあった。POSIX.1‐2008では、
SIGINTは次のように動作します。 、端末に警告が出ないようにします。
歴史的に、 ex テキスト入力モード中のエディターはSIGINTに似ており、
完了した行は保持されますが、部分的な行は破棄され、エディターは
コマンドモード。POSIX.1‐2008ではこの問題については言及されていないが、実装では
可能な場合は、従来の慣習に従ってください。
歴史的に、 vi エディターはSIGTSTPを非同期イベントとして扱わなかったため、
そのため、ビジュアルテキスト入力モードでエディタを一時停止することはできません。2つの主要な
これには理由があります。まず、SIGTSTPはUNIXシステムではブロードキャスト信号であり、
シェルが execアプリケーションは execs vi 通常、
SIGTSTPがプロセスグループに配信された場合、端末状態に混乱が生じる。
2つ目は、UNIXのほとんどの実装が 呪い パッケージは
SIGTSTPを安全に処理できず、間違ったタイミングでSIGTSTPを受信すると、
クラッシュする可能性がある。POSIX.1‐2008ではこの問題については言及されていないが、実装では
可能であれば、非同期イベントとしてサスペンションを実行します。
歴史的には、SIGINTが操作を中断する前に編集バッファに変更を加えると、
保持される。つまり、変更される行のゼロからすべてまでが保持される可能性がある。
SIGINTが到着するまでに変更されていませんでした。これらの変更は破棄されませんでした。
SIGINTの到着。POSIX.1‐2008ではこの動作を許可しており、 取り消す コマンドは
これらの部分的に完了したコマンドを元に戻すことができることが必要です。
SIGINT、SIGCONT、SIGHUP、SIGTERM以外のシグナルに対して取られるアクションは
一部の実装では編集バッファを有用な状態で保存しようとするため、未指定
他の信号を受信したとき。
スタンダード エラー
ex/vi診断メッセージは失敗した試行の結果として報告されるメッセージです
呼び出す ex or vi無効なオプションやリソース不足、異常な
終了条件。診断メッセージはエラーメッセージと混同しないでください。
不適切または違法なユーザー コマンドによって生成されます。
初期化 in ex vi
もし ex コマンド( cd, Chdirまたは source)にはファイル名引数があり、
代替パス名と現在のパス名が設定されます。非公式には、以下のように設定されます。
1。 もし ex コマンドは編集バッファの内容を置き換えるものであり、
成功した場合、現在のパス名はファイル名引数(最初の
ファイル名引数の場合 次の コマンド)と代替パス名は
以前の現在のパス名(存在する場合)に設定されます。
2. ファイルの読み取り/書き込み形式の場合 read 書きます コマンドがある場合
現在のパス名がない場合、現在のパス名がファイル名引数に設定されます。
3. それ以外の場合は、代替パス名がファイル名引数に設定されます。
たとえば、 編集: foo :回復する foo成功した場合は現在のパス名を設定し、
以前の現在のパス名があった場合は、代替パス名。コマンド :書きます,
!指図, 編集: 現在のパス名も代替パス名も設定しないでください。 編集: foo
コマンドが何らかの理由で失敗した場合、代替パス名が設定されます。 read
書きます コマンドは代替パス名を file 議論は、現在の
パス名が設定されていない場合、現在のパス名を file 引数
代替パス名は歴史的には設定されていなかった :ソース コマンド。POSIX.1‐2008
従来の慣習に従う必要がある。
引数としてファイル名を使用する場合は、ここで説明されているように代替パス名を設定することをお勧めします。
歴史的には、 ex vi 読む .exrc 内のファイル $ HOME ディレクトリを2回実行すると、エディタが
処刑された $ HOME ディレクトリ。POSIX.1‐2008 ではこの動作は禁止されています。
歴史的に、4BSD ex vi 読む $ HOME そしてローカル .exrc 所有されていたファイル
ユーザーの実際のID、または ソース オプションは他の
考慮事項。これは、通常のUNIX
システムコマンド .exrc ファイル。POSIX.1‐2008では、 ソース オプション、
歴史的な実装では削除が推奨されます。
当学校区の .exrc ファイルはユーザーの実IDによって所有され、他のユーザーによって書き込み可能ではない必要があります。
所有者よりも権限が限られている。適切な権限の例外は、ユーザーが
特別な権限を取得するが、 .exrc ホームディレクトリ内のファイル。
System V リリース 3.2 以降 vi 実装ではオプションが追加されました [いいえ]exrc。 動作
それは地元のものですか .exrc ファイルは読み取り専用です。 出力 オプションが設定されています。
出力 オプションはオフだったので、デフォルトではローカル .exrc ファイルが読み込まれませんでした。これが問題でした
解決しようとしたのは、System Vがユーザーにファイルの譲渡を許可していたため、
ファイルの安全性を確認するために、所有権や書き込み可能性のテストを行います。これは依然として
ユーザーがファイルを配布できるシステムではセキュリティ上の問題がありますが、
POSIX.1‐2008でできることに加え、実装定義の例外は
グループが地域を持つことを許可する .exrc 擬似ユーザーを作成してユーザー間で共有するファイル
共有ファイルの所有者になります。
POSIX.1‐2008ではシステム全体については言及されていない ex vi スタートアップファイル。これらは
いくつかの実装 ex vi、それらはどの実装にも存在しない
POSIX.1‐2008では歴史的な慣例とみなされています。このようなファイルを持つ実装は
実際のユーザーIDまたは適切なユーザー(
例えばUNIXシステムではroot)であり、そのユーザー以外のユーザーによって書き込みができない
所有者。システム全体の起動ファイルは、 終了 変数、 $HOME/.exrc,
またはローカル .exrc ファイルが評価されます。
歴史的に、 ex コマンドは、 終了 変数または .exrc ファイル、
ただし、編集バッファに既にテキスト行が含まれている必要があるものは通常
エディタの歴史的な実装がドロップされた POSIX.1‐2008では、
どれか ex コマンドが許可される 終了 変数と .exrc ファイルの簡素化のため
仕様と一貫性は保たれているが、多くのものは明らかに多くの条件を満たさない。
状況。
編集バッファの内容の初期化には「効果は
様々なことに関して「ある」 ex コマンド。このフレーズの意図は、編集バッファ
初期化フェーズで読み込まれたコンテンツは失われないようにする。つまり、編集を読み込むと
バッファが失敗する場合は、 .exrc ファイルはファイルの内容を読み込みましたが、
その後、編集バッファに書き込みます。このフレーズのもう1つの目的は、
初期の現在の行と列は、個々の指定に従って設定されます。 ex コマンド。
歴史的に、 −t オプションは、タグ検索が + commandつまり、それは
タグで指定されたファイルの最後の行から実行された。その結果、検索は
パターンが前方検索パターンであり、 ラップスキャン 編集オプションは
POSIX.1‐2008ではこの動作は許可されておらず、タグの検索は
パターンをファイル全体で実行し、見つからない場合は現在の行を設定する
ファイル内のより適切な場所に移動します。
歴史的には、ファイルが指定できなかったときに編集用に空の編集バッファが表示され、
ユーザーは名前が付けられていなかった。これはPOSIX.1‐2008で許可されているが、実装は
このバッファに一時的なファイル名をユーザーに提供することが推奨されます。
の使用 ex 一時的な編集セッション中に現在のパス名を使用するコマンド。
歴史的には、 −t オプションは現在の引数の一部ではありませんでした
リスト。この方法はPOSIX.1‐2008で許可されていますが、実装は推奨されます。
一貫性を保つために、現在の引数リストにその名前を含めます。
歴史的に、 −c コマンドは通常、すでに存在するファイルが
編集されました。POSIX.1‐2008ではこの歴史的慣例に従うことが求められています。
原因となる可能性がある −c 実行されるコマンドには、 ex コマンド edit, 次の, 回復します,
巻き戻し, タグ、 そしてその vi コマンド‐^と‐]。歴史的に、
ファイルを編集バッファにインポートしても、 −c 実行されるコマンド(
ただし、現在のパス名を設定すると、 −c 命令する
実行時: エディタが ex モードでは、編集バッファに現在のパス名がなく、編集
バッファは空で、まだ読み取りコマンドは実行されていませんでした。一貫性と
仕様の単純さのため、POSIX.1‐2008 ではこの動作は許可されていません。
歴史的に、 −r オプションは回復がない場合の通常の編集セッションと同じでした
ファイルに利用可能な情報。これにより、ユーザーは以下を入力できました。
vi −r *。NS
回復可能なファイルは回復します。一部の実装では、回復は
最初に指定されたファイルに対してのみ試行され、そのファイルは引数に入力されませんでした
リストの場合、他のケースでは、指定されたファイルごとに回復が試みられました。さらに、いくつかの歴史的な
実装は無視される −r if −t 指定されたか、コマンドラインをサポートしていませんでした file
との議論 −t オプション。仕様の一貫性と簡潔性のために、
POSIX.1‐2008ではこれらの特別なケースは許可されておらず、回復は
各ファイルを初めて編集するとき。
歴史的には、 vi 初期化した ` ' マークですが ex そうではなかった。つまり、もし
最初のコマンド ex モードは ビジュアル または、 ex コマンドが最初に実行されたとき(例:
vi +10 file), vi マークが初期化されずに入力されました。標準では
開発者は、マークが一般的に有用であり、一貫性とシンプルさのためであると信じていた。
仕様では、POSIX.1‐2008では、オープンまたは
ビジュアルモード、または ex モードであり、編集バッファが空ではありません。 ex
編集バッファが空の場合にモードを選択するのは歴史的な慣例であるが、常に
オープンモード編集およびビジュアルモード編集で空の編集バッファにマークを設定(および使用)することが可能
セッション。
アドレッシング
歴史的には、 ex vi 追加の宛名形式を受け入れた '\/' '\?'。 彼らはいた
に相当 「//」 「??」それぞれ、POSIX.1‐2008では必須ではない。
なぜなら、歴史的に何か違うことをしたかどうか誰も思い出せないからです。
歴史的には、 ex vi いくつかのコマンドでアドレスゼロを許可し、
% 空ファイルのアドレスを他のユーザーのために保存する。一貫性を保つため、POSIX.1‐2008ではサポートが義務付けられている。
前者については、意味のあるいくつかのコマンドでのみ許可し、それ以外の場合は許可しません。
さらに、POSIX.1‐2008では、 % 論理的に同等である 「1,$」、それは
また、意味がある場合はサポートされ、そうでない場合は禁止されます。
歴史的に、 % 同じアドレスに続けてアドレスを指定することはできません。一貫性を保つため
仕様の単純さと簡略化のため、POSIX.1‐2008では追加のアドレスが
。
以下のすべてが有効です アドレス:
+++現在の行のXNUMX行後。
/re/− 次の出現の1行前 re.
−2現在の行のXNUMX行前。
3 −−−− 2 XNUMX行目(中間の負のアドレスに注意)。
1 2 3行目。
アドレスを取得するコマンドには、任意の数のアドレスを指定できます。 例えば、
「1,2,3,4,5p」 4行目が有効なアドレスの最大数であるため、5行目とXNUMX行目を出力します。
によって受け入れられた 印刷 指図。 これは、 デリミタ、
ユーザーがファイル内の順序付けられたパターンに基づいてコマンドを作成できるようにします。 たとえば、
command 3;/foo/;+2プリント パターンを含む3行目以降の最初の行を表示します
foo、および次のXNUMX行。 アドレスに注意してください 3; 評価される必要がある
検索元が /ふー/ コマンドはこれに依存します。
歴史的には、1つ以上の後に値を含めることでアドレスに追加できました。
文字。例えば、 3 - 5p ファイルの7行目を書き込み、 /ふー/ 5
同じだった /foo/+5ただし、加算できるのは絶対値のみです。たとえば、
5 /ふー/ エラーでした。POSIX.1‐2008では、従来の慣例に準拠することが求められています。アドレス
オフセットは、歴史的にアドレスとは別に指定される可能性があるため、
ビジュアルモードの検索コマンドに提供されます。
歴史的に、欠落しているアドレスはデフォルトで現在の行に設定されます。これは、
先頭と末尾区切りのアドレスと末尾の-区切り
アドレス。一貫性を保つため、POSIX.1‐2008では先頭の住所として
よく。
歴史的には、 ex vi 受け入れた '^' アドレスとフラグオフセットの両方として文字を使用する
コマンドの場合、どちらの場合も '−' 文字。POSIX.1‐2008では
この動作を要求または禁止します。
歴史的に、基本的な正規表現の強化はアドレス指定に使用できました。
例えば、 '〜', '\<', '\>'POSIX.1‐2008は歴史的な
実践、つまり正規表現の使用法が一貫していること、そして正規表現が
正規表現が使用される場合はどこでも、表現の拡張がサポートされます。
Command LINE 解析 in ex
歴史的 ex コマンドの解析はここで説明したものよりもさらに複雑でした。POSIX.1‐2008
標準開発者が信じていたコマンド解析のサブセットを必要とする。
文書化されており、ユーザーがポータブルな形で使用できることが合理的に期待できるものであり、
実装間で歴史的に一貫していた機能です。(廃止された機能は
歴史的な実装は、準拠するために変更が必要になるでしょう
POSIX.1‐2008に準拠していますが、ユーザーがこれらの変更に気付くことはほとんどないでしょう。
複雑さの ex 解析は、3 つの特殊な終了ケースを処理することです。
1。 ザ !, 全体的な, v、およびフィルターバージョンの read 書きます コマンドは区切られます
による文字(通常は
シェルパイプ)。
2。 ザ ex, edit, 次の, ビジュアル オープンモードとビジュアルモードでは、すべてのコマンドは ex コマンド、
オプションで含む文字を最初の引数として指定します。
3。 ザ s コマンドは正規表現を最初の引数として受け取り、
コマンドを区切るための区切り文字。
歴史的に、の文字 + command の引数 ex, edit, 次の,
vi, ビジュアル コマンド、および パターン 置換 の部分 s 命令は、
コマンドを区切らず、フィルタの場合は read 書きます、 そしてその !, 全体的な,
v コマンドを区切る部分は全くありませんでした。例えば、次の例のように
コマンドはすべて有効です:
:編集 +25 | s/abc/ABC/ file.c
:s/ | /パイプ/
:読む !スペル % | コラム式
:グローバル/パターン/p | l
:s/a/b/ | s/c/d | セット
歴史的に、空または塗りつぶされた線 .exrc ファイルと sourcedファイル(および
終了 変数と ex コマンドスクリプトはデフォルトのコマンドとして扱われました。つまり、 印刷
POSIX.1‐2008では、これらのコマンドが以下の場合に無視されることが明確に規定されている。
.exrc sourced ファイルを使用して、新しいユーザー エラーの一般的な原因を排除します。
歴史的には、 ex 複数の隣接する(または(区切られた)縦線
実行時に奇妙な処理が行われた ex モード。例えば、コマンド ||| <carriage-
カーソルが1行目にあるときに、<return>を実行すると、ファイルの2行目、3行目、5行目が表示されます。
さらに、コマンド | 次の行の次の行のみを表示します。
次の2行。前者は、 vi モード、表示される
2行目、3行目、4行目。POSIX.1‐2008では、 vi 動作、つまり単一のデフォルト
コマンドと行番号はコマンド区切りごとに増分され、末尾の
後の文字区切り文字は破棄されます。
歴史的には、 ex 1つの追加を許可先頭のコマンド文字として;
例、 :g/パターン/:p 有効なコマンドであった。POSIX.1‐2008ではこれを一般化し、
先頭の任意の数文字が削除されます。
歴史的に、 削除 介入することなく命令に従うことができる
フラグ文字によって文字が区切られるのは、コマンド d p, p と解釈されます
バッファ pPOSIX.1‐2008 では、従来の慣習に準拠することが求められています。
歴史的に、 k コマンドの後にマーク名を挟むことなく続けることができる
文字。POSIX.1‐2008 では、従来の慣習に準拠することが求められています。
歴史的に、 s コマンドの直後にフラグ文字とオプション文字が続く場合があります。
例えば、 s/e/E/|s|sgc3p 有効なコマンドでした。しかし、フラグ文字は
単独では、例えば、コマンド sp s l は失敗しますが、コマンド sgp s gl
成功するだろう。(明らかに、 '#' フラグ文字が区切り文字として使用された場合、
もう一つの問題は、オプション文字がフラグの前になければならないということである。
コマンドが完全に指定されている場合でも文字は含まれます。たとえば、コマンド s/e/E/pg
は失敗しますが、コマンド s/e/E/gp 成功します。POSIX.1‐2008では、
歴史的慣習。
歴史的には、ユーザーからの入力に一致する接頭辞を持つ最初のコマンド名は
実行されたコマンドです。例えば、 ve, 版, へ 全員が実行した バージョン
しかし、コマンドは特定の順序で実行されたため、 a マッチ アペンドはなく、 省略.
POSIX.1‐2008では、従来の慣例に従うことが求められています。コマンドの制限は
拡張機能を持つ実装の検索順序は、次のようなコマンドの追加を避けるためです。
歴史的な接頭辞は移植性がない可能性がある。
歴史的な実装 ex vi 複数の ex コマンド、
区切られたビジュアル モードまたはエディターに入ったり出たりした文字。
の実装により vi この故障モードを示さないものが存在する、POSIX.1‐2008
それを許可していません。
アルファベットのコマンド名が、後続のアルファベット文字すべてで構成されるという要件
次の非アルファベット文字までの文字は、アルファベットのコマンド名が
引数と1つ以上の非アルファベット文字で区切る必要があります。通常は
1つのまたは 「!」 例外として指定された場合を除き、 削除, k, s
コマンド。
歴史的に、 ex デフォルト 印刷 コマンド( ‐D、 eof,
、 )プロンプト文字を消去し、次の行を表示しました
端末をスクロールせずに、つまり、以前に表示された行のすぐ下に表示されます。
これにより、ファイル内の行がユーザーにとってよりわかりやすく表示されるようになりました。POSIX.1‐2008
状況によっては不可能な場合もあるため、この動作は必須ではないが、
実装では、可能であればこのセマンティクスを提供することが強く推奨されます。
歴史的には、コマンドの途中でファイルを変更し、
新しいファイルで実行されるコマンドの残り。例:
編集: +25 ファイル.c | s/abc/ABC/ | 1
有効なコマンドであり、新しく編集されたファイルで置換が試行されました。
POSIX.1‐2008では、従来の慣例に従うことが求められています。以下のコマンドは
を実践する例 ex パーサー:
echo 'foo | バー' > ファイル1; echo 「foo/bar」 > ファイル2;
vi
編集: +1 | s/|/パイプ/ | w file1 | e file2 | 1 | s/\//スラッシュ/ | wq
歴史的に、エディタの実装には、 ex 全体的な, v, @,
or * 関連コマンドの実行中に編集バッファを変更するコマンド。
これはほぼ間違いなくエディターの壊滅的な障害につながり、
これらの問題を示す実装が存在するため、POSIX.1‐2008では、
編集バッファ 全体的な or v コマンド中、または @ or * コマンドが存在する
複数回実行する場合はエラーになります。複数の実行をサポートする実装では
編集バッファを同時に使用する場合、同じセマンティクスを適用することが強く推奨されます。
バッファ間の切り替えも同様です。
当学校区の ex POSIX.1‐2008で要求されるコマンドクォートは、歴史的に使用されているクォート方式のスーパーセットです。
エディタの実装。例えば、歴史的には
ファイル名に、例えば、 編集: フー\\\ バー ファイル名が多すぎると報告される
編集コマンドに入力されており、エスケープする方法がありませんでした。で
最初の引数 edit, ex, 次のまたは ビジュアル コマンドをまったく使用しません。POSIX.1‐2008は
歴史的な慣習では、引用行動はすべての国で一貫している必要がある。 ex
コマンドを除く 地図, マップを解除, 省略, 省略しない コマンドは
歴史的に使用されている‐Vの代わりに引用符の文字。
1 つのコマンド、POSIX.2008‐XNUMX では従来の慣例に準拠することが求められています。
バックスラッシュ引用符 ex 直感的ではありません。 -エスケープは無視されます。
特殊文字をエスケープします。たとえば、 file 議論の展開、
string 「\\%」 に相当します '\%'、 ない "\現在 パス名>」これは、
ユーザーのためは通常、シェル拡張を引き起こす文字の1つです。
実行されるため、シェルの引用規則を考慮する必要があります。
一般的に、引用符文字は特殊文字をエスケープする場合にのみ考慮され、
引用符は、その文字が適用される解析の各層ごとに提供されなければならない。
特別な例を挙げると、たった1つのは、 '\l' シーケンス
代替置換パターンでは、文字 'l' 誰にとっても特別なことではない
その上の解析層。
‐V引用 ex バックスラッシュ引用符とは少し異なります。4つの
コマンド‐V引用符が適用される(省略, 省略しない, 地図, マップを解除)、 どれでも
文字は、 ‐V それが特別な意味を持つかどうか。
POSIX.1‐2008は、歴史的慣行への適合を要求します。
エディタのこれまでの実装では、文字内に区切り文字は必要ありませんでした。
エスケープするクラス。たとえば、コマンド :s/[/]// 弦の上で 「xxx/yyy」 でしょう
削除する 「/」 POSIX.1‐2008ではこの歴史的な慣習は禁止されている。
一貫性と実装に大きな負担がかかるため、
正規表現に関する知識がエディターパーサーに組み込まれます。
歴史的に、引用の文字 ex コマンドが一貫性なく処理されました。
ほとんどの場合、文字は常にコマンドを終了しました。
先行するエスケープ文字は、文字は逃げなかった
ほとんどの文字 ex コマンド。ただし、一部の ex コマンド(例: s, 地図,
略語)許可エスケープする文字(ただし、 地図
略語、 -V文字は代わりにエスケープされます文字)。
これはコマンドラインだけでなく、 .exrc sourcedファイル。例えば、
コマンド:
地図 = フーバー
時には困難だったが、 ‐Vと挿入された
に渡された ex パーサー。仕様の一貫性と簡潔さのために、
POSIX.1‐2008では、エスケープが可能であることが要求されている。の文字 ex コマンド
いつでも、使用してほとんどの文字 ex コマンド、および使用‐V
の文字 地図 略語 コマンド。例えば、コマンド
印刷リスト 単一のコマンドとして解析する必要がある 印刷リスト.
これは歴史的な慣例とは異なるが、POSIX.1‐2008の開発者は、
どのスクリプトやユーザーも過去の動作に依存していた。
歴史的には、 −c オプションは残りを引き起こしませんでした
−c POSIX.1‐2008では、一貫性を保つためにこれを禁止している。
マッピングされたキー、 @, 全体的な, source, v コマンド、 終了 環境変数、および
.exrc ファイル。
入力 編集 in ex
歴史的な ex エディターは低速ネットワーク接続を使用しています。
正規モードで動作するエディターは、送受信トラフィックを大幅に削減でき、
ホスト マシン上での処理が可能になり、ブロック モード ターミナルのサポートも容易になります。
これらの理由から、POSIX.1‐2008では、 ex 標準モード入力を使用して実装する
歴史的に行われてきた処理。
POSIX.1‐2008では、歴史的な4つのBSD入力編集文字「単語消去」は要求されない。
または「リテラルの次」。このため、これらがどのように処理されるかは未指定である。 ex,
必要な効果を持たなければなりません。
行は、または‐M文字、および実装
この処理は基盤となるシステム端末のサポートに依存しますが、どちらも準拠しています。
実装では、可能な限り、基礎となるシステム機能を使用することが強く推奨されます。
他のシステムのテキスト入力インターフェースとの互換性を保つために可能です。
歴史的に、 eof 文字は、 自動インデント レベル、
カーソルを移動して新しい終了位置を表示 自動インデント 文字は変更されましたが、
カーソルを新しい行に移動したり、 ‐行のD文字。
POSIX.1‐2008では、カーソルが同じ行に留まるか、残りの行が
行は消去されますが、実装では最善の解決策を提供することが強く推奨されます。
可能なユーザーインターフェース、つまりカーソルは同じ行に留まり、
行の「-D」文字を消去します。
POSIX.1‐2008では、歴史的な4BSD入力編集文字「reprint」は要求されていない。
伝統的に-Rは、ユーザーからの現在の入力を再表示します。
理由は、ラインが完成した後には機能を実装できないためである。
ユーザーによって終了される場合、POSIX.1‐2008 ではこの機能に関する要件は規定されていません。
実装では、この歴史的な機能を利用できるようにすることが強く推奨されます。
可能。
歴史的に、 ‐Qは、リテラルな次の関数を実行しませんでした。 ex、それは vi.
POSIX.1‐2008では、歴史的な慣習を破らないようにするために、歴史的な慣習への準拠が求められている。 ex
スクリプトと .exrc ファイル。
eof
かどうか eof 文字はすぐに 自動インデント プロンプトの文字は
規定されていないため、実装は規定されていないシステムが存在する場合でも準拠できる。
この機能をサポートしていません。実装では、行を変更して
可能であれば、すぐに再表示してください。
の取り扱いの仕様 eof 性格は歴史的慣習とは異なる
それだけで eof テキスト内の通常の文字の後に続く文字は破棄されない
入力。歴史的に、それらは常に破棄されてきました。
Command 説明 in ex
歴史的には、いくつかのコマンド(例えば、 全体的な, v, ビジュアル, s, 書きます, wq, ヤンク, !, <,
>, &, ~)が空のファイルで実行可能であった(つまり、デフォルトのアドレスは0であった)、または
0の明示的なアドレスが許可されました(たとえば、0は有効なアドレス、または0,0は有効な
範囲)。アドレス0、または空のファイルでのコマンド実行は、
編集バッファに新しいテキストを追加するコマンドや書き込みコマンド(ユーザーが
POSIX.1‐2008では、このようなコマンドに対してこの動作が要求されており、許可されていない。
それ以外の場合は、仕様の一貫性と簡潔性のためです。
カウントを ex コマンドは歴史的に修正され、最後のものより大きくはならなくなった。
ファイル内の行。例えば、5行のファイルでは、コマンド 1,6print 失敗するだろうが、
command 1プリント300 成功します。POSIX.1‐2008 では、従来の慣例に準拠することが求められています。
歴史的に、旗の使用は ex コマンドがわかりにくい可能性があります。一般的な歴史的
実際の運用はPOSIX.1‐2008で説明されている通りだが、いくつか特別なケースもあった。
インスタンス、 リスト, 数, 印刷 コマンドは末尾のアドレスオフセットを無視します。
例、 3p +++# 3行目が表示され、実行後は3が現在の行になります。
コマンドの 開いた ビジュアル コマンドは末尾のオフセットと
末尾のフラグ。また、 開いた ビジュアル コマンドの相互作用が悪かった
リスト 編集オプション、およびオープン/ビジュアル中に設定および設定解除する
セッションは vi 指定された形式での行の表示を停止します。一貫性を保つために
仕様の単純さのため、POSIX.1‐2008ではこれらの例外は許可されていない。
一般的なルール。
POSIX.1‐2008では、 copy バッファについて議論する際には、いくつかの場所で言及されています。これは
実装を暗示することを意図しています。
歴史的には、 ex ユーザーは、この曖昧さのために数値バッファを指定できなかった。
次のようなコマンドを実行すると、 3 削除 22がバッファであるかどうかは不明である
名前または カウントPOSIX.1‐2008では、デフォルトで歴史的な慣例に準拠することが求められていますが、
延長を妨げるものではありません。
歴史的には、名前のないバッファの内容はコマンドの後に頻繁に破棄されていました。
明示的に影響を与えなかったもの。例えば、 edit 切り替えコマンド
ファイル。仕様の一貫性と簡潔性のため、POSIX.1‐2008ではこの方法は許可されていない。
行動。
当学校区の ex ユーティリティは歴史的に数値バッファにアクセスできず、さらに、
行を削除する ex 内容を変更していない。例えば、削除した後、
in vi、ユーザーは exもう一度削除し、その後、 vi
数値バッファの内容は変更されない。POSIX.1‐2008では準拠が要求されている。
歴史的慣習に従って、数値バッファは ex ユーティリティ
POSIX.1‐2008 では、バッファの記述を XNUMX か所に限定しています。
シェル拡張を引き起こすメタ文字は file 議論は歴史的に一致する
シェル拡張を行う方法と同様に、実装は
メタ文字セットを柔軟に変更できるユーザーは、
シェルメタ 文字列編集オプション。
歴史的には、 ex 実行されるコマンド vi 厳密には画面を更新しなかった
そうする必要がある。例えば、 :!日付 > / dev / null 画面の更新を必要としないため
UNIXの出力 date コマンドには画面の 1 行だけが必要です。
POSIX.1‐2008では、画面が上書きされた場合は画面を更新することを要求しているが、
実装でその決定をどのように行うべきかについての要件はありません。
実装では、プロンプトを表示して画面を更新する場合があります。
略語
歴史的には、略語の一部として入力された文字は
交換は 地図 拡張、 ショーマッチ 編集オプション、さらに
略語展開など、つまりそれらは論理的に端末にプッシュされた。
入力キューであり、単純な置き換えにはならない。POSIX.1‐2008では、
歴史的慣習では、非単語文字(単語の文字ではない文字)が
逃げられなかった単語文字の後に「-V」が入力された。 vi 確認する
略語。チェックは単語の前に入力された文字の種類に基づいて行われた。
チェックをトリガーした単語/非単語ペアの文字。
チェックをトリガーした単語/非単語のペアと、トリガーの前に入力されたすべての文字
そのタイプのペアはチェックに含まれていましたが、
略語を常に区切る文字。
つまり、この略語が機能するには、 lhs 単語文字で終わる必要があります。
単語から非単語文字(または バイス その逆)以外
最後の文字と最後から2番目の文字の間 lhs、そして、
の文字 lhsさらに、歴史的な引用規則により、
リテラルを入力できない‐Vの lhsPOSIX.1‐2008は準拠を要求している
歴史的な慣習に従っている。これまでの実装では、略語が
決して使用できないものが入力されました。実装ではそうすることが強く推奨されます。
たとえば、次の略語が使用できます。
:ab (p REPLACE
:ab p REPLACE
:ab ((p REPLACE
次の略語は機能しません。
:ab ( REPLACE
:ab (pp REPLACE
歴史的慣習では、 vi コロンコマンドラインは
略語展開、引数を含む 略語 (そしてもっと興味深いのは)
略語なし コマンド。略語展開を行わない実装もあるため
これらのコマンドの最初の引数については、これは許可されていますが、必須ではありません。
POSIX.1‐2008。ただし、次のシーケンス:
:ab foo バー
:ab foo バズ
の略語が追加されました 「バズ」 文字列用 "バー" 歴史的に
ex/vi、そしてシーケンス:
:ab foo1 バー
:ab foo2 バー
:省略しない foo2
略語を削除した 「foo1」はなく、 「foo2」これらの行為は許可されていません
POSIX.1‐2008 では、明らかにユーザーの期待に反するためです。
歴史的に、 ‐V、そうではない、文字は次のように解釈される
後続の文字をエスケープする 省略 コマンド。POSIX.1‐2008では
歴史的慣習に準拠しているが、略語は
を含む決して機能しません。
追加
歴史的に、コマンド区切り文字 アペンド,
変化するまたは insert コマンドが挿入テキストの一部になりました。例えば、以下のコマンドでは、
:g/パターン/追加|スタッフ1
テキストを含む行 「スタッフ1」 パターンに一致する各行に追加されます。
歴史的には、次のものを入力することも有効でした。
:append|stuff1
もの2
.
そして、 ex コマンドラインは、挿入されたテキストとともに追加されます。
しかし、歴史的にバグがあり、ユーザーは2つの終了コードを入力する必要がありました。
線( '。' この場合、テキスト入力モードを終了するには、POSIX.1‐2008で
歴史的慣習に合致するが、複数の
終端ライン。
前日比
根拠については、 アペンド コマンド。カーソル位置の歴史的慣習
テキストが入力されていないときの変更コマンドは、POSIX.1‐2008で説明されているとおりです。ただし、
System Vの実装では、カーソルが
指定された最初のアドレスに、最初のアドレスの前の行には存在しません。POSIX.1‐2008
一貫性を保つためにこの変更は許可されません。
歴史的に、 変化する コマンドはバッファ引数をサポートしていませんでしたが、
実装によってはオプションのバッファを指定できる。この動作は
POSIX.1‐2008 では必須でも禁止でもありません。
前日比 ディレクトリ
一般的な拡張 ex 実装の1つの方法は、 CDパス 編集オプション
プレフィックスディレクトリ path 引数 Chdir 相対パス名であり、
持ってる '。' or 「..」 最初の構成要素として。 CDパス 編集オプションは
区切り。 CDパス 編集オプションはシェルの値です
CDPATH 環境変数。この機能はPOSIX.1‐2008には含まれていない。
歴史的慣行と見なされる実装のいずれにも存在しません。
コピー
歴史的な実装 ex 指定された範囲内の行へのコピーを許可します。
例えば、 :2,5コピー3 有効なコマンドでした。POSIX.1‐2008では、
歴史的慣習。
削除
POSIX.1‐2008では、 削除 コマンドの後に
旗、介入なし文字。例:
1dp 最初の行を削除し、2 番目の行を出力します。
1delep はどうかと言うと 1dp.
1d 最初の行を削除し、バッファに保存します p.
1d p1l (ピーワンエル) 最初の行を削除し、バッファに保存します p、そしてその行をリストする
それは2番目でした。
編集
歴史的に、 ex コマンドは次のように入力できます + command への議論 edit コマンド、
ただし、一部の(例えば、 insert アペンド)は歴史的に混乱を招くことが知られていた
実装。仕様の一貫性と簡潔性のため、POSIX.1‐2008では、
任意のコマンドが引数としてサポートされるようにする edit
歴史的には、コマンド引数は現在の行を最後の行に設定して実行されました。
ファイルの edit コマンドがビジュアルモードから実行されたかどうか。
POSIX.1‐2008は、歴史的慣行への適合を要求します。
歴史的に、 + command 指定された edit 次の コマンドは
初め、引用符で囲む方法がありませんでした。一貫性を保つために、POSIX.1‐2008では
いつもの ex バックスラッシュ引用符が提供されます。
歴史的に、 + command 編集コマンドの引数にはファイル名が必要でした
も指定する必要があります。たとえば、 編集: +100 常に失敗するだろう。一貫性と
仕様の単純さのため、POSIX.1‐2008ではこの使用法が失敗することを許可していない。
理由。
歴史的には、最後に編集したファイルのカーソル位置のみが
エディタ。POSIX.1‐2008ではこれをサポートすることが要求されているが、実装は
以前に編集したファイルのカーソル位置を記憶して復元できます。
File
の歴史的バージョン ex エディタ file コマンドは現在行と行数を表示した。
ファイルが空の場合、編集バッファの行数は0であるのに対し、 vi ‐Gコマンド
現在の行と編集バッファ内の行数1を同時に表示しました
状況。POSIX.1‐2008ではこの矛盾は許容されず、代わりにメッセージ
ファイルが空であることを示すメッセージが表示されます。
Global
2パス操作の 全体的な v コマンドは、
実装では、操作の必要な結果のみが使用されます。
現在の行と列は、個々の指定に従って設定されます。 ex コマンド。 この
要件は累積的である。つまり、現在の行と列は、
実行されるコマンド 全体的な or v コマンド。
インサート
根拠については、 アペンド
歴史的には、 insert ゼロのアドレスでは使用できません。つまり、編集時に
バッファが空でした。POSIX.1‐2008では、このコマンドは
アペンド
加入団体
のアクション join 特殊文字に関するコマンドは、
POSIXロケールでは、ピリオドの後の空白の正しい量は変化するため、
日本語ではスペースは不要、フランス語ではスペース 1 つだけなどです。
リスト
の歴史的成果 リスト コマンドは潜在的に曖昧でした。標準
開発者は、これを修正することが歴史的事実に固執することよりも重要だと信じていた。
実践であり、POSIX.1‐2008 では明確な出力が求められます。
地図
歴史的に、コマンドモードマップはコマンド名にのみ適用されていました。たとえば、
文字 'バツ' にマッピングされました 'y'、 コマンド fx 検索した 'バツ' 性格ではなく
'y' 文字です。POSIX.1‐2008ではこの動作が要求されています。歴史的には、 ‐Vとして
最初の文字 vi コマンドはエラーでした。いくつかの実装では拡張されています
の意味論 vi そういった-Vは、後続のコマンド文字が
マッピングされていません。これはPOSIX.1‐2008で許可されていますが、必須ではありません。いずれにしても、
-V は、文字シーケンスの2番目以降の文字をエスケープします。
抹茶 地図 コマンド、またはテキスト入力モードの任意の文字は歴史的な慣習であり、
入力されたキーがマップにマッチするのを阻止します。POSIX.1‐2008では、
歴史的慣習。
歴史的な実装では、数字を 地図 command lhs、 しかしその後
マップを無視しました。POSIX.1‐2008 では、マップされた数字を無視しないことが規定されています。
歴史的に実施された 地図 コマンドは許可しなかった 地図 コマンドは
最初の文字が印刷可能な場合、長さが1文字を超える。この動作は
POSIX.1‐2008 では許可されていますが、必須ではありません。
歴史的に、マッピングされた文字は、 リマップ 編集オプションが設定されていない、または
マッピングされた文字のプレフィックスがマッピング文字と一致している。例えば、
地図:
:地図 ab ABCD
キャラクター 「アブ」 そのまま使用され、再マッピングされませんでしたが、文字 "CD" した
適切な場合はマッピングしてください。これにより、 vi マッピングメカニズム。
POSIX.1‐2008では、歴史的な慣習に準拠することが求められており、そのようなループは
中断可能。
テキスト入力マップでは、 lhs ex 地図! マップ解除!
命令は ex 省略 省略しない コマンド。 ex
省略 コマンド。POSIX.1‐2008では、いくつかの歴史的慣習に同様の変更が求められている。
地図 マップを解除 コマンドについては、 省略 省略しない コマンド。
歴史的には、 地図他のサブセットであった 地図sは、
定義された順序。例:
:地図! ab 短い
:地図! ABC 長い
常に文字を翻訳します 「アブ」 〜へ "短い"、どれだけ速くても
文字 「abc」 入力された順序が逆の場合:
:地図! ABC 長い
:地図! ab 短い
キャラクター 「アブ」 エディタが一時停止し、完了を待つ 'NS'
文字であり、文字がマッピングされない可能性があります "短い"一貫性と
仕様の単純化のため、POSIX.1‐2008では最短一致を常に使用することを要求している。
回。
編集者がキャラクターが完了するまで待つ時間の長さ lhs is
システムのタイミング能力はしばしば不正確かつ変動するため、指定されていない。
接続速度などの他の要因によって異なる場合があります。時間は
ユーザーがシーケンスを完了できるほど長くはないが、
ユーザーが待たされるのを防ぐ。 vi を追加しました キータイム オプション、
ユーザーは、エディターが完了を待つ時間を0,1秒単位で設定できます。
文字です。端末のファンクションキーとカーソルキーは、
性格、そして重要な結末 vi テキスト入力モード、 地図sから始まる
文字は通常このタイムアウト期間から除外されるか、少なくともタイムアウトになる。
違う。
Mark Hodder
これまで、ユーザーは「前のコンテキスト」マークを明示的に設定することができました。
さらに、 ex コマンド '' '` と vi コマンド '', ``, `', '` すべて参照
同じマーク。さらに、コマンドが
マークを設定したアドレスが関連付けられている場合、失敗しました。POSIX.1‐2008では
歴史的慣習への準拠。歴史的に、マークされた行が削除された場合、マークは
も削除されましたが、変更を元に戻すと再び表示されます。POSIX.1‐2008では
歴史的慣習への適合。
特別なイベントの説明 ` ' マークは歴史的に一致する
実践。例えば、歴史的に、コマンド /a/、/b/ 設定しなかった ` ' マークですが
コマンド /a/、/b/削除 でした。
次へ
歴史的に、 ex コマンドは次のように入力できます + command への議論 次の コマンド、
ただし、一部の(例えば、 insert アペンド)は歴史的に混乱を招くことが知られていた
POSIX.1‐2008では、あらゆるコマンドが許可され、それが
指定。 The 次の コマンドは複数のファイルを受け入れることができるため、次のような使い方ができます。
次の `ls [ABC] `
有効である。 edit or read 例えば、コマンドは
ファイル名は 1 つだけ想定されます。
歴史的に、 次の コマンドは、 :巻き戻し コマンドは
強制フラグを無視した場合、 自動書き込み フラグが設定されました。一貫性を保つため、POSIX.1‐2008では
この動作を許可しません。
歴史的に、 次の コマンドは、ファイルが編集されていないかのようにカーソルを配置しました
POSIX.1‐2008では、
edit
対応するものを提供したい実装は、 次の 編集したコマンド
前のファイルではコマンドを使用しています 前の]、 何もかかりません file 引数。POSIX.1‐2008
このコマンドは必要ありません。
店は開いています
歴史的に、 開いた コマンドが失敗する場合は、 開いた 編集オプションが設定されていません。
POSIX.1‐2008では、 開いた 編集オプションであり、この動作は必要ありません。
一部の歴史的な実装では、オープンモードまたはビジュアルモードからオープンモードに入ることはできません。
からのみ ex モード。一貫性を保つため、POSIX.1‐2008 ではこの動作は許可されていません。
歴史的には、コマンドラインからオープンモードに入ると(つまり、 vi +開く)の結果
異常な行動。例えば、 ex ファイルと セッションに コマンド、および vi command
-G は動作しませんでした。一貫性を保つため、POSIX.1-2008 ではこの動作は許可されていません。
歴史的に、 開いた コマンドのみ許可 「/」 検索に使用する文字
パターン区切り文字。一貫性を保つため、POSIX.1‐2008では、検索区切り文字は
を通じて、タンピングされたコーヒーベッドの上から均一にフィルターバスケットの内の粉に浸透していきます。 s, 全体的な, v コマンドも受け入れられます。
保存する
当学校区の 保存する コマンドは、歴史的にはファイルが変更されていないとみなされることはありません。
エディタを終了する可能性のある将来のコマンドの目的。POSIX.1‐2008では
歴史的慣習への適合。
過去の文書によれば、保存が無効だった場合、メールはユーザーに送信されなかった。
実行されますが、過去の実装ではこの場合メールが送信されていました。POSIX.1‐2008
従来の実装に準拠する必要があります。
印刷物
NULの執筆は 印刷 コマンドは特別なケースとして指定されていないため、
標準開発者は要求したくなかった ex NUL文字をサポートするため。歴史的には、
文字は、次の ARPA 標準マッピングを使用して表示されました。
1. 印刷可能な文字はそのままにします。
2. \177未満の制御文字は次のように表されます。 '^' 文字が続く
オフセットから 「@」 ASCII マップの文字。 たとえば、\007 は次のように表されます。
'^ G'.
3. \177は次のように表される。 '^' 続い 「?」.
XNUMX 番目のビットが設定された文字の表示は、あまり標準的ではありませんでした。 既存
実装では、0 進数 (00x000)、XNUMX 進数 (\XNUMX)、およびメタビット表示が使用されます。 (後者
8番目のビットが2つの文字として設定されたバイトを表示 「まー」 続いて
7ビットディスプレイは前述の通りである。後者はおそらく
歴史的に慣習として使われてきたため、 −v 4 BSD および 4 BSD 派生のオプション
のバージョン cat 1980 年以来の実用性。
POSIX.1‐2008 では特定の表示形式は必要ありません。
ASCII文字セットへの明示的な依存は可能な限り避けられており、そのため
ディスプレイに「実装定義の複数文字シーケンス」というフレーズを使用する
例えば、歴史的な使用法よりも非印刷文字の使用を優先する。 「^私」
のために実装は、以下の歴史的慣行に従うことが推奨されます。
相違する強い理由がない。
歴史的に、すべての ex 文字で始まるコマンド 'NS' 次のように入力できます
コマンドの大文字バージョン。例: 印刷, 保存する], 置く] すべてだった
有効なコマンド名。POSIX.1‐2008ではこの歴史的な慣習は許可されているが、必須ではない。
一部の実装ではコマンドの大文字形式が他の目的で使用されるためです。
入れ
歴史的に、 ex 置きます オープンモードまたはビジュアルモードから実行されたコマンドは、
オープンモードまたはビジュアルモード P コマンド、バッファに名前が付けられ、文字モードでカットされた場合、および
と同じ p バッファに名前が付けられ、行モードで切り取られた場合、コマンドが実行されます。名前のないバッファの場合は、
バッファはテキストのソースであり、テキストが取得された行全体が
通常 置きますバッファはラインモードのように扱われたが、
極めて異常な行動です。さらに、 Q 切り替えるコマンド ex モード、および
そして、 置きます 多くの場合、テキストを追加するなどのエラーも発生しました。
バッファの内容とは無関係です。一貫性と簡潔さのために
POSIX.1‐2008仕様ではこれらの動作は許可されていません。 ex 置きます コマンドは
ラインモードで動作するために必要であり、バッファの内容は変更されない。
エディターのモードを変更します。
読む
歴史的に、 ex read オープンモードまたはビジュアルモードから実行されるコマンド、空の
ファイルの先頭行に空行を残しました。一貫性と簡潔さを保つため、
POSIX.1‐2008仕様ではこの動作は許可されていません。歴史的に、 read 開いている
またはビジュアルモードでは、カーソルは読み込んだ最初の行ではなく、最後の行に置かれます。
一貫性のため、POSIX.1‐2008 ではこの動作は許可されていません。
歴史的な実装 ex 元に戻すことができなかった read から読み取るコマンド
プログラムの出力。一貫性を保つため、POSIX.1‐2008ではこの動作は許可されていません。
歴史的に、 ex vi 成功後のメッセージ read or 書きます 指定されたコマンド
「バイト」ではなく「文字」です。POSIX.1‐2008では、バイト数は
表示される文字数ではなく、マルチバイトでは難しい場合があるので、
読み取った文字数を決定する実装。実装は推奨される
ユーザーに表示されるメッセージを明確にします。
歴史的には、FIFOを除いて、通常のファイル以外のファイルでは読み取りは許可されていませんでした。
ファイルは読み取ることができませんでした(おそらく、 ex vi した
(原文は原文のまま)歴史的な ex 評価 読んだ! read ! 同等に、
読み込みを強制するオプションはありません。POSIX.1‐2008では許可されていますが、
この動作を必要とします。
回復する
エディターの歴史的な実装の中には、ユーザーが編集バッファを回復することを許可していたものもあった。
前回の編集セッションの内容を保存せずに終了する(または
明示的に破棄する)。編集バッファを明示的に破棄することを要求するPOSIX.1‐2008の意図は、
すでに変更されているものとして扱うのは、このユーザー エラーを防ぐためです。
巻き戻し
歴史的な実装は、 巻き戻し ユーザーが編集中に
リストの最初のファイル、つまり 巻き戻し コマンドは編集します。POSIX.1‐2008
歴史的慣行に準拠する必要があります。
代替
歴史的には、 ex 受け入れた r オプションを s コマンド。 r 選択肢は
コマンドで最後に使用した正規表現をパターンとして使用します。 ~
コマンド。 の r オプションはPOSIX.1‐2008では必須ではありません。歴史的には、 c g オプション
切り替えられた。例えば、コマンド :s/abc/def/ 同じだった s/abc/def/ccccgggg.
仕様を簡潔にするため、POSIX.1‐2008 ではこの動作は許可されていません。
チルダコマンドは、最後に検索した正規表現を置き換えるためによく使用されます。例えば、
シーケンス:
s/赤/青/
/緑
~
~ コマンドは以下と同等です:
s/緑/青/
歴史的には、 ex 以下のすべての形式を受け入れました:
s/abc/def/
s/abc/def
s/abc/
s/abc
POSIX.1‐2008 では、この歴史的な慣行に準拠することが求められています。
当学校区の s コマンドは、 '^' 文字は1列のみを占めます
ディスプレイ。 ex vi 仕様では、占有するだけ
画面に1列だけ表示されます。これが表示されない文字セットは存在しません。
真。
歴史的に、代替コマンドの最終的な列位置は、以前の
列の移動。パターンの検索とそれに続く置換により、列は
位置は変更されず、0コマンドの後に置換を実行すると列が変更されます。
最初の非仕様の一貫性と簡潔性のため、
POSIX.1‐2008では、最終列の位置は常に最初の列に設定する必要がある。
非。
作成セッションプロセスで
過去の実装では、 を
キーワード。POSIX.1‐2008 ではこの動作は許可されていますが、必須ではありません。
タグ
どこであるかは問われない ex vi タグによって参照されるファイルを探す
入り口。歴史的には、 タグ ファイル、基づいて
現在のディレクトリ。いくつかの実装で見られる便利な拡張機能は、
エントリが格納されているタグファイルを含むディレクトリも同様です。
タグファイル内のタグの参照が使用されるかどうかは、意図的なものです。
タグファイル内のタグに対する複数のエントリなどの拡張機能を許可するため。
ユーザーは多くの異なるタグファイルを指定することが多いため、その中には関連性がないものもある。
または特定の時点で存在する場合、POSIX.1‐2008では、問題に関するエラーメッセージは
タグファイルは、要求されたタグが見つからない場合にのみ表示され、その後は
毎回、 タグ 編集オプションが変更されました。
現在の編集バッファが変更されていないという要件は、ファイルが
タグエントリで指定されたタグは、現在のファイル(現在の
パス名)。歴史的には、ファイル名が変更された場合もファイルは再ロードされていました。
ファイル名が現在のパス名と異なる場合と同様に動作します。一貫性と簡潔さのために
仕様上、POSIX.1‐2008ではこの動作は許可されておらず、名前は
決定の唯一の要素。
歴史的には、 vi 現在のファイル内の現在のカーソルから次のタグのみを検索します。
ファイルの末尾にあるため、 ラップスキャン オプションが設定されていません。タグは
現在のカーソルが見つかりませんでした。POSIX.1‐2008ではこれをバグとみなしており、実装では
いずれにしても、ファイル内の最初の出現を検索する必要があります。
アンドゥ
当学校区の 取り消す 説明では意図的に「修正」という言葉を使用しています。 取り消す コマンドは
編集バッファの内容を置き換えるコマンドを元に戻すためのものです。 edit,
次の, タグまたは 回復します.
カーソル位置は 取り消す 歴史的に指揮は一貫していなかった vi、 時々
元のカーソル位置を復元しようとしています(全体的な, 取り消す, v コマンド)、および
場合によっては、地図が存在する場合、追加または変更された最後の行にカーソルを置くと、
POSIX.1‐2008では、一貫性と
仕様のシンプルさ。
当学校区の バージョン 広く受け入れられているコマンドがないため、正確に指定することはできません。
バージョン情報に何を含めるべきかの定義。実装は推奨される。
何か適度に知的なことをする。
書きます
歴史的に、 ex vi 成功後のメッセージ read or 書きます 指定されたコマンド
「バイト」ではなく「文字」です。POSIX.1‐2008では、バイト数は
表示される文字数ではなく、マルチバイトでは難しい場合があるので
書き込まれた文字数を決定する実装。実装は
ユーザーに表示されるメッセージを明確にすることをお勧めします。
実装定義のテストが許可されているため、実装は追加のテストを行うことができる。
チェックします。たとえば、ロックやファイルの変更時刻などです。
これまで、存在しないファイルに追加しようとするとエラーが発生していました。
POSIX.1‐2008では未定義のため、実装により 書きます 成功して、
追加セマンティクスは歴史的な CSH.
歴史的 vi 空の編集バッファへの書き込みが許可されました。しかし、 vi だ
「空」のファイルを扱う際の問題点は、編集バッファに常に1行残しておくことだった。
いずれにしても、それらは単一の空行のファイルとして書き込まれます。POSIX.1‐2008では、
この動作。
歴史的には、 ex 標準出力と標準エラーを、 ex
プログラムへの書き込みが行われる前に呼び出されました。これにより、端末の動作が妨げられる可能性があります。
端末によっては、設定上の問題やセキュリティ上の問題が発生する可能性がある。POSIX.1‐2008では、
これを許可するには、プログラムの出力をキャプチャして、 ex
印刷
Adjust ウィンドウ
歴史的には、行数は スクロール オプションタイプの場合
文字はファイルの終わりでした。この機能は、ほとんどの歴史的な実装では長い間機能しませんでした。
しかし、これは以前に制定されたもので、どこにも文書化されていません。このため、POSIX.1‐2008は
サイレント。
歴史的に、 z 命令は-敏感で z + z - さまざまなことをした
より z+ z− 型とフラグを区別できなかったためです。(コマンド z .
z = POSIX.1‐2008ではこの歴史的な
練習。
歴史的に、 z 命令はさらに-敏感である カウント できなかった
-で区切られます。たとえば、コマンド z= 5 z− 5 も無効でした。
カウント 型文字またはフラグに関して曖昧でない場合は、これは
POSIX.1‐2008 で許可されています。
エスケープ
歴史的には、 ex フィルタコマンドはコマンドの標準出力のみを読み取り、
標準エラーは通常通り端末に表示されます。 vi ユーティリティは、しかし、両方を読む
標準出力と標準エラー出力。POSIX.1‐2008では、後者の動作が両方に要求されています。 ex
vi一貫性を保つためです。
シフト 左派 シフト 右派
歴史的には、シフト文字を追加することで、
コマンド。例えば、 << アウトインデント(または >>> インデントされた行 3段階のインデント
デフォルトの 1 の代わりに。POSIX.1‐2008 では、従来の慣例に準拠することが要求されています。
‐D
歴史的に、 -Dコマンドはプロンプトを消去し、ユーザーに
編集バッファからの行を途切れることなく表示する。これはPOSIX.1‐2008では必須ではない。
実装では可能であればこれを提供することが推奨されます。歴史的に、 ‐D
コマンドは無視され、 カウントPOSIX.1‐2008 ではこの動作は許可されていません。
書きます LINE 数
歴史的に、 ex = コマンドを実行すると、 ex 空の編集バッファのモード、報告
0、オープンまたはビジュアルモードからは1と報告されました。一貫性と簡潔さのために
仕様では、POSIX.1‐2008 はこの動作を許可していません。
実行する
歴史的には、 ex テキスト入力コマンドの組み込みを正しく処理できなかった(つまり、
アペンド, insert, 変化する)を実行バッファに挿入する。POSIX.1‐2008ではこの制限は認められていない。
一貫性を保つために除外します。
歴史的には、実行中のバッファの論理的な内容は、
バッファ自体は実行中のコマンドによって変更される。つまり、バッファの実行は
自己書き換えコードはサポートされていません。POSIX.1‐2008 では、従来の慣例に準拠することが求められています。
歴史的に、 @ コマンドは行の範囲を取り、 @ バッファは1回実行されました
行、現在の行('。')が各指定行に設定されます。POSIX.1‐2008では
歴史的慣習への適合。
これまでの実装の中には、バッファ実行中にエラーが発生したかどうかに気づかなかったものもありました。
これと、 ex @ コマンドを実行すると
落とすのは簡単 POSIX.1‐2008では実装は
エラーが発生した場合、指定された行が存在しない場合、または
編集バッファの内容自体が置き換えられます(例えば、バッファは ex
編集: コマンド)。
レギュラー 式 in ex
歴史的な慣習では、最後の置換部分の文字は s 指示-
つまり、 '〜' 正規表現では、
正規表現エンジンによって展開されます。つまり、文字が文字列
「あ。」 彼らは一致するだろう 'A' 続い 「。」 そうではない 'A' 任意の文字が続きます。
POSIX.1‐2008は、歴史的慣行への適合を要求します。
編集 オプション in ex
以下の段落では、いくつかの編集オプションのこれまでの動作について説明します。
何らかの理由でPOSIX.1‐2008には含まれていない。実装は強く
ここで説明されている機能が完全にサポートされている場合にのみ、これらの名前を使用することをお勧めします。
で 当学校区の で 編集オプションは、いくつかの実装で使用されています vi によって
基本正規表現の代わりに拡張正規表現このオプション
これは歴史的に広く行われていないため、POSIX.1‐2008 では省略されました。
フラッシュ 当学校区の フラッシュ 編集オプションは、これまでビープ音ではなく画面の点滅を引き起こしていました。
エラー時にこのオプションはPOSIX.1‐2008では削除されました。
いくつかの歴史的な実装。
ハードタブ 当学校区の ハードタブ 編集オプションは歴史的に、列間の数を定義しました
ハードウェアタブの設定。このオプションはPOSIX.1‐2008では削除されました。
もはや一般的には役に立たないと考えられています。
モデルに 当学校区の モデルに (時々 モードライン)編集オプションは歴史的に ex or
vi エディタコマンドのためにファイルの最初と最後の5行を読み取ります。これは
オプションはセキュリティ上の問題であり、ベンダーはこれを削除することを強く推奨します。
過去の実装から。
開いた 当学校区の 開いた 編集オプションは歴史的に禁止されていた ex 開いた ビジュアル コマンド。
これらのコマンドは
POSIX.1‐2008。
最適化します 当学校区の 最適化します 編集オプションは、歴史的にテキストスループットを高速化するために、
自動実行しない端末より多くの文字を印刷する場合
出力が1論理行を超える場合。このオプションはPOSIX.2008‐XNUMXでは削除されました。
これは、アドレス指定可能なカーソルを持たない端末向けに設計されたもので、
まだほとんど使われていません。
定規 当学校区の 定規 編集オプションは、いくつかの実装で使用されています vi 提示する
ユーザの現在の行/列のルーラー。このオプションはPOSIX.1‐2008では省略されました。
それは歴史的に広く行われてきた慣習ではないからです。
ソース 当学校区の ソース 編集オプションは歴史的に ex or vi 起動ファイルのソース
エディタを実行しているユーザー以外のユーザーが所有していたもの。このオプションは
セキュリティ上の問題であり、ベンダーはこれを製品から削除することを強く推奨します。
実装
タイムアウト 当学校区の タイムアウト 編集オプションは歴史的に(現在の標準)機能のみを有効にしていました
マクロの一部となる可能性のあるキーを返す前に、少しの間待機します。
この機能はPOSIX.1‐2008では省略されましたが、これは現在では標準となっているためです。
それは広く役立つものではなく、文書化されることもほとんどありませんでした。
詳細 当学校区の 詳細 編集オプションは、いくつかの実装で使用されています vi 引き起こすために vi
一般的なエラーに関するエラーメッセージを出力します。たとえば、
カーソルが行頭または行末を越えた場合、警告を出すだけでなく、
スクリーン。(歴史的な vi 端末に警告するだけでメッセージは表示されません
このようなエラーについては、履歴エディタオプション 簡潔 いつ選択しなかった
エラーメッセージを提示しても、既存のエラーメッセージは多かれ少なかれ
このオプションは広く普及していないため、POSIX.1‐2008では省略されました。
歴史的な慣習ですが、実装者は希望する場合はこれを使用することをお勧めします。
初心者のユーザーにエラーメッセージを提供する。
ラップレン 当学校区の ラップレン 編集オプションは、いくつかの実装で使用されています vi 指定します
右マージンではなく左マージンから測定される自動マージン
余白。これは、複数の画面サイズで編集する場合に便利です。
単一ファイル。このオプションはPOSIX.1‐2008では省略されたため、
歴史的に広く行われている慣行であるが、実装者はそれを使用することが推奨される。
この機能が追加されれば。
自動インデント、 ai
歴史的に、コマンド 0a 現在の状態に関係なく、自動インデントは行われませんでした。
1行目のインデント。POSIX.1‐2008では、1行目のインデントは
中古。
自動印刷、 ap
歴史的に、 オートプリント 編集オプションは完全に一貫していなかったか、
編集バッファへの変更。例外は read コマンド(
ファイルからではなくフィルタから) アペンド, 変化する, insert, 全体的な, v コマンド、すべて
影響を受けなかった オートプリント、 そしてその タグ コマンドは、
オートプリントPOSIX.1‐2008 では、従来の慣習に準拠することが求められています。
歴史的に、 オートプリント オプションは、入力された複数のコマンドの最後のコマンドにのみ適用されます
使用して区切り文字。例: 削除 影響を受けた オートプリント,
焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。 削除|バージョン POSIX.1‐2008では歴史的な
練習。
自動書き込み、 aw
追加する 「!」 に文字 ex 次の 自動書き込みの実行を回避するコマンド
歴史的な実装ではサポートされていませんでした。POSIX.1‐2008では、
他と一致する ex 一貫性を保つためのコマンド。
無視する、 ic
大文字と小文字を区別しないマッチングの歴史的な実装( 無視する場合 編集オプション)リード
範囲式で大文字が使用されると、直感に反する状況が発生します。
歴史的には、プロセスは次のようになります。
1. 編集バッファからテキストの行を取得します。
2. テキスト行の大文字を小文字に変換します。
3. 文字クラスを除く正規表現で大文字を小文字に変換する
仕様。
4. 正規表現をテキストと照合します。
これは、 無視する場合 実際のところ、このテキストは次のようになります。
当学校区の cat 座って on マット
一致するだろう
/^その/
ただし、次の場合は除きます:
/^[A−Z]彼/
正規表現を実装する他のコマンドとの一貫性を保つために、POSIX.1‐2008では
この動作を許可しません。
段落、 パラ
ISO POSIX‐2:1993規格では、デフォルトで パラグラフ セクション 編集オプション
実装定義であり、歴史的にUNIXシステムに向いていると主張している troff
テキストフォーマッタと「ポータブルユーザー」は {, }, [[, ]], (, ) のコマンド
オープンモードまたはビジュアルモードでカーソルが予期しない場所で停止することがあります。POSIX.1‐2008では
POSIXロケールでは、通常とは異なるグループ化(グループ化された場合にのみ機能する)のため、値が
一度に2文字に分割できるため、汎用用途には使用できない。
とにかく動きます。
読み取り専用
実装では、ユーザーに可能な限り最良の情報を提供することが推奨されます。
ファイルの読み取り専用ステータスは考慮しないという例外がある。
プロセスの現在の特別な権限。これにより、ユーザーに安全策が提供されます。
追加のオプションで実行している場合でも、読み取り専用ファイルの上書きを強制する必要がある。
特権。
当学校区の 読み取り専用 編集オプションの仕様は、従来の慣例にほぼ従っています。唯一の
違いは、これまでの実装ではユーザーが
読み取り専用 何らかの理由でファイルが既に読み取り専用になっている場合の編集オプション
そして、 読み取り専用 次回の内容を編集するときにオプションを選択します
編集バッファが置き換えられました。この動作はPOSIX.1‐2008では禁止されています。
レポート
バッファにコピーされた行が削除された行とは異なる動作をするという要件は、
歴史的慣習。例えば、 レポート 編集オプションは3に設定されており、3行削除されています
レポートが書き込まれますが、レポートが書き込まれる前に 4 行をコピーする必要があります。
要件は、 ex 全体的な, v, 開いた, 取り消す, ビジュアル コマンドはレポートを提示する
コマンド実行中に追加または削除された行の総数に基づいて、
実行されるコマンド 全体的な v コマンドはレポートに存在しません。これは歴史的です
実践。POSIX.1‐2008は、バッファ実行を
同様の扱いを受けている。その理由は2つある。歴史的に、
バッファから実行された最後のコマンドは、新しいレポートごとにユーザーに表示されます。
最後に上書きする。さらに、標準開発者はバッファ実行が
共通点が多かった 全体的な v 他のコマンドよりも ex コマンド、および
一貫性と仕様の簡潔さを保つために、同様に動作する必要があります。
ショーマッチ、 sm
カーソルが一致する文字に留まる時間は、
システムのタイミング機能は不正確で変動しやすいことが多い。時間は長く設定する必要がある。
ユーザーが気付く程度には長くても、ユーザーがイライラするほど長くない。
の実装 vi を追加しました 試合時間 ユーザーが数を設定できるオプション
0,1 秒間隔で、カーソルが一致する文字の上に停止します。
ショーモード
当学校区の ショーモード オプションは、いくつかの歴史的な実装で使用されてきた ex vi 〜へ
オープンモードまたはビジュアルモードのときに現在の編集モードを表示します。編集モードには
一般的には「コマンド」と「入力」が含まれ、時には次のような他のモードも含まれる。
「置換」と「変更」。文字列は通常、
画面の右端に表示されます。さらに、その前に 「*」 よく表される文字
編集バッファの内容が変更されたかどうか。後者の表示は
時には ショーモード オプション、そして時には別のオプションに基づいて行われます。
オプションは、4BSDの歴史的実装では利用できませんでした。 vi、しかし、
一般的に有用であり、特に初心者ユーザにとって有用であり、POSIX.1‐2008 で必須となっています。
当学校区の SMD の略語 ショーモード オプションはすべての歴史的には存在しなかった
エディターの実装。POSIX.1‐2008 では一貫性を保つためにこれが要求されています。
エディターの歴史的な実装のすべてがコマンドモードのモード文字列を表示するわけではありません。
モード文字列が存在しないことで、コマンド モードとテキスト入力モードを区別します。
POSIX.1‐2008では、歴史的な慣習との一貫性を保つためにこの動作を許可しているが、
実装では、両方のモードの表示文字列を提供することが推奨されます。
スローオープン
歴史的に、 スローオープン 端末のボーレートが以下の場合、オプションは自動的に設定されます。
1200ボーより遅い場合、またはボーレートが1200ボーで 再描画 オプションが設定されていません。
スローオープン このオプションには2つの効果があります。まず、行の途中に文字を挿入する場合、
カーソルの後の文字は前に押し出されず、上書きされたように見えます。
第二に、新しいテキスト行を作成するときに、現在の行の後の行は
スクロールダウンしますが、上書きされているように見えます。どちらの場合も、テキスト入力モードを終了すると
編集バッファの実際の内容に合わせて画面が更新されます。
最後に、十分にインテリジェントな端末は、エディタに
スローオープン オプション。POSIX.1‐2008は、歴史的な動作のほとんどを許可し、歴史的な
要求する練習 スローオープン ユーザーが編集オプションを設定した場合の動作。
タグ
タグファイルのデフォルトパスは、実装ごとに独自のパスが存在する可能性があるため、未指定のままです。
タグ 歴史的なものと一致しない実装。デフォルトの タグ
オプション値には少なくともファイルが含まれている必要があるでしょう ./タグ.
期間
歴史的な実装 ex vi 無視された変更 期間 編集オプション
初期端末情報がロードされました。これはPOSIX.1‐2008で許可されていますが、
実装では、ユーザーがいつでも端末タイプを変更できるようにすることが推奨される。
時間。
簡潔
歴史的に、 簡潔 編集オプションは、より短く、より説明の少ないエラーをオプションで提供しました
一部のエラーメッセージ用のメッセージ。これはPOSIX.1‐2008では許可されていますが、必須ではありません。
歴史的に、最も一般的なビジュアルモードエラー(例えば、カーソルを
改行 (行末) を入力してもエラー メッセージは表示されず、単に端末に警告が出力されます。
初心者ユーザー向けのメッセージを提供したい実装は、以下に基づいて行うことが推奨されます。
edit オプション 詳細、ではない 簡潔.
ウィンドウを使用して入力ファイルを追加します。
これまでの実装では、 ウィンドウを使用して入力ファイルを追加します。 編集オプションは、
ボーレートは次のとおりです。
1. ボーレートが1200未満の場合、 edit オプション w300 ウィンドウの値を設定します。
たとえば次の行:
セッションに w300=12
ボーレートが 12 未満の場合、ウィンドウ オプションを 1200 に設定します。
2. ボーレートが1200の場合、 edit オプション w1200 ウィンドウの値を設定します。
3. ボーレートが1200より大きい場合、 edit オプション w9600 ウィンドウの値を設定します。
当学校区の w300, w1200, w9600 オプションはPOSIX.1‐2008には記載されていない。
特定のボーレートへの依存。
これまでの実装では、さまざまなコマンドによって表示されるウィンドウのサイズは
に関連しているが、必ずしも同じではない ウィンドウを使用して入力ファイルを追加します。 編集オプション。例えばサイズ
ウィンドウの ex command ビジュアル 10、しかし、それは価値を変えなかった
ウィンドウを使用して入力ファイルを追加します。 編集オプション。ただし、 ウィンドウを使用して入力ファイルを追加します。 編集オプションは変更されました
画面が再描画されたときに表示された行数。POSIX.1‐2008では
仕様の一貫性と簡潔さのためにこの動作を許可し、
表示される行数を変更するすべてのコマンドは、次のように実行する必要があります。
の値を設定する ウィンドウを使用して入力ファイルを追加します。 編集オプション。
ラップマージン、 wm
歴史的に、 ラップマージン オプションは、マップに文字を挿入する際には影響しませんでした。
関連する カウント例えば :地図 K 5aABC DEF残念ながら、広く使われている
この動作に依存するマップ。仕様の一貫性と簡潔さのために、
POSIX.1-2008 では、この動作は許可されていません。
歴史的には、 ラップマージン すべての文字の列表示幅を使用して計算されました
画面上に表示します。例えば、 「^私」 代表する文字
時 リスト 編集オプションが設定されており、 '^' '私' それぞれが1列を占め、
画面上で、 ラップマージン それぞれ2の値に基づいて。その 数
編集オプションも同様に行の実効長を変更しました。POSIX.1‐2008
歴史的慣行に準拠する必要があります。
この標準の以前のバージョンでは、XNUMXバイト以外の実装が可能でした
ビットですが、これはこのバージョンで変更されています。
未来 道順
なし。
onworks.net サービスを使用して exposix をオンラインで使用する
 














