= パラグラフ整形(Text Flow)
{TFL | TF} [width] [SBCS] [TOL] [STRDELM] [SPACE1]
[In] [ALL|EACH] [Pn|NOP] [BASE1] [AWORD|SWORD]
['delm-chars'} [.lab1 .lab2]
width :整列後の右境界位置のカラムを指定。
SBCS :整列前の左右のBNDS境界を跨るDBCSはSBCS指定がなければ
2桁スペースに置換するが,SBCS指定があれば
2バイトデータとして1バイトづつに分離する
UTF8ファイルでは使用できません。
STRDELM :'delm-chars' パラメータを一連の文字列とみて行分割。
SPACE1 :連続するスペースは1桁スペースに縮める。
In :書き出し行のIndentation(行頭空きスペース桁数)
ALL :Pnの指定がなければファイルの最終行まで
全パラグラフを処理する。
widthを指定して左寄せすると行数が増えることがあるが
溢れは次のパラグラフを上書きする。
EACH :Pnの指定がなければファイルの最終行まで
全パラグラフを処理する。
溢れはパラグラフの間に行挿入する。
Pn :処理するパラグラフ数。n=0は全て(ALL指定に同じ)。
NOP :パラグラフを無視する。(全行1パラグラプとする)
全ての行をIn指定の位置、In指定がなければ1行目の
Indentation位置に整列する。
BASE1 :1行目のIndentationをパラグラフのIndentationとし、
後続の行は同じIndentationの行を同一パラグラフとする。
BASE1の指定のない場合は、1行目と2行目のIndentationは
違ってもよく2行目のIndentationがパラグラフの
Indentationとなり,3行目以降で2行目と同じIndentationの
行が同一パラグラプ内となる。
AWORD :width指定があるときで、その幅内にスペースがない時、
直後のスペース位置で行分割。
SWORD :width指定があるときで、その幅内にスペースがない時、
widthの位置で行分割する。
(AWORD/SWORDの指定がないと長い語句の行分割はしない)
'delm-chars':指定するとその分離文字の位置で行分割。
width 指定のあるSPLitコマンドでは width の直前の
分離文字でのみ一回行分割するが、
TFLowコマンドでは全ての分離文字の位置で行分割する。
\x0d のようにHex指定も出来ます。
\x8140 のように複数文字指定できますがDBCSとは解釈しません
この場合SBCS 2文字指定とみなされます
.lab1/.lab2 :対象行範囲指定.
指定しないと開始行はカーソルのある行(カラムは問いません)、
カーソルがコマンド行にある時はファイルの先頭行。
(例-01). カーソル位置が意味を持つ場合は行番号欄の'_'がそれを示します(以下同様)。
Boundsは設定されていませんが1行目のCID設定行のoption=f80が
右境界=Col.80を設定してます。
(CID設定行を設定しない場合はEditコマンドのFオプションで
同じことになります。"e file-name f80")
===>tf
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....
*******|********** TOP OF FILE *************************************************************
0001000|//*CID://+NONER~: option=(f80,p0) update#= 3;
_002000| added this part to test the behavior of the bnds
0003000| cmommand for
0004000| xe. i use bnds to format paragraphs
0005000| so the breakes are nice.
0006000| * * CL114
0007000| * JOB stream: job name proc name program run frequency * CL114
0008000| * -------- aaaaaa weekly. * CL114
0009000| *=================================================================* CL114
==>1つのパラグラフを処理。
Indentationの違いで 行-0005000 は次のパラグラフとなります。
3 line(s) processed,0 err line,delm="".1:17) ------------------------------------------------
===>
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....
*******|********** TOP OF FILE ***********************************************************
0001000|//*CID://+NONER~: option=(f80,p0) update#= 3;
0002000* added this part to test the behavior of the bnds cmommand for xe. i use
0003000* bnds to format paragraphs
0005000| so the breakes are nice.
0006000| * * CL114||
0007000| * JOB stream: job name proc name program run frequency * CL114||
0008000| * -------- aaaaaa weekly. * CL114||
0009000| *=================================================================* CL114||
(例-02). 行番号付ファイルの場合、BoundsはCol.1-72になります。
1行目のCID設定行のoption=(m72,n)が右マージン=72,行番号付ファイルを示します。
CID設定行を設定しない場合は en コマンドで同じことになります。("en file-name").
===>tf
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
*******|********** TOP OF FILE *********************************************************
0001000|//*CID://+NONER~: option=(m72,n,p0) update#= 11; 00010001
_002000| ws-ini-key w 64 a 00020002
0003000| ws-ini-key-tag ws-ini-key 4 a value 'key:' 00030002
0003010| ws-ini-key-data ws-ini-key .4 60 a 00031002
0003020| field-name w 60 a 00032002
0003030| field1-value w 60 a 00033002
==>行番号欄は整形対象外。
行-0003000は2行目なのでそのIndentationがパラグラフのIndentationとなり、
これと同じIndentationの行-0003010は整形対象で行-0003020は次のパラグラフで対象外です。
3 line(s) processed,0 err line,delm="".9:26) -----------------------------------------------
===>
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....
*******|********** TOP OF FILE *************************************************************
0001000|//*CID://+NONER~: option=(m72,n,p0) update#= 11; 00010001
0002000* ws-ini-key w 64 a ws-ini-key-tag ws-ini-key 00020002
0003000* 4 a value 'key:' ws-ini-key-data ws-ini-key .4 60 a 00030002
0003020| field-name w 60 a 00032002
0003030| field1-value w 60 a 00033002
*******|********** END OF FILE *************************************************************
(例-03). BNDS設定がある場合。
このDocではわかりませんが、左右の境界は色の違いで示されます。
この例のBNDコマンドはBoundaryを設定したことを示すためで、毎度入力する必要はありません。
===>bnds;bnds 9 70;tf
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8...
*******|********** TOP OF FILE ************************************************************
_002000* added this part to test the behavior of the bnds aaaaaaaaaa
0003000* command for aaaaaaaaaa
0004000* xe. i use bnds to format paragraphs aaaaaaaaaa
0005000* so the breakes are nice. aaaaaaaaaa
0006000| * * CL114
0007000| * JOB stream: job name proc name program run frequency * CL114
0008000| * -------- --------- --------------------------- * CL114
==>右境界には少なくとも1スペース入るように整列します。
3 line(s) processed,0 err line,delm="".1:19) --------------------------------------------------
===>
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8...
*******|********** TOP OF FILE ************************************************************
0002000* added this part to test the behavior of the bnds command for aaaaaaaaa
0003000* xe. i use bnds to format paragraphs aaaaaaaaa
0004000* aaaaaaaaa
0005000* so the breakes are nice. aaaaaaaaa
0006000| * * CL114
0007000| * JOB stream: job name proc name program run frequency * CL114
0008000| * -------- --------- --------------------------- * CL114
(例-04). width 指定がある場合。
===>bnd ;bnd 1 28;tf 24 all
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8..
*******|********** TOP OF FILE ***********************************************************
0002000|file rep2 fb(80 27920)printer
0003000|file rep3 fb(80 27920)printer
0004000|file rep4 fb(80 27920)printer
0005000|file rep5 fb(80 27920)printer
0006000|file rep6 fb(80 27920)printer
0007000|file rep7 fb(80 27920)printer
0008000|file rep8 fb(80 27920)printer
0009000|file rep9 printer
0010000|file repa printer
0011000|job input ini finish print-tot
0012000| ws-ini-key-data = ini-key
0013000| ws-ini-key-field-name = ini-field-name
0014000* aaaaaaaaaaa bbbbbbbbbbbbbbCCCCCCCCCCCCCCCCCCC
==>ALL指定より全ての行が処理されます。
18 line(s) processed,1 err line,delm="".:36) -----------------------------------------------
===>
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....
*******|********** TOP OF FILE *************************************************************
0002000*file rep2 fb(80 r
0003000*27920)printe file rep3 r
0004000*fb(80 27920)printe file r
0005000*rep4 fb(80 27920)printe r
0006000*file rep5 fb(80 r
0007000*27920)printe file rep6 r
0008000*fb(80 27920)printe file r
0009000*rep7 fb(80 27920)printe
0010000*file rep8 fb(80
0011000*27920)printe file rep9 ot
0012000*printer file repa y
0013000*printer job input ini ini-field-name
0014000*finish print-t CCCCCCCCCCCCCCCCCCC
0015000* ws-ini-key-data =
0016000* ini-ke
0017000* ws-ini-key-field-name =
0018000* aaaaaaaaaaa
0019000* bbbbbbbbbbbbbb
*******|********** END OF FILE *************************************************************
(例-05). EACH 指定の効果。
===>bnd 1 28;tf 24 p3 each
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
*******|********** TOP OF FILE *********************************************************
0001000|file rep2 fb(80 27920)printer
0002000|file rep3 fb(80 27920)printer
0003000|file rep4 fb(80 27920)printer
0004000|file rep5 fb(80 27920)printer
0005000|file rep6 fb(80 27920)printer
0006000|file rep7 fb(80 27920)printer
0007000|file rep8 fb(80 27920)printer
0008000|file rep9 printer
0009000|file repa printer
0010000|job input ini finish print-tot
0011000| ws-ini-key-data = ini-key
0012000| ws-ini-key-field-name = ini-field-name
0013000| aaaaaaaaaaa bbbbbbbbbbbbbbCCCCCCCCCCCCCCCCCCC
0014000|DDD
0015000| EEE
*******|********** END OF FILE *********************************************************
==>ALL指定と異なりEACH指定ではパラグラフからの溢れ行はそのパラグラフの直後に挿入されます。
(行-0011000でマージン外のデータ"y"とマージン内のデータ"ws-ini-key-data =" が同じ行にとどまっています)
またP3の指定により行-0015000は対象外です。
(p1:00010000-0010000,p2:0011000-0012000,p3:0013000-0014000)
14 line(s) processed,1 err line,delm="".:43) -------------------------------------------
===>
col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
*******|********** TOP OF FILE *********************************************************
0001000*file rep2 fb(80 r
0002000*27920)printe file rep3 r
0003000*fb(80 27920)printe file r
0004000*rep4 fb(80 27920)printe r
0005000*file rep5 fb(80 r
0006000*27920)printe file rep6 r
0007000*fb(80 27920)printe file r
0008000*rep7 fb(80 27920)printe
0009000*file rep8 fb(80
0010000*27920)printe file rep9 ot
0010100*printer file repa
0010200*printer job input ini
0010300*finish print-t
0011000* ws-ini-key-data = y
0012000* ini-ke ini-field-name
0012100* ws-ini-key-field-name =
0013000* aaaaaaaaaaa CCCCCCCCCCCCCCCCCCC
0014000* bbbbbbbbbbbbbb DDD
0015000| EEE
*******|********** END OF FILE *********************************************************
(例-06). NOP 指定の効果。
===>bnds;bnds 1 40;tf p3 i4 nop
col |....+....1....+....2....+....3....+....4.
*******|********** TOP OF FILE ******************
0001000* p1 a A
0002000* p1 b A
0003000* p2 c A
0004000* p2 d A
0005000* p3 e A
0006000* p3 f A
0007000* p4 A
0008000* p4 A
*******|********** END OF FILE ******************
==>処理範囲はp3でパラグラフ3個に限定されるが、
処理範囲内はパラグラフ境界はないものとみなす
結果のIndentationは"In"パラメータでも指定できる。
6 line(s) processed,0 err line,delm="".4:55) ----
===>
col |....+....1....+....2....+....3....+....4.
*******|********** TOP OF FILE ******************
0001000* p1 a p1 b p2 c A
0002000* p2 d p3 e p3 A
0003000* f A
0004000* A
0005000* A
0006000* A
0007000* p4 A
0008000* p4 A
*******|********** END OF FILE ******************
NOP指定無しの場合は次の結果になる。
===>bnds;bnds 1 40;tf p3 i4
col |....+....1....+....2....+....3....+....4.
*******|********** TOP OF FILE ******************
0001000* p1 a A
0002000* p1 b A
0003000* p2 c A
0004000* p2 d A
0005000* p3 e A
0006000* p3 f A
0007000* p4 A
0008000* p4 A
*******|********** END OF FILE ******************
==>
6 line(s) processed,0 err line,delm="".4:55) ----
===>
col |....+....1....+....2....+....3....+....4.
*******|********** TOP OF FILE ******************
0001000* p1 a p1 b A
0002000* p2 c p2 d A
0003000* p3 e p3 f A
0004000* A
0005000* A
0006000* A
0007000* p4 A
0008000* p4 A
*******|********** END OF FILE ******************
(例-07). BASE1 指定の効果。
===>bnds 1 40;tf p3 base1
*******|********** TOP OF FILE ******************
0001000| p0-----aa A
0002000| p0-----bb A
0003000| p1 a A
0004000| p1 b A
0005000| p2 c A
0006000| p2 d A
0007000| p3 e A
0008000| p3 f A
0009000| p4 A
0010000| p4 A
*******|********** END OF FILE ******************
==>"BASE1"により行-002000と行003000は別のパラグラフとされる。
4 line(s) processed,0 err line,delm="".5:21) ----
===>
*******|********** TOP OF FILE ******************
0001000* p0-----aa p0-----bb A
0002000* p1 a A
0003000* p1 b A
0004000* A
0005000| p2 c A
0006000| p2 d A
0007000| p3 e A
0008000| p3 f A
0009000| p4 A
0010000| p4 A
*******|********** END OF FILE ******************
(例-08). AWORD/SWORD 指定の効果。
===>tf 20
col |....+....1....+....2....+....3....+....4.
*******|********** TOP OF FILE ******************
0001000* aaaaaaaaaaaaaaaaaa AAAAAAAAAAAAAAAAAAAAA
0002000| bbbbbbbbbbbbbbbbbbb BBBBBBBBBBBBBBBBBBBA
0003000| cccccccccccccccccccc CCCCCCCCCCCCCCCCCCA
0004000| dddddddddddddddddddddDDDDDDDDDDDDDDDDDDA
0005000| eeeeeeeeeeeeeeeeeeeeee EEEEEEEEEEEEEEEEA
0006000* FF
*******|********** END OF FILE ******************
==>AWORD/BWORD指定のない場合,指定幅内にスペースがない行は分割されない
5 line(s) processed,5 err line,delm="".5:33) ----
===>
col |....+....1....+....2....+....3....+....4.
*******|********** TOP OF FILE ******************
0001000* aaaaaaaaaaaaaaaaaa
0001100* AAAAAAAAAAAAAAAAAAAAA
0002000* bbbbbbbbbbbbbbbbbbb BBBBBBBBBBBBBBBBBBBA
0003000* cccccccccccccccccccc CCCCCCCCCCCCCCCCCCA
0004000* dddddddddddddddddddddDDDDDDDDDDDDDDDDDDA
0005000* eeeeeeeeeeeeeeeeeeeeee EEEEEEEEEEEEEEEEA
0006000* FF
*******|********** END OF FILE ******************
==>AWORD指定の場合("tf 20 aword") 次のにスペース位置で分割される
5 line(s) processed,4 err line,delm="".5:33) ----
===>
col |....+....1....+....2....+....3....+....4.
*******|********** TOP OF FILE ******************
0001000* aaaaaaaaaaaaaaaaaa
0001100* AAAAAAAAAAAAAAAAAAAAA
0002000* bbbbbbbbbbbbbbbbbbb
0002100* BBBBBBBBBBBBBBBBBBBA
0003000* cccccccccccccccccccc
0003100* CCCCCCCCCCCCCCCCCCA
0004000* dddddddddddddddddddddDDDDDDDDDDDDDDDDDDA
0005000* eeeeeeeeeeeeeeeeeeeeee
0005100* EEEEEEEEEEEEEEEEA
0006000* FF
*******|********** END OF FILE ******************
==>SWORD指定の場合("tf 20 sword") 指定の位置で分割される
===>
col |....+....1....+....2....+....3....+....4.
*******|********** TOP OF FILE ******************
0001000* aaaaaaaaaaaaaaaaaa
0001100* AAAAAAAAAAAAAAAAAAA
0001200* AA
0002000* bbbbbbbbbbbbbbbbbbb
0002100* BBBBBBBBBBBBBBBBBBB
0002200* A
0003000* ccccccccccccccccccc
0003100* c
0003200* CCCCCCCCCCCCCCCCCCA
0004000* ddddddddddddddddddd
0004100* ddDDDDDDDDDDDDDDDDD
0004200* DA
0005000* eeeeeeeeeeeeeeeeeee
0005100* eee
0005200* EEEEEEEEEEEEEEEEA
0006000| FF
*******|********** END OF FILE ******************
(例-09). "delm-char" と関連オプションの意味。
===>bnds 1 40
*******|********** TOP OF FILE ******************
0001000| aaaaaaaa=aaaaaaaaa AAAAAAAA===AAAAAAAAA|
0002000* bbbbbbbb=: bbbbbbbb BBBBB : BBBBBBBB |
0003000* cccccccc:=cccccc := CCCCC : CCCCCCCCC|
0004000| FF |
*******|********** END OF FILE ******************
==>tf ":="。
全ての ":" と "=" の直後で行を分割。
*******|********** TOP OF FILE ******************
0001000* aaaaaaaa= |
0002000* aaaaaaaaa AAAAAAAA= |
0003000* = |
0003100* =
0003200* AAAAAAAAA bbbbbbbb=
0003300* :
0003400* bbbbbbbb BBBBB :
0003500* BBBBBBBB cccccccc:
0003600* =
0003700* cccccc :
0003800* =
0003900* CCCCC :
0003910* CCCCCCCCC
0004000| FF |
*******|********** END OF FILE ******************
==>tf ":=" tol。
分離文字の直前で分割。
*******|********** TOP OF FILE ******************
0001000* aaaaaaaa |
0002000* =aaaaaaaaa AAAAAAAA |
0003000* = |
0003100* =
0003200* =AAAAAAAAA bbbbbbbb
0003300* =
0003400* : bbbbbbbb BBBBB
0003500* : BBBBBBBB cccccccc
0003600* :
0003700* =cccccc
0003800* :
0003900* = CCCCC
0003910* : CCCCCCCCC
0004000| FF |
*******|********** END OF FILE ******************
==>tf ":=" strdelm。
分離文字は全体で1つの分離文字列とする。
*******|********** TOP OF FILE ******************
0001000* aaaaaaaa=aaaaaaaaa |
0002000* AAAAAAAA===AAAAAAAAA bbbbbbbb=: |
0003000* bbbbbbbb BBBBB : BBBBBBBB cccccccc:= |
0003100* cccccc :=
0003200* CCCCC : CCCCCCCCC
0004000| FF |
(例-10). SPACE1 指定の効果。
===>tf space1 all
*******|********** TOP OF FILE *********************************************************
0001000|//*CID://+NONER~: option=(m72,n,p0) update#= 11; 00010001
0002000| ws-ini-key w 64 a 00020002
0003000| ws-ini-key-tag ws-ini-key 4 a value 'key:' 00030002
0003010| ws-ini-key-data ws-ini-key .4 60 a 00031002
0003020| field-name w 60 a 00032002
0003030| field1-value w 60 a 00033002
*******|********** END OF FILE *********************************************************
==>語間の連続スペースを縮める。
6 line(s) processed,0 err line,delm="".9:26) -------------------------------------------
===>
*******|********** TOP OF FILE *********************************************************
0001000*//*CID://+NONER~: option=(m72,n,p0) update#= 11; ws-ini-key w 64 a 00010001
0002000* ws-ini-key-tag ws-ini-key 4 a value 'key:' ws-ini-key-data 00020002
0003000* ws-ini-key .4 60 a 00030002
0003010* field-name w 60 a field1-value w 60 a 00031002
*******|********** END OF FILE *********************************************************