edの「挿入」コマンドを使用して線に単一の点を挿入するにはどうすればよいですか?

edの「挿入」コマンドを使用して線に単一の点を挿入するにはどうすればよいですか?

エディタを使用してed線に単一の点を挿入するには?通常、行の点自体が挿入を終了します。どういうわけか脱出できますか?

答え1

edいいえ、1行にピリオドだけを挿入することはできません。これはテキストの挿入を停止するためのコマンドなので、前のトピックの1つを参照してください。マニュアルページの編集(7ページ):

行の先頭にピリオド(.)のみを入力して入力モードを終了します。

Space.Enterたとえば、直後.Enterにピリオドを入力しないと、この問題を解決できますs/^ //。後続のコマンドでペアになっている1つのスペース以外の文字をマーカーとして使用できますs//

ピリオドは単独で挿入できません。edこのappend_lines関数は、行が追加、変更、または挿入されると最終的に呼び出されます。buffer.c、改行文字で区切られた入力を読みます(経由get_stdin_line)。このタスクの一部として、下の末尾の改行に加えてピリオドのみがあることを確認してください。 「ibufpp」は入力テキストへのポインター、「size」はこのバッファーの長さです。

if( size == 2 && **ibufpp == '.' ) { *ibufpp += size; return true; }

以下から圧縮されたタールボールをダウンロードできます。http://download.savannah.gnu.org/releases/ed/または表示Debian の ed アップストリームページまたはOpenBSDエディションページそのコードはメインプログラム

別のオプションは以下にあります。ed(1) カンファレンス Twitter 投稿、何かを入力することです。その他単一文字を入力し、その文字をピリオドで置き換えます。

  1. xEnter
  2. .Enter
  3. s/./.

関連情報