edで現在の入力をキャンセルする方法

edで現在の入力をキャンセルする方法

GNU edで現在の入力を取り消す方法はありますか?たとえば、

$ ed myfile.txt
1234
a
Wrong speling.
Bad sentance.

この時点で入力をキャンセルしたい。入力した2行をもう挿入したくありません。可能ですか?私は次のように続けたいと思います:

.
u

入力をキャンセルする一般的な方法として「元に戻す」を使用しますか?別の方法がありますか?

答え1

「数行のテキストの追加を開始しますが、実際には追加しません」など、入力を「キャンセル」することはできません。

a命令などを使用してテキストを追加する場合一つCtrl+D1行のテキストをキャンセルするにはダブルクリックします。今後緊急Enter。これにより、現在の編集コマンドも終了します。この方法では、現在の行よりも多くを追加キャンセルすることはできません。システムとedバリエーションによっては、Ctrl+D挿入モードでダブルクリックすると、次のコマンドを入力するための新しい行が提供されたり、提供されなくなることがあります(Ubuntu LinuxではなくOpenBSDに対応します)。

ed上記の「トリック」(文書化されていない機能)は、コマンド履歴を取得するためにReadline編集機能で使用してもrlwrap機能しません。

示されているように完了したら、ジョブ全体を元に戻すことができます。.独自の行からテキストの挿入を終了し、コマンドをu実行(元に戻す)できます。Ctrl+D新しい行からテキストの挿入を終了し、このコマンドを使用することもできますu

エディタedには単一レベルの元に戻す機能があります。つまり、最新のコマンドだけを元に戻すことができます。 2回元に戻すと、元に戻す操作はキャンセルされます。単一のコマンドまたはコマンドを使用してテキストに複数のコマンドを適用すると、gこれはv単一GVコマンドとして扱われ、必要に応じてコマンドを元に戻すことができます。

関連情報