edit -- 文書編集2015年09月23日 11:56

文書編集プログラム"edit"です。editは、行単位のエディターです。以下のようにして起動します。

  1. edit
  2. edit ファイル名

2は、ファイルをバッファーに読み込みます。

このエディターの指令には以下のものがあります。

  • [[開始行][,終了行]]p 印刷指令

    指定された範囲を印刷する。ここで、開始行、終了行には、"."現在行、"$"最後の行",行番号、 文脈検索が使える。文脈検索は、"/文字列/"現在行から初めて前方検索と、 "\文字列\"現在行の一つ手前から始めて後方検索とがある。

    たとえば、

         1p
    
    は、一行目を印刷する。
         p
    
    は、現在行を印刷する。
         1,.p
    
    は、1行目から現在行までを印刷する。現在行の前後を印刷するには、
         .-5,.+5p
    
    とする。
         \function\,/end/p
    
    は。現在行を含む関数全体を印刷する。
  • [[開始行][,終了行]]d 削除指令

    開始行から終了行までを削除する。

         d
    
    は、現在行が削除される。
         1,$d
    

    は、すべての行が削除される。

         .,$d
         p
    
    とすれば、現在行から最終行まで削除され、新しく最後の行になった行を印刷する。
  • s/元の文字列/置換後の文字列/ 置換指令

    置換指令は、"元の文字列"を"置換後の文字列"に置き換える。また、g指定をつけることができ、

         s/元の文字列/置換後の文字列/g
    
    とすれば、行全体に対して置換指令を実行できる。
         s/$/文字列/
    
    は、行末に文字列を追加する。また、
         s/%/文字列/
    
    は、行頭に文字列を挿入する。

    文脈探索、置換指令で最後に使われた文型は記憶されている。そこで、

         /ofrmat/s//format/p
         //s//format/p
         //s//format/p
         .....
    
    とすれば、"ofrmat"を順次見つけて"format"に置き換え確認の印刷をすることができる。
  • [開始行]a 付加指令

    開始行の後に行を追加する。

         $a
    

    は、行末に行を追加する。

         $a
         anything you want to type
         except a line containing only a .
         as in the following line
         .
    

    バッファの先頭に追加するときは、0aとすればよい。行番号が指定されていなければ、 現在行の次にそうに追加される。

  • [開始行]i 挿入指令

    a指令と同じだが、開始号の直前に行が挿入される。

  • [[開始行][,終了行]]c 変更指令

    変更指令は開始行から終了行までを、入力された行と置き換える。

  • [[開始行][,終了行]]m移動先 移動指令

    移動指令は、開始行から終了行までを移動先の次へ移動させる。

  • [開始行]r ファイル名 読み込み指令

    は、ファイルを開始行の次にファイルを読み込む。

  • [[開始行][,終了行]w ファイル名 書き込み指令

    は、開始証から終了行までをファイルに書き出す。

  • q 終了指令

    は、エディターを終了する。ファイルへの書き込みは行わないので、w指令を実行しておく必要がある。

    a,c,i,q以外の編集指令の前には、広域指定部gをつけることができる。

  • g/文型/指令

    は、「文型」を含むすべての行に対して、指令を実行する。

    このほかに、x指定、除外がある。

  • x/文型/指令

    は、文型を含む行以外に指令を実行する。