======== wsj31.def (v1.57 for J-3100) ========

* C コマンドキー

00	^Q ^K ^O [ESC]	;２ストロークキー（最大６個）
01	^[		:直前のコマンド実行
02	^_		:キーボードマクロ
03	[ESC]		:エスケープ
04	^M   [CR]	:リターン
05	^E   [UP]	:↑
06	^X   [DOWN]	:↓
07	^S   [<--]	:←
08	^D   [-->]	:→

09	^A  \[<--]	:１語←
10	^F  \[-->]	:１語→
11	^QS ^[<--]	:論理行頭
12	^QD ^[-->]	:論理行末
13	^V   [INS]	:挿入モード
14	^H   [BS]	:バックスペース
15	^G   [DEL]	:１文字削除
16	^QH \[BS]	:語の先頭まで削除
17	^T  \[DEL]	:語の終りまで削除
18	^QT		:行頭まで削除
19	^QY		:行末まで削除
20	^U		:削除文字（列）復活
21	^I   [TAB]	:タブ
22	^P		:制御文字入力
23	^QU		:１語大／小文字変換
24	^QI \[F05]	:文字列の複写
25	^QN		:ファイル名の複写

30	^@  \[INS]	:ページングモード
31	^W  \[PGUP]	:ロールアップ
32	^Z  \[PGDN]	:ロールダウン
33			:ロールアップ２行
34			:ロールダウン２行
35	^R   [PGUP]	:ページアップ
36	^C   [PGDN]	:ページダウン
37	^QW		:スムースアップ
38	^QZ		:スムースダウン
39	^QE ^[UP]	:画面の上端
40	^QX ^[DOWN]	:画面の下端
41	^QR ^[PGUP]	:ファイルの先頭
42	^QC ^[PGDN]	:ファイルの最後
43	^QP		:直前のカーソル位置
44	^QM		:カーソル位置マーク
45	^QJ		:J 指定行番号ジャンプ

46	^B   ^KB	:ブロックモード
47	^Y   [F08]	:行･ブロック削除
48	^J   [F09]	:行･ブロック挿入
49	^KK \[F08]	:行･ブロック記憶
50	^KC \[F09]	:行･ブロック複写
51	^KY		:C スタックの消去
52	^QB		:B ブロックの先頭／最後
53	    \[CR]	:１行挿入
54	^QL		:U 行の回復

55	^QF  [F06]	:検索文字列の設定
56	^QA  [F07]	:文字列の置換
57	^QO		:直前の置換の再実行
58	^Q[ \[HOME]	:対応する()[]{}<>
59	^L   [F05]	:検索文字列の取得
60	^KG		:タグ情報の取得
61	^KA \[F07]	:文字列の選択複写

62	^OW  [F02]	:ウィンドウ切替え
63	^OP  [F03]	:編集テキスト切替え
64	^OS  [F04]	:分割モード切替え
65	^OF \[F04]	:分割位置の変更
66			:L 表示行数切替え ($lc)
67	^OR 		:R Read onlyモード
68	^KI		:I インデントの変更
69	^OX \[F03]	:テキストの比較

70	[ESC]O	@O	:O ファイルのオープン
71	[ESC]R	@R	:R Read onlyオープン
72	[ESC]N	@N	:N 新規ファイルオープン
73	[ESC]C	@C	:C ファイルのクローズ
74	[ESC]L	@L	:L クローズ･オープン
75	[ESC]S	@S	:S ファイルのセーブ
76	[ESC]A	@A	:A 既存ファイルへ追加
77	[ESC]Q	@Q	:Q エディタを終了
78	[ESC]E	@E	:E DOSコマンド実行
79	\[ESC]		:P DOS画面出力の参照

80	^K^		:再カスタマイズ
81	^K_		:キーボードマクロ文挿入
82	[ESC]P	@P	:P ファイル名の変更
83	[ESC]W	@W	:プロファイル情報のセーブ

88	    \[<--]	:選択←			; Filer
89	    \[-->]	:選択→			;
90	    \[UP]	:選択↑			;
91	    \[DOWN]	:選択↓			;
92	     [HOME]	:先頭／最後		;
93	     [TAB]	:ウィンドウ切替え	;
94	     [BS]	:親ディレクトリ		;

95	\[ESC]		:DOS画面出力の参照	; DOS
96	^W		:エイリアス一覧		;
97	^J		:コマンドの展開再表示	;
98	\[CR]		:ファイラー		;

* F ファンクションキー表示

" ﾌｧｲﾙ"," 窓換"," 文換"," 窓割"," 記憶"," 検索"," 置換"," ｶｯﾄ"," ｲﾝｻｰﾄ"," ﾍﾙﾌﾟ"
" ﾓｰﾄﾞ","  ｻﾌﾞ"," 比較"," 窓動"," 複写"," ﾏﾙﾁ"," 複写2"," ｺﾋﾟｰ"," ﾍﾟｰｽﾄ","  ﾀｸﾞ"

* T テキストウィンドウ

"【入力ファイル】 <$pd>",40
"【出力ファイル】",40
"【新規ファイル】",40
"【追加ファイル】",40
"【パス･マスク】",40
"【検索文字列】",40
"【置換文字列】",40
"【複写文字列】",40
"【行番号】",1
"【ファイル名】",40

* S システムメニュー

1	"【マクロメニュー】",42,0,24
2	"【エイリアス一覧】",40,0,10,-1
3	"【編集テキスト】",37,0

4	"【置換範囲】",14,3
	"A テキスト全体"
	"F カーソル以降"
	"B カーソル以前"

5	"",13,7
	"W *.*"
	"Q ."
	"C .h .c"
	"A .inc .asm"
	"E .exe .com"
	"B .bat"
	"D .doc .txt"

6	"",16,7
	"F ファイル名"
	"E 拡張子"
	"N 新しい順"
	"O 古い順"
	"L 大きい順"
	"S 小さい順"
	"D ディレクトリ"

7	"",14,6
	"C 比較の実行"
	"E 存在"
	"N 新しい"
	"O 古い"
	"L 大きい"
	"S 小さい"

8	"",15,9
	"C コピー	copy %1 %2"
	"D 削除		del "
	"P パック	lha a %2 %*"
	"U アンパック	lha x "
	"V パックリスト	lha l "
	"A 比較(Asc)	fca %1 %2"
	"B 比較(Bin)	fcb %1 %2"
	"T テスト	dir "
	"X 実行		%1 %2"

9	"",0,3
	"com"
	"exe"
	"lzh lha l "

* M マクロ

2  [F01] "【ファイルメニュー】"
	?. !01

3 \[F01] "【モードメニュー】"
	?. !02

4 \[F02] "【サブメニュー】"
	?. !03

5  [ESC]M @M "【マクロメニュー】"
	?. !99

6  [ESC]D @D "D テキストの二重化"
	?. (wt)? >A
	(wn==0 || wc==tc)?{ &m(6). }
	&s sn[, sn-,
	&#Y(0) l=ln, ly[,
	#R #P #m mr=$80,
	ky], ev[, ev-, &#J(l) ev], #W
	sn], &d #Y .
:A	(mr<=1)?{ #W (mr<=1)?{ #W . }}
	#C (wt)?{ #W &#Y(0) }

7  [ESC]U @U "U 編集のやり直し"
	?. #] (mr==1)?{ &a(37) (r<=0)?. }
	&s #L (s==4)?'n' #P #m &d

8  [ESC]I @I "I カーソル位置へ挿入"
	?. (mr==$80)?{ &m(36) . }
	&m("カーソル位置へファイルを読み込みます")
	n=wn, c=wc,
	#R
:A	(s)?{ &c >A }
	(wc==c)? >Z
	mr=-1,
	&s
	#W &#T(n)
:B	#W &#T(c+1)
	#b #_ (ct)?{ #> #m #x }
:C	#y (mb)?{ #W #< #i (ek)?? #B #W >C }
	#C &#T(n)
	#< #i (ek)?? #B
	(wc>c)? >B
 	&d
:Z	&m("")

9  [ESC]X "X 全ファイルのクローズ"
	?.
:A	#C
:B	(s)>?{ >A . . . }
	i=wc, &c (wc==i)?. >B

10 [ESC]^ "外部マクロの実行"
	?. #O &?(pi) "*.def" #m
:A	(s)?{ &c >A } (r<0)?.
	#80 (r)?.
	#C >*

11 [ESC]@ "マクロ文の実行"
	?. &g("【マクロ文】")
	(r==-1)?.
	&e(pw)
	&m("Result: %d %u $%x '%c' $"%16s$"",r,r,r,r,r)
	&d

12 ^Q[ "表示行頭"
	?. &x(0)

13 ^Q] "表示行末"
	?. &x(we-2) #?

14 [HOME]  "表示位置変更"
	?. y=wy-1,y/=2,
	(ly==y)?{ ky=wy-2, >A }
	(ly==1)?{ ky=y, >A }
	ky=1,
:A	&d #]

15 ^OT "T タブの切替え   ($ht)"
	?. ht=12-ht, &d

16 ^K0 "マーク(1-4)"
	?. i=r, &#M(r) (r)?. &m("マーク #%d",i)

17 ^Q0 "マーク位置へジャンプ"
	?. &#U(r)

18 \[F10] "タグジャンプ"
	?.
:A	#60 (r)?{ #x (r)?. >A }
	#x #O #e #m
	(s)?{ #[ #[ >A }

;19 ^KD "カーソル行の複写"
;	?. #k #i

20 ^KU "ペーストのアンドゥ"
	?. mb=r, #y

21 \[F06] "複数テキストで検索･置換"
	?. i=wc,
	(cm==56)? >R
:S	(mp<2)?.
	#c (r)??.
	#T #T (i--)??.
	#^ ky=wy/2, >S
:R	#57 #T #T (i--)? >R

22 \[TAB] "文字列の補完"
	?. (lx)??.
	&s mp[,
	(cm)?{ x=lx, i=2, }?{ &x(x) #t i++, }
	#a #G #61 ' ' #h (i){ #e } #m #t
	mp], #? cm=0, 

24 ^L [F05] "検索文字列の連続取得"
	?.
	(cm||mb)?{ #G xx=r, cm=0, . }
	&s
	#b
	cp+=xx, #? &s
:A	(ct<2)? >B
	a=ct, #d
	(ct>=a)? >A
:B	&d
	xx=cp,  #B
	xx-=cp, #G
	cm=0,

25 ^KJ "文字コード表示"
	?. ep+,
:A	(s)??{ &m("文字コード: %02xh",cd) }
	&p (r!=#[)?{ &o(r) >A }		; [ESC]で終了
	&m("") ep-,

26 ^QV "Viewモード"
	am[,
	(ro!)?{ am=5, &m("View mode") }
	     ?{ &m("Edit mode") }
	am],

27 ^KQ @X "強制終了" #[

28 [ESC]0 ""

30 \[UP] "高速↑"
	(-1){ #e (ks&3)??. }

31 \[DOWN] "高速↓"
	(-1){ #x (ks&3)??. }

;--- ws additions ---

32 ^N  "Insert CR"
	?. #m #< #s

33 ^KD "Done edit"
	?. Sq-, (wc==1)? #83 #C (s==4)? 'Y'

34 ^KS "Save file"
	?. (mb)? #b #S #m

35 ^KX "Save & Quit"
	?. Sq+, #Q (s==4)? 'Y'

36 ^KR "Read block" >08

37 ^KW "Write block"
	?. (mb)??. #S

38 ^OI  "Indent mode"
	?. Ei!, (Ei)? p="ON", ? p="OFF",
	&m("Indent %s",p)

* P メニュー

1	"",24,14 #70 #73 #75 #72 #71 #74 #76 #82 &06 &07 &08 &09 #78 #77

2	"",30,15,6
	"C CR の表示",Dc
	"T TABの表示",Dt
	"E EOFの表示",De
	"L 行番号の表示",Dl
	"N 行番号モード	論理 表示",Dn
	"S システム情報の表示",	Ds
	"\ バックスラッシュ	\ \",Db
	"U アンダーライン",Du
	"A オートインデント",Ei
	"I 検索時の英大/小文字	区別 同一視",Ec
	"W ワードサーチ",Ew
	"H ページング単位	全画面 半画面",Eh
	"B バックアップ",Eb
	"R 画面の横幅(2〜250)",WE
	"P ページ長",PG

3	"",26,9  #45 #51 #52 #54 #67 #68 &15 #79
	"　$4EMS free/total: $ef/$em"

;======== help.def (v1.00) ========

* M マクロ

1 [F10] "ヘルプ"
	(s>1)? >A
	(cd=='%')? >D
	(cd=='#')?? >A
	#d c=cd,
	(c>='<' && c<='z')?{ #s i=c-'<', r=pv.i, >C }
	&n r[, #s r], (r>=0)? >C
:A	(s)>? { !01 !02 !03 !04 }
:B	(r>=0 || r==-1 || r==-256)?.
:C	(r==1~)?.		; 1=ヘルプのマクロ＃
	!00 (r&$FF)? >B >A
:D	mp[, ec[, ly[, ec-,
	&s
	#b #d #d #G
	#c (r)? { ky[, #^ ky], #c }
	ly],ec],mp],
	&d #]

* P メニュー

0	"It's ...",42,1,24,-1 #00

1	"スクリーンエディット",18,8
	"C カーソルの移動",!11
	"R スクロールとジャンプ",!12
	"L 基本編集操作",!13
	"B カット＆ペースト",!14
	"S 文字列の操作",!15
	"F ファイル･ウィンドウ",!16
	"M マクロ操作",!17
	"E その他",!18

2	"テキストウィンドウ",18,2
	"C カーソルの移動",!19
	"L 基本編集操作",!13

3	"コマンドライン",18,3
	"C カーソルの移動",!19
	"L 基本編集操作",!13
	"E その他",!20

4	"ファイラー",42,11,24,-1
	#05 #06 #07 #08	#88 #89 #90 #91 #92 #93 #94

11	"",42,13,24,-1
	#05 #06 #07 #08 #09 #10 #11 #12 &12 &13 #39 #40 &14

12	"",42,17,24,-1
	#30 #31 #32 #33 #34 #35 #36 #37 #38 #41 #42 #43 #44 #45 &16 &17 &18

13	"",42,13,24,-1
	#13 #14 #15 #16 #17 #18 #19 #20 #21 #22 #23 #24 #25

14	"",42,9,24,-1
	#46 #47 #48 #49 #50 &19 &20 #51 #52

15	"",42,9,24,-1
	#55 #56 #57 #58 #59 #60 #61 &21 &22

16	"",42,17,24,-1
	#70 #71 #72 #73 #74 #75 #76 #77 &06 &07 &08 &09 #82 #62 #63 #64 #65

17	"",42,5,24,-1
	#02 #81 &05 &10 &11

18	"",42,11,24,-1
	#01 #04 #53 #54 &15 #67 #68 #69 #78 #79 #80

19	"",42,8,24,-1
	"ヒストリー↑",#05
	"ヒストリー↓",#06
	#07 #08 #09 #10 #11 #12

20	"",42,6,24,-1
	"エディタへ",#03
	"DOSコマンド実行",#04
	#95 #96 #97 #98

;======== End of help.def ========

* O オプション

Bt64			;テキストバッファのサイズ (16..64KB)
Bq0			;テンポラリバッファのサイズ: メモリ(KB)/EMS(page)
Bf32			;DOSコマンド用メモリの最小値 (KB)
Bo32			;コンソール出力取込みバッファサイズ (0..32KB)
EM			;ＥＭＳの使用ページ数 (0..128, EM=残り全部)
SW1			;スワップモード
			;(0=OFF, 1=text, 2=text&code, 3=TSR 2.6KB)

Bm2048			;マクロバッファのフリーエリア
Ba0			;エイリアスバッファ	〃
Hs256			;文字列ヒストリー	〃
Hf128			;ファイル名		〃
Hx128			;DOSコマンドライン	〃
Ha64			;アプリケーション	〃
Bl1024			;行バッファサイズ (256..(Bt*1024/8))
Bc256			;削除文字列バッファサイズ
Bu64			;マクロ配列領域サイズ

TC10			;オープン可能なテキスト数
WD80			;表示カラム数 (2..250)
PG0			;表示行番号のページ数
RS3			;スムーススクロール速度 (0..4)
Ta8			;タブカラム数
Tb4			;.C .H のタブカラム数
Ci4			;カーソル形状 (挿入) (0..15)
Co7			;	〃　  (上書)
FW256			;ディレクトリバッファの数
FV1			;ディレクトリ表示モード (1=ロング, 5=ショート)
FS0			;ディレクトリソートオプション (b0..b6)
FO3			;ディレクトリコンペアオプション (b0..b4)
WL0			;ウィンドウの表示位置 (0..15)
LC-			;日本語モード時の最下行の予約

An7			;テキスト属性
Ac6			;　コントロール文字
Al7			;　行番号
Ah$70			;　ブロック
As$76			;　ステータスバー
Ao14			;　コンソールファイル
Ar14			;  Read onlyファイル
Am6			;　メッセージ
Ab5			;　ウィンドウわく
At7			;　ウィンドウタイトル
Aw7			;　ウィンドウ文字
Af6			;　ウィンドウ先頭文字
Ai$70			;　ウィンドウカーソル
Aj7			;　ヘルプウィンドウ
Ak6			;　キーモード
Ag7			;　ファイラー背景
Au6			;　ファイラーカーソル
Ap$70			;　ファンクションキー

Dl-			;行番号の表示
Dc+			;CR の表示
Dt-			;TABの表示
De+ 			;EOFの表示
Ds-			;システム情報の表示
Db-			;￥文字の表示
Dn-			;論理／表示行番号
Du-			;カーソル行アンダーライン
Df-			;フルパス名で表示
Dp-			;ファイル名の小文字表示
Dh-			;ファイル名を左側に表示

Ei+			;オートインデント
Es+			;^QE,^QX でスムーススクロール
Ez+			;EOF コードの付加
Eb+			;バックアップファイルの作成
Eu-			;[TAB]でスペースコードを入力
Et+			;タイトルサーチ
Eh-			;全／半画面ページング
Ew+			;ワードサーチ
Ec-			;検索時の英大／小文字の同一視
Ex-			;テキストスタックfull時の警告
En-			;カーソルを行末以降に表示させない
Ev-			;ジャンプ後カーソルを画面の中央へ
Ek-			;ブロックペースト後カーソル位置更新
Ea-			;表示カラム数の自動設定機能
RO-			;Ｖｉｅｗモード
Ej-			;全角スペースのオートインデント

Sx+			;コンソール出力の取込み
Se+			;エスケープシーケンスのスキップ
Sd+			;DOSコマンドラインの展開再表示
Sk-			;DOSコマンド実行前に、テキストスタックをクリア
Sr-			;editfile にプロファイル情報をセーブ
Sy-			;[CR]/[SPC] で [Y]/[N]
;St-			;DEFファイルのタイトル表示
Sn+			;新規ファイルの確認
Sq-			;Close,Quitで即座に終了

FP+			;ＦＥＰを自動制御
FR-			;日本語入力モードで起動
FT0			;ＦＥＰのタイプ (0=自動識別, 1=atok7, 2=atok5,6, 3=wxp)
FK-			;キーボードタイプ: 83/84(-) 101/102(+)

* A エイリアス

cat	type
ls	dir %-w %1
sd	symdeb
rene	ren %1 %<.%2
fca	fc %1 %2%\%>
fcb	fc /b %1 %2%\%>
sete	set %1=%%1%
test1	echo %: ; echo %& ; echo %.
test2	echo %wd% %%a %1 %%1% %%a%

* H ヒストリー

:string
	include define static extern typedef struct switch default return
:file
	\config.sys \autoexec.bat

* E その他

1
2	editfile
3	.doc .txt .bat .def .H .C .inc .asm
4	Drive  Mask  Path  Sort  View  Window  All  TrCD  RetCD  Compare  Exec
7	*/;
8	$6$pd>
9	.com .exe .obj .lib .arc .lzh
10	"$(CD,B3,D5,B8,D4,BE,DD,DE,1A,19,11)"
;	   ─ │ ┌ ┐ └ ┘ |   | → ↓ ←  
;11	ﾌﾁｺｿｼｲﾊｷｸﾆﾏﾉﾘﾓﾐﾗｾﾀｽﾄｶﾅﾋﾃｻﾝﾂﾞﾑﾟｫﾎﾜﾇﾌｱｳｴｵﾔﾕﾖ

*
======== End of wsj31.def ========
