********************
 (A) Browse/Edit   *
********************

[Table 2] Edit line command.
 +------+-------+---------------------------------------------------+
 |cmd   |func   | description                                       |
 +------+-------+---------------------------------------------------+
 | r    |Repeat |Repeat the lines.                                  |
 | i    |Insert |insert lines with length 0.                        |
 | d    |Delete |delete the lines.                                  |
 | s    |Split  |Split the lines at cursor pos                      |
 |TS    |Split  |equivalent to s command.                           |
 | j    |Join   |Join the multiple lines into a line.               |
 | x    |eXclude|hide the lines.                                    |
 | f    |First  |diaplay the lines from first of hidden lines.      |
 | l    |Last   |diaplay the lines from last of hidden lines.       |
 | u    |Upper  |lower-case-->upper-case translation.               |
 | _    |Lower  |lower-case<--upper-case translation.               |
 | y    |Yield  |dispiay the set of hidden lines.                   |
 +------+-------+---------------------------------------------------+
 | <    |l-shift|shift out left preceding space char only.          |
 | >    |r-shift|shift to right padding n space char to top of line.|
 | [    |l-shift|shift to left compacting space char from TOL.      |
 | ]    |r-shift|shift to right compacting space char from EOL.     |
 | (    |l-shift|shift to left cutting TOL chars.                   |
 | )    |r-shift|shift to right padding space char to top of line.  |
 | TF   |TxtFlow|re-flow lines in a paragraph                       |
 | :    |TF     |re-flow multiple paragraph                         |
 | ;    |TF-nop |re-flow width no paragraph consideration.          |
 | /    |c++cmt |insert // at the cursor pos.                       |
 | +    |set-str|insert any string at the cursor pos.               |
 +------+-------+---------------------------------------------------+
 | c    |Copy   |source lines specification of line copy operation. |
 | m    |Move   |source lines specification of line move operation. |
 | a    |After  |insert after this line from copy source lines      |
 | b    |Before |insert before this line from copy source lines     |
 | o    |On     |copy override target specification.                |
 |      |       |only space char(it may spaces by tab) is overridden|
 |      |       |non space char of target line remain.              |
 |      |       |if cursor is at the middle of target 1st line      |
 |      |       |override start at the column.                      |
 | n    |Niche  |copy override target specification.                |
 |      |       |only non-space char of source line is pasted.      |
 |      |       |if cursor is at the middle of target 1st line      |
 |      |       |paste start at the column.                         |
 | p    |Paste  |copy override target destination.                  |
 |      |       |target lines area overrided when Rep mode,         |
 |      |       |source text is inserted into the target line       |
 |      |       |when Ins mode.                                     |
 |      |       |if cursor is at the middle of target 1st line      |
 |      |       |paste start at the column.                         |
 +------+-------+---------------------------------------------------+
 | =    |line-  |compare 2 range of lines.                          |
 | #    |execute|execute command on the line.                       |
 | .    |label  | . followed any string means label. ex) .abc       |
 |      |       | It is used on Find/Change cmd to limit search line|
 |      |       | range. Label is not avail on excluded line.       |
 +------+-------+---------------------------------------------------+

   - Enter on line-no field of edit/browse panel,those are processed
     by Execute key.
     You can do line copy/move also from one split screen to another
     by pressing Execute key once on any of two screen if those are
     displaying same file.
     When displaying different file on split screen,
     You need to press Execute key twice for each screen.

     Line command example.
          (move 3 lines of 287-289 after the line 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|//**************************

   - If cursor is on the edit line except line-no field when entering
     shift command,it influence only on the right part data of cursor.
     Accordingly if cursor is positioned,"(" has effects of deletion
     of block,")" has effects of insertion of space block.

   - Tab is replaced to space by shift cmd.

   - Bounds setting influence to shift(<,>,(,),[,]),paste(o,p,n),compare(=)
     and CaseConversion(u,_) command.
     Shift in the margin and paste source and target is limited in the margin.
     Compare and conversion is done in the range.

   - Split lines.
     Each patial lines are independently processed as a rule.
     For Join line,a whole line is processed.


   - Command format is x[n][,b][.s], xx[n][,b][.s] , x_ or xx[_]
     x :line command,see [Table 2].
     xx:line command doubled specifying range.
     - :any string except DBCS char up to line-no column field size,
        this is for + cmd only.
     n :digits mean basicaly repeat count,but it may be shift count or line count.
        See next table.
     (note) n on the line **** TOP OF FILE *** is net file line number
            for Cn,Dn and /n. D on the line **** TOF OF FILE *** delete
            a line on the next.
     ,b:line number in a Bandle
     .s:Skip line count
        Process b lines then skip s lines,then process next b lines
        and so on. ex) dd,3.2-dd :delete 3 lines then remaining next
        2 lines delete next 3 line ... in the range of dd-dd.
        Bandle and Skip can be specified separatedly on both line
        specifying range like as xx,b-xx.s.
        Meaning of n may change for x[n] format if Bandle/Skip is
        specified. ex) d3,2.1 :repeat 3 times to delete 2 lines skipping
        a line.
        s=1 as default when only b is specified except r command.

[table 2-2] parameter of edit line command.
 +------+-------+--------------------+--------------------+
 |      |       |         x          |      xx-xx         |
 |ID    |func   |  n           b   s | n            b   s |
 +------+-------+------------+---+---+------------+---+---+
 | r    |Repeat |repeat      |   | 0 |repeat      |   | 0 |
 | i    |Insert |lines/repeat|   |   |lines       |   |   |
 | d    |Delete |lines/repeat|   |   |NA          |   |   |
 | s    |Split  |lines/repeat|   |   |NA          |   |   |
 | TS   |Split  |lines/repeat|   |   |NA          |   |   |
 | j    |Join   |lines/repeat|   |   |lines       |   |   |
 | x    |eXclude|lines/repeat|   |   |NA          |   |   |
 | f    |First  |lines/repeat|   |   |-           |-  |-  |
 | l    |Last   |lines/repeat|   |   |-           |-  |-  |
 | u    |Upper  |lines/repeat|   |   |NA          |   |   |
 | _    |Lower  |lines/repeat|   |   |NA          |   |   |
 | y    |Yield  |repeat      |NA |NA |NA          |NA |NA |
 +------+-------+------------+---+---+------------+---+---+
 | <    |l-shift|columns     |NA |NA |columns     |   |   |
 | >    |r-shift|columns     |NA |NA |columns     |   |   |
 | [    |l-shift|columns     |NA |NA |columns     |   |   |
 | ]    |r-shift|columns     |NA |NA |columns     |   |   |
 | (    |l-shift|columns     |NA |NA |columns     |   |   |
 | )    |r-shift|columns     |NA |NA |columns     |   |   |
 | TF   |TxtFlow|RBn         |NA |NA |-           |-  |-  |
 | :    |TF     |lines       |RBn|Ind|NA          |RBn|Ind|
 | ;    |TF-nop |lines       |RBn|Ind|NA          |RBn|Ind|
 | /    |c++cmt |lines/repeat|   |   |NA          |   |   |
 | +    |set-str|NA          |NA |NA |NA          |NA |NA |
 +------+-------+------------+---+---+------------+---+---+
 | c    |Copy   |lines/repeat|   |   |NA          |   |   |
 | m    |Move   |lines/repeat|   |   |NA          |   |   |
 | a    |After  |repeat      |   |   |-           |-  |-  |
 | b    |Before |repeat      |   |   |-           |-  |-  |
 | o    |On     |repeat      |   |   |NA          |   |   |
 | n    |Niche  |repeat      |   |   |NA          |   |   |
 | p    |Paste  |repeat      |   |   |NA          |   |   |
 +------+-------+------------+---+---+------------+---+---+
 | =    |compare|lines/repeat|   |   |NA          |   |   |
 | #    |execute|NA          |NA |NA |NA          |NA |NA |
 | .    |label  |NA          |NA |NA |-           |-  |-  |
 +------+-------+------------+---+---+------------+---+---+
    lines/repeat: line count with no "b" and "s", else repeat count.
    RBn         : (TextFlow)right boundary column.
    Ind         : (TextFlow)Indentation count.
    NA          : not available
    0           : not s=1 when obly b is specified but s=0
    -           : xx-xx format is not supported

    Refer example of each command for detail.

[Table 3] Alternative operation.
 +------+-------+-----------------------------------------------+
 |cmd   |func   | alternative                                   |
 +------+-------+-----------------------------------------------+
 | r[n] |Repeat |Shift+F10                                 #1   |
 | rr[n]|       |not supported,use cc as alternative            |
 | i[n] |Insert |Shift+Ins                                 #1   |
 | ii[n]|       |not supported                                  |
 | d[n] |Delete |Shift+Del                                 #1   |
 | dd   |       |Alt+Del with line mode                    #4   |
 | s[n] |       |not supported (Shift+Enter for s1)             |
 | TS[n]|       |not supported (Shift+Enter for s1)             |
 | ss   |       |SPLit command                                  |
 | j[n] |       |not supported (Del End-of-line char for j1)    |
 | jj   |       |not supported                                  |
 | x[n] |eXclude|Alt+x                                     #1   |
 | xx   |       |Alt+x with line mode                      #4   |
 | f[n] |First  |Alt+f                                     #1   |
 | l[n] |Last   |Alt+l                                     #1   |
 | u[n] |       |not supported                                  |
 | uu   |       |not supported                                  |
 | _[n] |       |not supported                                  |
 | __   |       |not supported                                  |
 | y[n] |xYz    |not supported(Alt+y is for y1)                 |
 | yy   |       |not supported                                  |
 | <[n] |l-shift|not supported                                  |
 | <<[n]|       |not supported                                  |
 | >[n] |r-shift|not supported                                  |
 | >>[n]|       |not supported                                  |
 | [[n] |l-shift|not supported                                  |
 | [[[n]|       |not supported                                  |
 | ][n] |r-shift|not supported                                  |
 | ]][n]|       |not supported                                  |
 | ([n] |l-shift|not supported,use (([n] as alternative         |
 | (([n]|       |ALt+Del under block mode                  #5   |
 | )[n] |r-shift|not supported                                  |
 | ))[n]|       |not supported                                  |
 | TF[n]|       |TFLow command                                  |
 | :[n] |       |TFLow command                                  |
 | ::[n]|       |TFLow command                                  |
 | ;[n] |       |TFLow command                                  |
 | ;;[n]|       |TFLow command                                  |
 | /[n] |       |not supported                                  |
 | //   |       |not supported                                  |
 | +    |       |not supported                                  |
 | ++   |       |not supported                                  |
 | c[n] |Copy   |not supported,use cc as alternative            |
 | cc   |       |Alt+i with line mode                      #4   |
 | m[n] |Move   |not supported,use mm as alternative            |
 | mm   |       |Alt+j with line mode                      #4   |
 | a[n] |After  |Alt+i to Copy,Alt+j to Move            #1,#2   |
 | b[n] |Before |not supported                                  |
 | o[n] |On     |Alt+o with line mode             #1,#2,#3,#4   |
 | oo   |       |not supported                                  |
 | n[n] |On     |not supported                                  |
 | nn   |       |not supported                                  |
 | p[n] |Paste  |Alt+p with line mode             #1,#2,#3,#4   |
 | pp   |       |not supported                                  |
 | =[n] |       |not supported                                  |
 | ==   |       |not supported                                  |
 | #    |       |not supported                                  |
 | ##   |       |not supported                                  |
 | .    |       |not supported                                  |
 +------+-------+-----------------------------------------------+
   - Alternative operation by Cut & Paste.
     When line number not displayed mode(NUM off),You cannnot enter
     line cmd,but almost same function is available using Cut & Paste
     function.

     #1:[n] is not supported(n is always 1),repeat n times.
     #2:Copy is through clipboard,so You can repeat copy from same source
        without re-specifying source line range.
     #3:Move operation(delete copy source) is not supported.
     #4:Use Alt+h or Alt+F7 at column 1 of both start and end point.
     #5:Use Alt+F7 for Block Range.
     #6:yy-yy may include not excluded lines in the range to reveal multiple
       excluded.
1