operate-on-rectangle

Title
operate-on-rectangle
Type
Function
Arguments
operate-on-rectangle P1 P2 C1 C2 &key :copy :delete :clear :open :string
Package
editor
Section
リージョン
File
rectangl.l
P1 と P2 で指定されるリージョン中の、 C1 と C2 で定まる矩形領域に対し
てキーワードで指定された操作を行います。

  :copy     コピーする
  :delete   削除する
  :clear    #\SPC で上書き
  :open     #\SPC を挿入
  :string   削除して各行に STRING を挿入

C1, C2 には nil を指定することもできます。この場合、リージョンの開始位
置と終了位置の表示桁が使われます。

-rectangle 系のコマンドの多くはこれを用いて実装されています。


矩形についての補足:
  例えば次の図で / がリージョンの場合 * の部分が操作の対象となります。
         C1             C2                     C1             C2
  -------│-------------│--------      -------│-------------│--------
  -------│------/////////////////      -------│------*******│--------
  ////////////////////////////////      -------│*************│--------
  ////////////////////////////////      -------│*************│--------
  ////////////////////////////////      -------│*************│--------
  /////////////////////////-------      -------│*************│--------
  -------│-------------│--------      -------│-------------│--------
  
  C1, C2 を明示的に指定することはあまりなく、次のいずれかの形になる場合がほとんどでしょう。
  --------------------      --------------------
  ------------////////      ------********//////
  /////*******////////      //////********//////
  /////*******////////      //////********//////
  /////*******////////      //////********//////
  /////*******////////      //////********//////
  /////---------------      //////********------
  --------------------      --------------------
Seealso
operate-on-rectangle-selection