********************
 (A).表示/編集画面 *
********************

[表2] 編集行コマンド一覧
 
 ID    機能   説明                                               
 
  r    Repeat 入力行の複製を挿入                                 
  i    Insert 行長 0 の行を挿入                                  
  d    Delete 行を削除                                           
  s    Split  カーソル位置で2行に分割                            
  TS   Split  s コマンドと同じ                                   
  j    Join   複数行を行連結                                     
  x    eXclude行を非表示化                                       
  f    First  非表示行の最初の行から表示に戻す                   
  l    Last   非表示行の最後の行から表示に戻す                   
  u    Upper  英小文字を大文字に変換する                         
  _    Lower  英小文字を小文字に変換する                         
  y    Yield  非表示行の全行を表示に戻す                         
 
  <    l-shift行頭のスペースを削除して左シフト                   
  >    r-shift行頭にスペースを挿入して右シフト                   
  [    l-shift行頭からスペースを詰めつつ左シフト                 
  ]    r-shift行末からスペースを詰めつつ右シフト                 
  (    l-shift行頭をカットして左シフト                           
  )    r-shift行頭にスペースを挿入して右シフト                   
  TF   TxtFlow単一パラグラフのテキスト整形                       
  :    TF     複数パラグラフのテキスト整形                       
  ;    TF-nop 範囲の行のテキスト整形(パラグラフ無視)             
  /    c++cmt カーソル位置に // を挿入                           
  +    set-strカーソル位置に任意の文字列を挿入                   
 
  c    Copy   行コピーの複写元                                   
  m    Move   行ムーブの移動元                                   
  a    After  コピー(c)/ムーブ(m) 行コマンド 又は                
              コピーコマンド(COPy)の挿入宛先行。この後に挿入     
  ac          この後に、CIDをカットせずに複写                    
  ab          バイナリーモード(無変換)コピー                     
  abc         バイナリー+CID                                     
  b    Before コピー(c)/ムーブ(m) 行コマンド 又は                
              コピーコマンド(COPy)の挿入宛先行。この前に挿入     
  bc          この前に、CIDをカットせずに複写                    
  bb          バイナリーモード(無変換)コピー                     
  bbc         バイナリー+CID                                     
  o    On     コピー(c)/ムーブ(m) 行コマンドの上書き宛先行       
               宛先行のスペース(タブによるスペースも含む)だけを  
               上書きします,スペ−ス以外は元の文字が残ります     
               カーソルが宛先の最初の行にあるときはカーソル位置  
               から複写元の行を上書きする                        
  n    Niche  コピー(c)/ムーブ(m) 行コマンドの串刺し上書き       
               (n は 繰返し数)                                   
               複写元のスペース(タブによるスペースも含む)以外の  
               文字が宛先行を上書きします                        
               カーソルが宛先の最初の行にあるときはカーソル位置  
               から複写元の行を上書きする                        
  p    Paste  複写(c)/移動(m) 行コマンドの上書き/挿入宛先行      
               (n は 繰返し数)                                   
               複写元の全文字を上書き/挿入モードに従い複写       
               カーソルが宛先のコマンド行にあるときはカーソル位置
               から複写元の全文字を上書き/挿入します             
 
  =    compare2つの範囲の行を比較                                
  #    execute行上のコマンドを実行                               
  .    label   . の後に任意の文字をつけてラベルとします. 例) .abc
               FINd,CHAnge コマンドの探索行範囲指定で使用します  
               但し非表示行上には設定出来ません                  
 


   - 行番号欄に入力します,実行キーで処理を始めます.
     分割画面間での行複写/移動も出来ます,同じファイルの表示と編集の
     場合一方の画面から実行キーを押せば両方の画面からの入力を処理します,
     異なるファイルの場合は両方の画面で実行キーを押す必要があります.

     行コマンドの例.
        .287-289 の 3 行を237行の後ろに移動する

            0286000|//**************************
            mm     |case 'C':
            0288000|    Gcmdmaxstack=numchk(cptr);
            mm     |    break;
            0230000|//**************************
            0231000|//* help msg      /H*
            0232000|//**************************
            0233000|case '?':
            0234000|case 'H':
            0235000|    help();
            0236000|    exit(4);
            a      |    break;
            0238000|//**************************

   - シフトコマンドの時カーソルを行番号欄ではないファイル編集エリア内
     に置いて実行するとカーソルの在るファイルの桁位置の右側にのみ
     シフトコマンドが作用します.
     従って "(" はブロック削除 ")" は空白ブロック挿入の効果があります.

   - シフトコマンドのときタブはスペースで置換されます

   - Boundsコマンドにより境界の設定はシフト(<,>,(,),[,]),ペースト(o,p,n),
     比較(=),大文字小文字変換(u,_)に影響します。
     境界内のみシフトし、ペーストの元データ、複写先も境界内に限定されます。
     比較、変換は境界内のみが対象です。

   - 分割行の取り扱い。
     原則分割表示された行は部分行が操作の単位になりますが、行連結(j)では
     行全体で1行として取り扱います。


   - コマンド形式は x[n][,b][.s] , xx[n][,b][.s]
     x:行コマンド.
       xx は同じ行コマンド文字を 2 文字続けて範囲指定などの意味に
       なります
     n:基本的には繰返数の意味ですが、行数、桁数のこともあります。
       "編集行コマンドパラメータ一覧"に整理してあります
       xx[n] のとき n は一方にのみ指定すればよい.両方に指定する時は
       同じ値を指定する.
     (注)**** TOP OF FILE *** 行に 入力された場合 n は Cn,Dn,/n では
         正味ファイル行数が対象になります.即ち**** TOP OF FILE ***行に
         D と入力すると次のファイル行が削除されます
    ,b:行束(Bandle)
    .s:飛び行(Skip)
       b 行ずつを s 行置きに処理する時に指定します.例えば dd,3.2-dd は
       dd-dd の範囲で "3 行削除 2 行残して" を繰り返します.
       行コマンドが xx-xx の範囲指定の場合 xx,b-xx.s のように指定
       出来ます
       x[n]形式のときは 行束 または 飛び行を指定するとn は 行数ではなく
       繰り返し数の意味になります.例えば d3,2.1 は "2 行削除 1 行 残す"
       を 3 回繰り返します.
       b のみを指定した時 s の省略地は r コマンドを除いては s=1 です。

[表2−2] 編集行コマンドパラメータ一覧
 
                       x                xx-xx         
 ID    機能     n           b   s  n            b   s 
 
  r    Repeat 回数            0 回数            0 
  i    Insert 行数/回数         行数              
  d    Delete 行数/回数         NA                
  s    Split  行数/回数         NA                
  TS   Split  行数/回数         NA                
  j    Join   行数/回数         行数              
  x    eXclude行数/回数         NA                
  f    First  行数/回数         -           -  -  
  l    Last   行数/回数         -           -  -  
  u    Upper  行数/回数         NA                
  _    Lower  行数/回数         NA                
  y    Yield  回数        NA NA NA          NA NA 
 
  <    l-shift桁数        NA NA 桁数              
  >    r-shift桁数        NA NA 桁数              
  [    l-shift桁数        NA NA 桁数              
  ]    r-shift桁数        NA NA 桁数              
  (    l-shift桁数        NA NA 桁数              
  )    r-shift桁数        NA NA 桁数              
  TF   TxtFlowRBn         NA NA -           -  -  
  :    TF     行数        RBnIndNA          RBnInd
  ;    TF-nop 行数        RBnIndNA          RBnInd
  /    c++cmt 行数/回数         NA                
  +    set-strNA          NA NA NA          NA NA 
 
  c    Copy   行数/回数         NA                
  m    Move   行数/回数         NA                
  a    After  回数              -           -  -  
  b    Before 回数              -           -  -  
  o    On     回数              NA                
  n    Niche  回数              NA                
  p    Paste  回数              NA                
 
  =    compare行数/回数         NA                
  #    executeNA          NA NA NA          NA NA 
  .    label  NA          NA NA -           -  -  
 
    行数/回数: b ないしは s パラメータ無しのとき行数,有りのとき回数となります
    RBn      : (TextFlow)右側境界の位置
    Ind      : (TextFlow)インデンテーション桁数
    NA       : 使用できません
    0        : b のみを指定した場合 省略値 s=1 をとらず s=0 となります。
    -        : xx-xx形式はありません

    具体的な例は各コマンドを参照してください


[表3] 他の操作よる同等のオペレーション.
 
 形式  機能   代替のオペレーション                     
 
  r[n] Repeat Shift+F10                             #1 
  rr[n]       出来ません,cc で代用して下さい           
  i[n] Insert Shift+Ins                             #1 
  ii[n]       出来ません                               
  d[n] Delete Shift+Del                             #1 
  dd          行範囲指定してAlt+Del                 #4 
  s[n] Split  出来ません(s1 なら Shift+Enter)          
  TS[n]Split  出来ません(TS1 なら Shift+Enter)         
  ss          SPLitコマンドもあります                  
  j[n] Join   出来ません(j1 なら 行末にDelキー)        
  jj          出来ません                               
  x[n] eXcludeAlt+x                                 #1 
  xx          行範囲指定してAlt+x                   #4 
  f[n] First  Alt+f                                 #1 
  l[n] Last   Alt+l                                 #1 
  u[n] Upper  出来ません                               
  uu          出来ません                               
  _[n] Lower  出来ません                               
  __          出来ません                               
  y[n] xYz    出来ません(y1 なら Alt+y)                
  yy          出来ません                               
  <[n] l-shift出来ません                               
  <<[n]       出来ません                               
  >[n] r-shift出来ません                               
  >>[n]       出来ません                               
  [[n] l-shift出来ません                               
  [[[n]       出来ません                               
  ][n] r-shift出来ません                               
  ]][n]       出来ません                               
  ([n] l-shift出来ません,(([n]で代用してください       
  (([n]       ブロック範囲指定してAlt+Del           #5 
  )[n] r-shift出来ません                               
  ))[n]       出来ません                               
  TF[n]       TFコマンドもあります。                   
  :[n]        TFコマンドもあります。                   
  ::[n]       TFコマンドもあります。                   
  ;[n]        TFコマンドもあります。                   
  ;;[n]       TFコマンドもあります。                   
  /[n]        出来ません                               
  //          出来ません                               
  +           出来ません                               
  ++_         出来ません                               
  c[n] Copy   出来ません,ccで代用してください          
  cc          行範囲指定して Alt+i                  #4 
  m[n] Move   出来ません,mmで代用してください          
  mm          行範囲指定して Alt+j                  #4 
  a[n] After  複写のとき Alt+i,移動のとき Alt+j  #1,#2 
  b[n] Before 出来ません                               
  o[n] On     行範囲指定して Alt+o         #1,#2,#3,#4 
  oo          出来ません                               
  n[n] Niche  出来ません                               
  nn          出来ません                               
  p[n] Paste  行範囲指定して Alt+p         #1,#2,#3,#4 
  pp          出来ません                               
  =[n]        出来ません                               
  ==          出来ません                               
  #           出来ません                               
  ##          出来ません                               
  .           出来ません                               
 
   - カット & ペーストの機能による代替のオペレーション.
     行番号非表示(NUM off)の場合行コマンドは入力できません.
     カット & ペーストの機能を使ってほぼ同様のことができます.
     #1:[n] はサポートされません(n=1 となります),n 回繰り返して下さい.
     #2:複写はクリップボード経由なので複写元を再度行範囲指定せずに
        同じ複写を繰り返すことができます
     #3:移動(複写元の削除)はサポートされません.
     #4:行範囲指定は Alt+h 或は Alt+F7 を 1 桁目で始点/終点 指定する
     #5:ブロック範囲指定は Alt+F7