たまにはマクロは上げてみたり。(^^)v
こういうのが悩みなくサクっとできあがると嬉しいですねぇ。30分のマクロ
遊びでα波ビビビの気分転換。
ファイラで pa に入れたおいたメモが見たかったのです。駄目じゃん、そんな
ことできないなんて、というのが作成動機。
何の工夫もなく全天候型なのですが、もし何かあればご指摘ください>オール。
m(__)m
=== hisdisp.def by Bunta ===;display 74 bytes of histbuf
* Macro
50 ^^ "hisdisp"
&m(" display the histbuf items")
;===init work buffer
t=pq..134, ;tmpbuf
i-, (80){t.i==0, i++,}
;===menu
!01 (r<0) ? {&m("").}
(r)>?{(p=ps) (p=pw) (p=pf) (p=px) (p=pa) (p=pr)}
;===make title
&Sm(t,pm+2,2) t..1=' :',
t+=4, ;*** top adjust
;===transfer
i-,
:a (i==73)? >b ;display 74 bytes
(p.i)? {t.i=p.i,} ? {t.i='・',}
i++, >a
;===2 nuls cut & disp
:b t-=4, ;*** top readjust
((t+77)..0-,
&m("%s",t)
* P
1 "hdsp",4,6
"S PS"
"W PW"
"F PF"
"X PX"
"A PA"
"R PR"
*めざらさん> 半角中黒が掲示板の制限で全角に置換されちゃうの御免。なりますねぇ。ま、使う人は限られたいるので、各々対処。> さて,メニューを出すということはラインバッファから出るので,> 一時バッファにはラインバッファも使えますね。興味深い(?)アドバイスありがとうございます。うーん。> そうすると欲が出てきて,いきなりみんな中身を表示しちゃえばなどと思った> りもしますが,敢えてそれをしないというのもひとつの思想ですね。思想です(汗)。でも、欲は出しません…。> m.gann師の history2.def がモード感知で,ファイラーでは同様にバッファの> メニューを出して表示させるようになっています。懐かしい。ありがとうございました。コメント1つ1つに、うーん、している。 history2.defを知りませんでした。どこが違うんだ? goto 過去ログ。 でも、やはりpaは出ませんね、そんなもの見てどうする?> そういった既存のマクロではなく,自分で,しかも30分で作ってしまえる> という境地はVZマクロならではだと思います。コピペな部分があるから30分ですが、その前はそれなりに。当たり前ですけ どね。 もっとも、アセンブラで '0' と 'O' を間違えているのを真剣に調べて3時間 近くかかった経験があるので、やっぱ、Vzマクロ、好き、ってなっちゃう。> マクロは楽しいですよね。楽しいですねぇ、やっぱり。ああ、楽しい。困っちゃう。> 昨夜寝床でアレコレしていたのがこんな1行野郎なやつ。ここからはゆっくり解読してみます。^Aは置換になっていて、その手のダイア モンド的なのは、えらく不得意でして…。^QAが左一語移動。使ってない…。 しかし、うげ、何だこれは? (間) だいたい解読できました。イメージだけ? 削除バッファの構造とビット演算 まで。ただ「分かりましたよ」とまで行けず。文字タイプの判別が違う、という ことですよね? 何が違うのでしょう??? お暇なときに解説をお願いします。 aaaaaaaaaaa bbbbb ;space,tab,zenkakuspaceあり <---------<-----------------<--------- <---------------------------<--------- という動きの違いですよね。 削除バッファ構造の名解説は、ココ> 9846/19846 GFB01755 耳XXX RE:削除バッファから1文字取り出し> 15) 02/05/26 07:19しかし、みんな削除バッファ好きですよねぇ…。僕はVzの基本コマンドが使 いこなせてないんだ…。 DELBUF.def by amuno を入れてはいるのですが…。ゴミ捨て場…。見たくない…。 全部かまぼこ状態。 ちらっと覗いたり…。 CT_SPC equ 2 ; 00h-20h,8140h ;ledit.asm さ、さすがだ。日本人のためのエディタ。全角スペースには驚いたので。 ctの2じゃん。(^^ゞ
XPで色々なダンプをすると醜いことになるという経験を昔からしています。
で、昨日も同じ経験をしたので、「しょうがないのだ」という確認をお願いした
いのです。
手順:
・ 捨ててもよいファイルの編集画面で、
・ インスタント窓に、
&o($01)&o($80)
を入力する。
・「^A□」(□は半角)。
・フォントが変わったみたいに字が太る。
エスケープ・シーケンスと思われているのかと思い、pansi.comを外しても同じ現象。
オリジナルvz.comでも同じ。
モバだと「80h」は出力されているが、字は醜くでぶりはしない。
仕方ないのでしょうか? >オール?
(参考)
=== Macro Tmp by Bunta ===;
* Macro
50 ^^ "mactest"
?.
h=$01,
i=$7f, ;半角□の「80h」が怪しい模様
:a (i==$8f)? >c ;] と表示される場合もある。
&o(h)&o(i) #m
i++, >a
:c &m("fin") .
*めざらさん、確認ありがとうございました。> TerminalからMSゴシックなんかに変更すると普通に見えるようです。おお、MSゴシックだと随分よいですね。 Terminalってなんでしたっけ? うちのXPはラスタフォントになっていました。 今、MSゴシック。Vzでもいいですね。よっこらしょ、とたまたま足下に転がってい たW95なマシンで、Vz窓のプロパティをみたら、そうそう、TrueTypeフォント というのが見慣れたやつでした。Terminal、どっかで見た記憶なのですけど。> 80Hが制御文字みたいな働きをするとしたら,前置しないとおかしいですし。そうなりますか。ですよね。それでも後ろ側も変ですよね。
> Terminalってなんでしたっけ? うちのXPはラスタフォントになっていました。
> > 80Hが制御文字みたいな働きをするとしたら,前置しないとおかしいですし。
> そうなりますか。ですよね。それでも後ろ側も変ですよね。
めざらさん、> XP のラスタフォントは Terminal になっていると思います。色々と解説ありがとうございました。 MS ゴシックはですね、行ブロックすると見た目だけ行・行の一部分・改行文 字が2重化されたりするのですが(今日も再現した)、なりませんか? 気持ち 悪くてダンプするとき以外は、やはり Terminal にしました。> VZ の版に依存しているわけでもないようです。はい、これは確認しました。オリジナルでも同じです。> ふと思ったのですが,なんで 80H なんて出力したん? (笑)え? そんなの話の流れからして、削除バッファの方向ビットを見たに決まっ てるじゃないですか。> 改行を含んだブロックは行末で切れちゃうじゃないですか。そんなとき,> スタックから ps に欲しい! って渇望していたなるほど。しかしそういう風に改行を含んだ検索文字列の設定自体への必要場 面が、どうも。一つには、僕がグレップのように行指向であるということにより そう。改行文字を入れた検索は、行頭か行末に改行がある場合がほとんどみたい です。> 各バッファの先頭文字列を全部表示,削除バッファもプロパティの同じものを> まとめる方向で。ああ、プロパティって方向ビットのこと…。> バッファの名称だけ出しても,何が入っているか見えないのでは不安ですよね。メニューですか。 是非是非。 これは全天候型だとかなり有用そうですね。pa とか pr とか。おいおい。でも是非。個々にはやれても、そういう総合型は有用 です、間違いなく。
> MS ゴシックはですね、行ブロックすると見た目だけ行・行の一部分・改行文
> 字が2重化されたりするのですが(今日も再現した)、なりませんか? 気持ち
> え? そんなの話の流れからして、削除バッファの方向ビットを見たに決まっ
> てるじゃないですか。
> 一つには、僕がグレップのように行指向であるということによりそう。
> メニューですか。 是非是非。 これは全天候型だとかなり有用そうですね。pa
> とか pr とか。おいおい。でも是非。個々にはやれても、そういう総合型は有用
> です、間違いなく。
めざらさん> そうですか? うちのはそういう傾向はないですかねぇ。うーん、そうなんだ。ローカルに個人的に対処します。シクシク。> T60なら一緒だと思いますが。いえ、文太マウス2台においてです。T60は(まねっこ文太)、近々試して みます。やっぱうるさくてもデスクトップが好き。> C の中間ファイルをダンプでもしたのかなと。そっちはじぇんじぇんまだです。> 特に話を急がせようと結論を想像して言ってみると全然違っていたりして,自> 分でも嫌になりますね。歳をとってせっかちになって,しかも空回りしているの> 図。激しく同意してしまう。やれやれ。ま、そんなものなんでしょう。二人だけでは ないですよ。二人目がいましたので(笑)。と自らを慰めるの図。> なるほどねぇ。文太さんは根っからの TS 人種だったのですね。ってわけでもないのですが、それでも、僕はVzを外から眺めたがりますね、傾向 として。なぜだろう?> 文太さんは行指向だけれど段落を整形するのですね。自分と逆だなぁ。考えてます。ログをグレップするとき、「キーワード切れてたら嫌だからこの 程度で」とやって、要らないのを拾ってますので。 ただ、引用なんですよ、掲示板にしろメールにしろ、たぶん。>> メニューですか。 是非是非。> でも多分,文太さんには不要の反物のような気がするので,>でがらしさんへのコメントにしよう。(笑)告白です。昨晩、GetBuffs.defを使いました。「あれだ!」的場面があって、すぐ さまここの掲示板に再度直行。 【名前】 atoi, atol, atof - 文字列から数値への変換 ↓ 【名前】 atoi, atol, atof - 文字列から数値への変換 なんて置換の場面。多謝。m(__)m おお、きたきた。カスタマイズが簡単、というのも\(^_^)/ たぶん、でがらしさんにぴったり。どんぴしゃで来るからすごいなぁ。
> うーん、そうなんだ。ローカルに個人的に対処します。シクシク。
> ただ、引用なんですよ、掲示板にしろメールにしろ、たぶん。
めざらさん> 対処はわかりませんが,うちのT60も呪いが出ました。でましたか(笑)。一人じゃないっていいものですね。あはは。> まぁ,適当に編集して'>'を途中に入れるだけというか,同じ「手動改行」なら> 別に長かろうが折り返されようが引用は引用ですけどね。blockquateで括ってあ> りますから。この辺の仕組みは分からないのですが、掲示板的見栄えの好きずきもあって。
めざらさん、すいません、レスは明日に。m(__)m
=== Hisdisp.def by Bunta ===;display 73 bytes of (hist)buf
見えるバッファの種類を(無意味に)増やしました。>そんなに見たければ専門の
道具、buftourとか使ったら? は、はい。でも元々は研究用でなく実用でして…。
シフトでバッファ本体をクリアしてしまいます。tmpbuf以外では使うべきではないで
しょう。こっちは色々慎重にお願いします。意味わかってやってくださいね。
要らないところや計算間違い、「=」と「==」を間違えるなどのバグを潰しました。
キャー(>_<) −−実は無害だったのだけど。
logtblは個人的用途です。Bvが64*2以上ないと知らないよ(何だか恐そうだなぁ。
いえ、覗くだけなら=シフトでないならコピーを表示してるだけですから無害です)。
【注意】掲示板の仕様により「・」A5hが「・」8145hになっていると(なります)
バッファの中身が「EEEEE」とか表示されます。★の箇所を調べてみてください。
* Macro
50 ^^ "hisdisp"
k=ks&1,
(k)?{&m(" !!!!! CLEAR the (hist)buffer !!!!!")}
?{&m(" display the (hist)buf items")}
;===get work jimae buffer
&00 ;<t>
;===menu
!01 (r<0) ? {&m("").}
(r)>?{ (ps) (pw) (pf) (px) (pa) (pr) (pu)
(pq..145) (pq..145+64)
(pq..134) (pq..135) (pq..136) (pq..149)
(pq..142) (pq..143)
} p=mg..0, ;thanx > m.gann & mezala. Beautiful!
;logtbl,+64,(BV) vzlog buffer
;tmpbuf,2,3,4,
;schstr,rplstr
;===make title
&Sm(t,pm+2,2) t..1=' :',
t+=4, ;*** top adjust
;===shift branch
(k)?? {i-, >a}
;===buffer clear
:b (p==pr || p==pq..145 || p==pq..145+64)? n=64, ? n=80,
i-, (n){p.i-, i++,}
;===transfer
i-,
:a (i==73)? >c ;display 73 bytes
(p.i)? {t.i=p.i,} ? {t.i='・',} ;'E'!!★
i++, >a
;=== nul cut & disp
:c t-=4, ;*** top adjust
((t+77).0-,
&m("%s",t) .
00: t=3+$,."$[80]"
* P
1 "hdsp",4,15
"S PS"
"W PW"
"F PF"
"X PX"
"A PA"
"R PR"
"U PU"
"B B1"
"V B2"
"1 T1"
"2 T2"
"3 T3"
"4 T4"
"5 SC"
"6 RP"
*そこまでやるなら,スタックもいかがですか?
高橋版以降ならものすごく簡単に書けますよ。
スタックの最初のアイテムをどこでも出力するサンプル(名無し)
#if 0
全天候型スタック1行出力
#endif
* mad for vz!
1 ^^ ""
a=pn..-26, ;tmpbuf4
(kp)??. ;スタックは空か?
dz[=kz,
l=kp..-1, ;l:length
t=kp-3-l, ;t:top
dz],
(l>80)?l80, ;サイズ制限
&Sp(a,"%*Fs",l,t,kz) ;サイズ分転送
&Sf(a,$0d) r..0-, ;行末を終端にする
&?("%s",a)
.
文字数制限しているところに漢字の1バイトがぶつかって泣き別れになると,
ヌルとセットで出力されるため工夫が必要ですが,その工夫の部分というのは
個々の感性に依存すると思うので書きませんでした。そもそも制限が80字とは
バッファに対して短すぎますけど。
> キャー(>_<) −−実は無害だったのだけど。
気づくだけ凄い。わたしは実行しても気づかなかった。
ヌル潰しのところなのですね。
> (p.i)? {t.i=p.i,} ? {t.i='・',} ;'E'!!★
掲示板の仕様で半角カナが使えない場合は,値で書いてもいいですね。
t.i=$a5, でよいかと。
> "U PU"
ここが気になるようになったら,マクロおたくまっしぐら。(笑)めざらさん> そこまでやるなら,スタックもいかがですか?削除バッファも? いえ、これらは違うのです。 ヌル区切りでないというより (データ構造の違い)、使う人の頭のなかで違う位相に属しているのです。 変わるかもしれませんけれど。とはいえ、削除バッファをファイラでメニュー するかなぁ…。大変そうで、やる価値があるとも思えないけど…。> 高橋版以降ならものすごく簡単に書けますよ。2月ぐらい前に知りました。椅子から転げ落ちそうになるくらい驚いた。異セ グコピーがサポートされてんじゃん、と。ただ、ascii 文字列対象なんですよね。 異セグ対応 memcopy ではなかった…。それで、やっぱり movsb。> スタックの最初のアイテムをどこでも出力するサンプル(名無し)ありがとうございます。いつか、テキストスタックにも目覚めるか…。 削除バッファ、というか一語削除・移動は、お陰様で目が覚めました。使うか、 使い道があるか、は別の話ですけれど。4つの矢印カーソルに慣れてしまってい て…。(ここでは変ですが)方向ビットを反転させるとカーソル位置が変わると いうのは、新たな知識でした。m(__)m> そもそも制限が80字とはバッファに対して短すぎますけど。これもあるますし、ファイラでテキストスタックや削除バッファ見ないでしょ う。 メニューは完備してますし。 delbuf.def, jenga.def, stkmenut.def, history.def、仕様にもインターフェイスにも何にも、文句まったくありません。 m(__)m> "> キャー(>_<) −−実は無害だったのだけど。"> 気づくだけ凄い。わたしは実行しても気づかなかった。> ヌル潰しのところなのですね。無意味なルーチンだったので、気づかないです、はい。> 掲示板の仕様で半角カナが使えない場合は,値で書いてもいいですね。> t.i=$a5, でよいかと。これはありがたい。こういう風には頭が回らないのです。> "> "U PU""> ここが気になるようになったら,マクロおたくまっしぐら。(笑)いえいえ、節度あるマクロイドです。誰がどう使っているのか、いちおう知り たいだけ。tmpbufs も。
まぁ,すべて好みですから気が向いたらということで。
ところで,忘れていたのですが,似たようなものをわたしも作ってました。
「似ている」わけではないのかなぁ。
= GetBuffs v0.14 = by H_ear
#if 0
スタックや他のヒストリーバッファの先頭文字列を出力
編集テキスト,入力窓,コマンドラインで使用可能
ブロックタイプは文字ブロックのみ
#endif
* mad for vz!
1 ^IG "" (s>2)?. ;入力窓などでも使用可能
(s || mr-$80)??. ;ビューモードでは出力しない
(ks&1)?{ r-, >k } ;シフト実行 stk
!01 (r<0)?. ;転送元を選択
:k p[, (r)??{ &01 ??>z r-, } ;スタックは特別処理
(r) &> p=r, &s &?("%s",p) ;出力
:z #? p], . ;#0.12 &d -> #?
00: ; ---- get from buffers ----
>?{ (pq..149) (ps) (pw) (pf) (pa) (px) (pr) (pt) }
01: ; ---- get from text stack ----
(kp)??.
&Bm
(r || r-2)??{ ;ブロックタイプをは1行と文字ブロック
&m("Type error") . ;行ブロックと矩形ブロックは対象外
}
dz[=kz, r=kp..-1, p=kp-3-r, dz],;スタック先頭アイテムのサイズを取得
(r>250)?{ &m("Size error") . } ;tmpbuf4のサイズを超過しない
(p)?{ &Sp(pq..149,"%*Fs",r,p,kz) } ;高橋版VZに依存
?{
i-,
(r){
dz[=kz, r=p.i, dz],
pq..149.i=r, i++,
}
pq..149.i-,
}
r=pq..149,
(-1){
&SF(r,$0d) ;すべての改行を逐一変換
(r)?r..0='n\', ?{}
}
(1)
* popup menu
1 "GetBuffers",12,8
"stacK" "pS" "pW" "pF" "pA" "pX" "pR" "pT"
*
[Variables]
[p] ptr
[Buffers]
ps, et al.
[History]
2005/02/05 0.10 初版
2005/02/06 0.11 シフト実行でメニューを出さずにスタックの出力
2005/02/28 0.12 入力窓では&dで再表示不可だった
2005/02/28 0.13 1行ブロックも出力する(行末は\n)
2006/01/21 0.14 高橋版の書式制御%Fのバグ?に対応
[Notes]
スタックにひとつだけアイテムがある場合に出力できない??
どうやら高橋版の書式制御%Fはオフセットが0だとヌルを出力してしまうようだ
ネーミングは漫画のゲットバッカーズを真似たんじゃなかったかと。(^^;めざらさん> まぁ,すべて好みですから気が向いたらということで。可愛くなくて面白くない奴ですいません。 それでも、なぜ自分はテキストスタックと削除バッファをヒストリーとまった く別扱いとしてVzを操作してきたのだろうとは、けっこう長々考えています。 慣れ、なのかな、単に。ヒストリーバッファなんて言葉を知る前からそうだった ふしがあるので、慣れでしょうね。それでも、めざら資源のどこかで「テキスト スタック文字列を検索ヒストリー窓に入れたいと思ったことがない人はいないで しょう」的趣旨の文章を読んだとき、軽いショックを受けた記憶があります。そ、 そんなこと、あ、ありませんよぉ、と思った。けっこう深く古いですね。 (ここでは関係ありませんが)一語移動と削除関連コマンドの動きは了解でき ました。英語な人とプログラマ仕様なのですね。ちょっとはプログラミングもど きしてるのだから、使えよな、と少し思っています。 かんじ漢字 漢字かんじ これで一語移動場所が違うのは、c.mos さんのほとんど冗談でしょう。高千穂 さんとかなら、使うのかな? ある意味、space に全角スペースが含まれている のは、いいの、って感じてます。ま、プログラミング途中に全角カッコを入れる 間違いは、たぶん、ほとんどしたことがないので、まいいのか、とは思いますけ れど。> ところで,忘れていたのですが,似たようなものをわたしも作ってました。> 「似ている」わけではないのかなぁ。似てなくもないです(笑)。ダンプして出力してもいいかな、意味ある? と か思ってました。出力なら、= GetBuffs v0.14 = by H_ear的になりますね。そう そう、(pt) ^KTですね。ありました、ありました。昨晩、追加してました。使っ てない64バイトみっけ。でも、タイトルサーチはけっこう便利ですね、好き。 Vz使えてないのがバレバレですが、#F "\x ^"を指でちょっちゅうやってました。 しかし、あのマクロ、見るだけでなくて、使いものになる機能ないのかよと探 ってますが、Vzって基本仕様が相当よくできてるから、あのマクロはほんと、 vzlog buffer と pa,pr, pu,tmpbufs 眺め用ですね。こいつらを出力してもしょ うがない。 でも、GetBuffs、コードが綺麗。美しい。"Practical C"でコーディング・スタ イルに気をつかうように少しずつなってます。変な本。突然、配列が出てきて、 びっくり。うとうとしてたか、俺、とか。文字列が配列ですから、ま、いいのか。 追伸:MSゴシックにしたら、見たことない光景みてしまった。普通はやっぱラスタ なのか。行ブロックしてみてください。変な光景。
> そ、そんなこと、あ、ありませんよぉ、と思った。けっこう深く古いですね。
> 似てなくもないです(笑)。
> でも、GetBuffs、コードが綺麗。美しい。
> 行ブロックしてみてください。変な光景。
めざらさん> 改行を含んだブロックは行末で切れちゃうじゃないですか。そんなとき,> スタックから ps に欲しい! って渇望していたなるほど。しかしそういう風に改行を含んだ検索文字列の設定自体への必要場 面が、どうも。一つには、僕がグレップのように行指向であるということにより そう。改行文字を入れた検索は、行頭か行末に改行がある場合がほとんどみたい です。> 各バッファの先頭文字列を全部表示,削除バッファもプロパティの同じものを> まとめる方向で。プロパティ? ですか? テキストスタックのこと? ま、見てのお楽しみとい うことで。> バッファの名称だけ出しても,何が入っているか見えないのでは不安ですよね。メニューですか。 是非是非。 これは全天候型だとかなり有用そうですね。pa とか pr とか。おいおい。でも是非。個々にはやれても、そういう総合型は有用 です、間違いなく。
でがらしさん、ご無沙汰です。> そうなら、私が希望していたマクロでした。英辞郎を引くマクロ> をよく使っていますが、これが通常の検索用の変数と違うマクロを> 使っていて、他の画面で簡単に出てこないことがあるんです。これ> は文太さんに作ってもらったマクロだったと思いますが。どんなマクロだったのやらですが、僕の奴には普通の意味で実用性 はありません。めざらさんのものは現在形でも実用性があります。試 される価値はあると思います。もうすぐもっと実用性の高いのが登場 する予定です。 「他の画面で簡単に出てこない」? バッファを汚さないようにす り替えているのかな? 英辞郎用マクロのサンプルを作った記憶はあ りますが…。たぶん、pwをつかっているのかな。psで出てこない、と いうことなら、改造が必要です。それの改造が必要ならマクロを貼っ てしまってください。そして「こうしたい」と書いてくれれば簡単で しょう。
> そうなら、私が希望していたマクロでした。英辞郎を引くマクロ> をよく使っていますが、これが通常の検索用の変数と違うマクロを> 使っていて、他の画面で簡単に出てこないことがあるんです。おお,まさしくそういう使い方をするためのマクロを製作中ですので, まだ試作段階で削除文字バッファが未対応ですけれど, でがらしさんに捧げましょう。 出力部分はまだ &m() にしてありますが, コメント記号';'を付け替えればカーソル位置への出力もできます。 何が起こるかわからないので注意してください,ってフリーウェアは みなそうですけどね。 編集モード,一行入力窓,コマンドラインでの起動を想定しています。 参照するバッファの内容は弄らないので特定の一時バッファ(tmpbuf4) 以外なら大抵のバッファの内容を表示・出力するよう改造することも簡単です。 なお,先頭がヌル(空)のバッファは表示もしません。 ただし,高橋版以降に依存していますので,製品版などで実行しないでください。 また,ラインバッファのアドレスが確定していない起動直後は実行できません。 = BufsMenu = by H_ear #if 0 各種バッファ一覧表示メニュー(まだ試作版 v0.09) 高橋版以降に依存 #endif * mad for vz! 1 ^\ "" (s)??#] ;lbufを解放 (q=wm+230)??. ;起動直後不可 p=q=q+300, ;p,q: lbuf t=pn..-26, ;t: tmpbuf4(256) i=9, ;i: items w=72, ;w: menu width ; (stack) (ps) (pw) (pf) (pa) (px) (pr) (pt) (pu) ;(del) &03 i-=r, ;stack r=ps, &> r=pw, &> r=pf, &> r=pa, &> r=px, &> r=pr, &> r=pt, &> r=pu, &> p=q=q-(i*2+20+9), ;バッファ先頭を再設定 title(8+1) &02 &Sm(p,r,20) ;擬似マクロをセット p+=20, (i*2){ p.0-, p++, } ;タイトル+アイテム数のパラメタコード &Sc(p,"BufsMenu") p=r+1, ;メニューのタイトル (8+1) q.16=w, ;メニューの表示幅 q.17=i-1, ;アイテム数(タイトル分を引く) q.19=0, ;カーソル位置(参照型-1) WL[-, rr[=q, &* rr], WL], (r<0)?. :p ;&?("%s",pm) &m("%s",pm) :z ; ---- exit ---- ;&d #] . 00: ; ---- bufs > tmpbuf4 > lbuf ---- ; <-- r:buf addr (buffs) ; p:target addr ; --> p:target addr (updated) (r.0)??{ i--, . } ;文字列がなければ省略 &Sc(t,r,255) &> &Sc(p,t) p=r+1, 01: ; ---- tab2chr ---- ; r=t, :d &SF(r,9) (r)?(r.0=$1E,>d) ;TABを'→'に変換 r=t, :d &SF(r,9) (r)?(r.0='>',>d) ;TABをSPCに変換 02: (3+$)."$(1,a,0,ff,ff,0)!01(r)$(0,e1,c0,0,4C,1)" ; 0,0 03: ; ---- get from text stack ---- ; --> 0: ok ; 1: no item in stack (kp)??{ (1) . } &Bm ;Safty ; (r || r-2)??{ ;ブロックタイプをは1行と文字ブロック ; &m("Type error") . ;行ブロックと矩形ブロックは対象外 ; } dz[=kz, r=kp..-1, l=kp-3-r, dz],;スタック先頭アイテムのサイズを取得 (r>256)?r256, ;tmpbuf4のサイズを超過しない (l)?{&Sp(t,"%*Fs",r,l,kz)} ;高橋版VZに依存 ?{ j-, (r){ dz[=kz, r=l.j, dz], t.j=r, j++, } t.j-, } r=t, (-1){ &SF(r,$0d) ;すべての改行を逐一変換 (r)?r..0='n\', ?{} } &01 ;tab2chr &Sc(p,t) p=r+1, ;lbufへ (0) 04: ; ---- cbuf ---- * [Variables] [Buffers] [History] 2008/12/15 0.09 まだ試作版 [Notes]
あれ? でがらしさんが飛びつくのかと思っていたのだけど…。 >めざらさん、試させていただきました。メニューの先頭にどこのバッファな のか表示していただけませんか。プリントが主体だと出身地は関係ないですが、 せっかく一覧しているのだから、ほお、そっちにはあなた様がおられましたか、 と確認できたっていいですよね。一瞬、? となってしまった。起動直後なもの で、また掲示板のclppst経由だったので、似たものばっかり、と。pfとpxだった。 しかしpfにclppst.tmpが入るのはまずいよな…? なんとかすり替えられなかっ たの? なんて発見もあったりするわけです。つまんないことを気にしてるだけ、 という自覚はありますが。自作マクロでpaを見つけるとprに書き換えてます。
> メニューの先頭にどこのバッファなのか表示していただけませんか。
めざらさん> いえ,表示しません。これは仕様です。> もともと,いずれかのバッファにある文字列を出力するためのものなので,> バッファの追加などのメンテナンスも楽で途中を省略させていただきました。了解ですし、意図も完全に(?)読めました。
なんだかもう用がないかもしれませんが,削除バッファ対応したので,
一応あげておきます。[DEL]で1文字ずつ削除したものがまとめて表示された時に
前後関係が逆になるのは仕様です。編集モードでなくても #u は有効なので,
削除バッファは「おまけ」に過ぎませんから。
= BufsMenu 0.10 = by H_ear
#if 0
各種バッファ一覧表示メニュー
高橋版以降に依存(高橋版以外では実行させない)
#endif
* mad for vz!
1 ^\ "" (s)??#] ;lbufを解放
(q=wm+230)??. ;起動直後不可
dz[-=3, r=27.0, dz], (r-84)?. ;'T' :vzt03k
p=q=q+300, ;p,q: lbuf header(300)
t=pn..-26, ;t: tmpbuf4(256)
i=10, i++, ;i: items ++title
w=62, ;w: menu width
; (stack) (del) (ps) (pw) (pf) (pa) (px) (pr) (pt) (pu)
&03 i-=r, ;stack
&04 i-=r, ;del
r=ps, &> r=pw, &> r=pf, &> r=pa, &>
r=px, &> r=pr, &> r=pt, &> r=pu, &>
p=q=q-(i*2+20+9), ;バッファ先頭を再設定 title(8+1)
&02 &Sm(p,r,20) ;擬似マクロをセット
p+=20,
(i*2){ p.0-, p++, } ;タイトル+アイテム数のパラメタコード
&Sc(p,"BufsMenu") p=r+1, ;メニューのタイトル (8+1)
q.16=w, ;メニューの表示幅
q.17=i-1, ;アイテム数(タイトル分を引く)
q.19=0, ;カーソル位置(参照型-1)
WL[-, rr[=q, &* rr], WL],
(r<0)?.
:p &?("%s",pm) ;print
00: ; ---- bufs > tmpbuf4 > lbuf ----
; <-- r:buf addr (buffs)
; p:target addr
; --> p:target addr (updated)
(r.0)??{ i--, . } ;文字列がなければ省略
&Sc(t,r,255) &> &Sc(p,t) p=r+1,
01: ; ---- tab2chr ----
r=t, :d &SF(r,9)
(r)?(r.0='>',>d) ;TABを'>'に変換
; (r)?(r.0=' ',>d) ;TABをSPCに変換
; (r)?(r.0=$1E,>d) ;TABを'→'に変換
02: (3+$)."$(1,a,0,ff,ff,0)!01(r)$(0,e1,c0,0,48,1)" ; 0,0
03: ; ---- get from text stack ----
; --> r 0: ok
; 1: no item in stack
(kp)??{ (1) . }
&Bm ;Safty
dz[=kz, r=kp..-1, l=kp-3-r, dz],;スタック先頭アイテムのサイズを取得
(r>256)?r256, ;tmpbuf4のサイズを超過しない
(l)?{ &Sp(t,"%*Fs",r,l,kz)} ;高橋版VZに依存
?{ j-, (r){ dz[=kz, r=l.j, dz], t.j=r, j++, } t.j-, } ;非依存
r=t, (-1){ &SF(r,$0d) (r)?r..0='n\', ?{} } ;すべての改行を逐一変換
&01 ;tab2chr
&Sc(p,t) p=r+1, ;lbufへ
(0)
04: ; ---- cbuf ----
; --> r 0: ok
; 1: no item in cbuf
(pu-bc==mg..-3 || ((mg..-3)..-1)&$7fff>256)?{ (1) . }
u=t, ;u: updated ptr
a=mg..-3, ;a: addr cbuf end ptr
b=(a.-1)&$80, ;b: del property(back/forward)
:B (a>pu-bc)?{
c=(a..-1)&$7fff, ;c: chr(s) length
(u+c-t>256)?>c
a-=c+2,
&Sc(u,a,c) u=r,
}
((a.-1)&$80==b)?>B
:c &01 ;tab2chr
&Sc(p,t) p=r+1, ;lbufへ
(0)
*
[Variables]
p,q ptr(lbuf)
t tmp buf (tmpbuf4[256])
i items +1(title str)
w menu width
a addr: cbuf end ptr
u updated addr(cbuf)
b del property(back/forward)
c cbuf chr(s) length
[Buffers]
tmpbuf4(pn..-26) 256 bytes temp buf
[History]
2008/12/19 0.10 初版
[Notes]
削除バッファは面倒だのぉ〜
del系がメニューの中で逆転するのは仕様である> このマクロ、気に入りました。
いちおう報告しておきますね。正直、ちょっと気が重いけど…。意味が想像で
きなくはないので…。
dz[-=3, r=27.0, dz], (r-84)?. ;'T'==84==54h :vzt03k
上が通りませんでした。でも、このヴァージョン・チェックって割と古くから
されてますよね。 高橋版以降変遷があったとしても。でも、dz からの相対アド
レスが変わらなくちゃいけないのでしょうか?
VZT COM 60888 99-12-21 19:19
約9年前にこのあたりは固まったとするように皆で連絡取り合って協力するっ
てわけにはいかないわけなのでしょうか。m(__)m
金野版(vzk08q1)
dz==2AD0h
0002ACB0 2D 39 33 20 62 79 20 63-2E 6D 6F 73 0D 0A 20 61 |-93 by c.mos.. a
0002ACC0 72 72 61 6E 67 65 64 20-62 79 20 48 2E 54 61 6B |rranged by H.Tak
0002ACD0 61 68 61 73 68 69 09 2B-20 48 2E 4B 6F 6E 6E 6F |ahashi.+ H.Konno
0002ACE0 0D 0A 20 69 6E 63 6C 75-64 69 6E 67 20 44 41 4E |.. including DAN
0002ACF0 4E 59 27 73 20 66 69 6C-65 72 0D 0A 24 00 36 30 |NY's filer..$.60
高橋版
dz==2A33h
dump -s256 -mx2A30
0002A300 33 20 62 79 20 63 2E 6D-6F 73 0D 0A 20 61 72 72 |3 by c.mos.. arr
0002A310 61 6E 67 65 64 20 62 79-20 48 2E 54 61 6B 61 68 |anged by H.Takah
0002A320 61 73 68 69 0D 0A 24 00-D1 FE CE FE CA 0A C0 78 |ashi..$.ム.ホ.ハ.タx
0002A330 CD 20 FF 9F 00 9A F0 FE-1D F0 DE 01 53 1A 4B 01 |ヘ ...夸...S.K.
0002A340 53 1A 56 01 53 1A 53 1A-01 01 01 00 02 FF FF FF |S.V.S.S.........
アイドルなしに戻るか、こういういわゆる「邪悪」なやり方は一切やめるべき
か。ただ、(まだまったく使えてませんが)和生さんのプロシージャマップとか
も検算しなおさなくちゃなわけですよね。ふう。過去ログの意味を解析するのに、
そのたびに高橋版を立ち上げると…。うう。(感謝の気持ちがわき上がるからよ
いではないか。歴史を実感しながら毎日が送れる>文太)
僕はXP以外でVzしたくはないのですよ、基本的に。じゃ、Vzしながらイ
ンターネットするな、なのかな。うう。(T-T)文太さん、こんにちは。 なんとなく、とても大きな問題なのかな?という雰囲気はするのですが、 Vzを使いこなせていない私には、なんのことやらさっぱり分かりません。 私の場合、「アイドルあり」となりDOS窓Vzでとても助かってます。こ のバージョンチェックって何のために必要なのでしょうか? 現状で何も困っていない私には、ちんぷんかんぷんです。おそらく、私の Vzの使い方では、今後も困ることがないのではないかと思います。ですか ら、私などが口を挟むべき問題ではないのかもしれませんが、「アイドルな しに戻るか・・」などという発言があったので、気になってしまいました。
あきろさん、 心配させてしまったようでごめんなさい。 まったく気にする必要はありませんよ、現実的・短期的には。アイドルに問題 があるわけでもまったくありません。ただ長期的にみると僕には問題があるよう な気がしただけです。> Vzを使いこなせていない私には、なんのことやらさっぱり分かりません。あきろさんが使いこなせてない?! スーパーユーザですよ、あきろさんは。> 私の場合、「アイドルあり」となりDOS窓Vzでとても助かってます。はい、僕もです。 モバでも意味なく同じ版です。vz.com の使い分けなんて実 用ではできないもの…。> バージョンチェックって何のために必要なのでしょうか?実は、閉じた環境では(=ユーザが高橋版以降を使っていて、それを知ってい れば)必要ないのです。ただ、そうでないかもしれない相手を想定すると、先回 りしてしまうだけなんですよ。「動かない」と言われると色々原因を考えなくて はならなくなるので。> 現状で何も困っていない私には、ちんぷんかんぷんです。どこまで説明したらいいのでしょう。 繰り返しですが、あきろさんが m.gann さんのパッチ当てや高橋さんのパッチ 当てに興味を持たなければ困ることはありません。パッチ当てというのは、Vz のコード・セグメントを書き換えることなんですよ。 そうですね、vz.com が進化するとコード・セグメントの内部が当然変わるの です。そんなところは本当のVzのお腹の中なので、普通触るべきところではな いんですよ。これが dz と呼ばれるセグメントの前です。 dz[-=3, ほら、データ・セグメントの前、ま見るだけなら問題のないところを、見よう としてるでしょ。 ただ、…。 問題なしです。m(__)m
とりあえず逃げでこちらにぶらさげておきます。
もちろん狭義の技術的な意味では金野さんのブロック if 文が正しいのでしょ
うが、この「事件」の本当に意味するところは…。ただ、自明なことが自明にな
っただけだと思うけど…。文太は馬鹿であるという紛れもない真実。
そして、こんなことできるんだ、と喜ぶ文太。
&m("%Fs",ve,vz)
ただ、考えてみるにマクロ師が泣いて喜ぶ拡張というのはなかったのかなぁ、
という疑問は今回も復活後、何度も思いました。m(__)m
「vz.comで返します」って金野さん和生さんに言ってましたよね。文太さん、こんばんは。田舎暮しのせいなのか、今年はクリスマスの音楽が あまり聞こえてこなかったように思います。都会ではどうなんだろうか。 …あ、夜分に失礼します。m(._.)m 文太さんの、引っ掛かるお気持ちは、私ごときには察することはできません が、ブラックボックスの中身をごそごそといじれば、場所にずれが生じるの はしょうがないように、私などは思ってしまいます。> ただ、考えてみるにマクロ師が泣いて喜ぶ拡張というのはなかったのか> なぁ、マクロのためというのは副次的なもので、DOS窓Vzに対応するために、 Vzが拡張?されていたのではないかと、私は思っているのですが、違うの かなあ?
> マクロのためというのは副次的なもので、DOS窓Vzに対応するために、> Vzが拡張?されていたのではないかと、私は思っているのですが、違うの> かなあ?あ、見落としていてレスの順番が。これは僕の金野版について、そしてマクロ 師が金野版を使ってくれないからバグ出しが進まないじゃないか、進化しないじ ゃないか、というむにゃむにゃについてのコメントですね。はい、あきろさんと 同じように捉えています。でも、それじゃ、進化しないじゃないのぉ、と思って いるわけです。ごおつくばりなのです。m(__)m
> マクロ師が金野版を使ってくれないからバグ出しが進まないじゃないか
めざらさん> 言い訳というか,愚痴ともつかない話になってしまいましたけど。了解、了解。それぞれの使い方、作り方、遊び方ですね。Vzもここまできた んだし。言ってもしょうがないことを言ったものです。揚げ足をとったようで申 し訳ありませんでした。 ぜんぜん脈絡なしですが、今年も色々とお世話になりました。皆さま、よいお 年を。
> ただ、考えてみるにマクロ師が泣いて喜ぶ拡張というのはなかったのかなぁ、
> という疑問は今回も復活後、何度も思いました。m(__)m
> それって高橋版のことですか?> 山のようにありますよ。> 高橋さんはマクロ師として,マクロ師のための拡張である tVZ を作った。はい。間違いなく。過去ログを読んでいても高橋さんに教えてもらっている ことは数限りなく…。尊敬度・感謝度は毎日上がり続けています。 コミュニケイションというのは難しいですね。
> コミュニケイションというのは難しいですね。
> 私の場合、「アイドルあり」となりDOS窓Vzでとても助かってます。こ
> のバージョンチェックって何のために必要なのでしょうか?
めざらさん、文太さん、あきろさん、 高橋版以降のチェックだったら、 #ifn tVZ . #endif をはさむだけでいいと思いますよ。あのルーチンは過渡期のものでしょう。 というか、すでに上記の機能があったのになぜああいうルーチンをひねり 出すのかが理解できません。> これ,一番詳しいのは当の今野さんでしょうけれど。あのう〜、このルーチン、全然読めないんでよろしかったらどなたか 解説お願いします。(^^;
> Konnoさん お呼び立てして申し訳ありません> #ifn tVZあ,そこのシンボルは互換なのですね。 どうも感覚がとことんずれているようで,内部の起動時メッセージのアドレ スが固定で, 指している先が最初の t…つまり Version 1.60t←この t だと 思い込んでいました。ここなら変わらないなと。(^^;タコ 文太さんのご指摘後,いろいろメモリをダンプしてみると,全く違うことが 判明。さらに先の H.T←の T でした。これじゃ絶対ずれてますね。> 解説お願いします。(^^;参ったなぁ。一目でおわかりでしょ? 他の人へも向けて解説というか釈明しておきます。 dz[-=3, ;スタックセグメントのちょっと前へ移動 r=27.0, ;そこから27バイト先の文字を記憶 dz], ;戻す (r-84)?. ;その文字が'T'でないなら終了 おそまつでした。
高橋版依存だけというのもナニなので,v1.60以降の版すべてに対応しました。
最初から素直にやればよかったと反省しております。
----------^ BUFSMENU.DEF ( date:2008-12-26 time:18:00 ) ----< cut here
= BufsMenu 0.20 = by H_ear
#if 0
各種バッファ一覧表示メニュー
#endif
* mad for vz!
1 ^KM "" (s)??#] ;lbufを解放
(q=wm+230)??. ;起動直後不可
;; dz[-=3, r=27.0, dz], (r-84)?. ;'T' :vzt03k only. #.10
#if tVZ
v+, ;v: tVZ flag
#else
v-,
#endif
p=q=q+300, ;p,q: lbuf header(300)
t=pn..-26, ;t: tmpbuf4(256)
i=10, i++, ;i: items ++title
w=62, ;w: menu width
; (stack) (del) (ps) (pw) (pf) (pa) (px) (pr) (pt) (pu)
&03 i-=r, ;stack
&04 i-=r, ;del
r=ps, &> r=pw, &> r=pf, &> r=pa, &>
r=px, &> r=pr, &> r=pt, &> r=pu, &>
p=q=q-(i*2+20+9), ;バッファ先頭を再設定 title(8+1)
&02 &Sm(p,r,20) ;擬似マクロをセット
p+=20,
(i*2){ p.0-, p++, } ;タイトル+アイテム数のパラメタコード
&Sc(p,"BufsMenu") p=r+1, ;メニューのタイトル (8+1)
q.16=w, ;メニューの表示幅
q.17=i-1, ;アイテム数(タイトル分を引く)
q.19=0, ;カーソル位置(参照型-1)
WL[-, rr[=q, &* rr], WL],
(r<0)?.
:p &?("%s",pm) ;print
00: ; ---- bufs > tmpbuf4 > lbuf ----
; <-- r:buf addr (buffs)
; p:target addr
; --> p:target addr (updated)
(r.0)??{ i--, . } ;文字列がなければ省略
&Sc(t,r,255) &> &Sc(p,t) p=r+1,
01: ; ---- tab2chr ----
r=t, :d &SF(r,9)
(r)?(r.0='>',>d) ;TABを'>'に変換
; (r)?(r.0=' ',>d) ;TABをSPCに変換
; (r)?(r.0=$1E,>d) ;TABを'→'に変換
02: (3+$)."$(1,a,0,ff,ff,0)!01(r)$(0,e1,c0,0,48,1)" ; 0,0
03: ; ---- get from text stack ----
; --> r 0: ok
; 1: no item in stack
(kp)??{ (1) . }
&Bm ;Safty
dz[=kz, r=kp..-1, l=kp-3-r, dz],;スタック先頭アイテムのサイズを取得
(r>256)?r256, ;tmpbuf4のサイズを超過しない
(l&&v)?{ &Sp(t,"%*Fs",r,l,kz)} ;高橋版VZに依存(printf)
?{ j-, (r){ dz[=kz, r=l.j, dz], t.j=r, j++, } t.j-, } ;非依存
r=t, (-1){ &SF(r,$0d) (r)?r..0='n\', ?{} } ;すべての改行を逐一変換
&01 ;tab2chr
&Sc(p,t) p=r+1, ;lbufへ
(0)
04: ; ---- cbuf ----
; --> r 0: ok
; 1: no item in cbuf
(pu-bc==mg..-3 || ((mg..-3)..-1)&$7fff>256)?{ (1) . }
u=t, ;u: updated ptr
a=mg..-3, ;a: addr cbuf end ptr
b=(a.-1)&$80, ;b: del property(back/forward)
:B (a>pu-bc)?{
c=(a..-1)&$7fff, ;c: chr(s) length
(u+c-t>256)?>c
a-=c+2,
&Sc(u,a,c) u=r,
}
((a.-1)&$80==b)?>B
:c &01 ;tab2chr
&Sc(p,t) p=r+1, ;lbufへ
(0)
*
[Variables]
p,q ptr(lbuf)
t tmp buf (tmpbuf4[256])
i items +1(title str)
w menu width
a addr: cbuf end ptr
u updated addr(cbuf)
b del property(back/forward)
c cbuf chr(s) length
v tVZ flag
[Buffers]
tmpbuf4(pn..-26) 256 bytes temp buf
[History]
2008/12/19 0.10 初版(高橋版T03k2依存,何と金野版にも非対応)
2008/12/26 0.20 製品版に対応,もちろん金野版に対応
[Notes]
削除バッファは面倒だのぉ〜
del系がメニューの中で逆転するのは仕様である
tVZ*以降*判別のつもりが特定の版に依存することが判明 Thanks to Bunta and Konno
メモリ管理に関する無知を露呈
----------$ BUFSMENU.DEF ( lines:101 ) ---------------------< cut hereううーん、まだ削除バッファが出ないようなのですが…。 振られても困るしと思って前回見送ってしまったのですが。m(__)m いっぱい勉強させていただきます。
> ううーん、まだ削除バッファが出ないようなのですが…。
> 振られても困るしと思って前回見送ってしまったのですが。m(__)m
> おいおい。わたしが振るような人間に見え…たのですね。(^^;いえいえ、振るというか試すというか…。試験するというかテストするという か…。(^^; ゞ bufsmenu.def、完動状態にあるようです。(^^)v (閑話休題)キーボートマクロの偉大さに目覚めて、vz.def から上位互換・ 拡張マクロをいくつか追い出すかぁ、とまたまた(Vz始めてから4度目?)思 っているところです。
> 他の人へも向けて解説というか釈明しておきます。
> dz[-=3, ;スタックセグメントのちょっと前へ移動
> r=27.0, ;そこから27バイト先の文字を記憶
> 試してみました。使い方、わかりません。
でがらしさん
(1)history.def by m.gann を使いましょう。必要なときに ^QF でバッフ
ァをずらして pw の文字列を探して検索文字列セット完了。これがいちばんいい
と思う。応用範囲もとても広い。Vzでよかった、と思うと思う。
(2)めざらさんの新作の完成を待つ。テキストスタックや削除バッファにも
対応する! これも応用範囲ひろし。^QFの窓で欲しい文字列をペースト。どこ
のバッファかなんて気にする必要なし。
(3)どのヒストリーバッファからでも(中身みたいとシフトで一回見る回り
道をするしかありませんが)どこへでもと非常識なまでにマニアックなことをお
望みなら histcopy.def 。以下。別思想なので(笑&汗)、あははははもの。バ
ッファの勉強になる、エッヘン。要らない!
(4)その辞書引きマクロに以下を追加して、自動でいつも pw->ps 転送を行
なう(ps が汚れるよ)。やはりマクロイドとして勧められない。history.defを
常用すると、こんなの許せなくなる。
(q>=16 && q<=25)? {a="QZ", >a}
&Sh(ps,pw) ;☆
:a
--------------------------------------------------------------------------
=== Histcopy.def ===;
空の場合や長さのチェックはしていない。ちゃんと確認して行うこと。
シフト(起動時&メニュー内):デモ。メッセージラインの2つのバッファの状態
を表示。dst側は意味なし(ま、中が覗けます)。
* Macro
50 ^OH "histcopy"
(s>2)?. ;窓とコマンドラインまで許す。
k=ks&1,
sc[+,
!01 (r<0) ?.
(ks&1)? k+,
sc],
(r)>?{ ;☆メニュー連動
(p=pw,q=ps) (p=pf,q=ps) (p=px,q=ps) (p=pa,q=ps)
(p=pr,q=ps) (p=ps,q=pw) (p=ps,q=pf) (p=ps,q=pa)
(p=ps,q=pr) (p=ps,q=px) (p=pw,q=px) (p=px,q=pw)
}
(k)? >a
; --- normal: histcopy
&Sh(p,q)
&e(pm+8)
&m("%s copy, OK. $"%60s$" ", pm+2,r) .
:a ; --- shift: display both strings, src & dst
&m("%2s:%32s ==>> %2s:%32s",pm+2,q,pm+8,p) .
* P
1 "histcopy",12,12 ;☆順序を変えたら上も
"W ps -> pw"
"F ps -> pf"
"X ps -> px"
"A ps -> pa" ;
"R ps -> pr"
"1 pw -> ps"
"2 pf -> ps"
"3 pa -> ps" ;
"4 pr -> ps"
"5 px -> ps"
"Y px -> pw"
"Z pw -> px" ;
*これはいけない。
; sc[+,
; !01 (r<0) ?.
; (ks&1)? k+,
; sc],
sc[+,
!01 (r<0)? {sc],.}
(ks&1)? k+,
sc],sc[+, !01 sc], (r<0) ?. こっちが好き。うん、これは、まったくその通りでした。m(__)m 最初のを上げた後、やばやば、でももうちょい何とかならんのかと、ディスプ レイの前で考えたのに出てきませんでした。多謝です。m(__)m じつは前にも一度ご指摘いただきました。m(__)m ただローカルから返ると きには、無駄でも明示的に (0),(1) するのが好き。 あ、もちろん、これも榊原・高橋連係プレー。
> ァをずらして pw の文字列を探して検索文字列セット完了という部分がわかりません。^QFって、VZの元のものですか? 大分、vz.defをいじっていて、QFというのが見当たりません。
でがらしさん 情報、多すぎだね。結局、短期的には有用なのは1つなのに。 でも、まず試そう! history.defを使い切れてないともったいないよ。 夜か明日に続き。
でがらしさん 僕が^QF(標準キー)と書いたのは、古いでがらしさんのvz.defでは、 55 ^OF [F06] :検索文字列の設定 に当たるキー(コマンド)のことです。 また「バッファをずらす」というのは、history.defで、←→する操作 のことです。
でがらしさん えーと、でがらしさんは自分が何をやりたいのか把握してますでしょうか。> history.defを起動する前に^OFを起動すれば1行入力画面になります。> そこでhistory.defを起動するってことですか?はい、そうです。やってみましょう。 そこでやれることが自分がやりたいことと違った場合、僕のでがらしさん理解 が間違っていたことになります。その場合リクエストをもう一度書いてみてくだ さい。 過剰サービスだと思うけど先回りしてしまいますね。僕はでがらしさんが再検索 をしたいのだと思っています。先ほど引いた単語を検索文字列として。で、再検索 はVzの^OFでしたい、なぜなら対象が目の前にファイルとしてあるから。きっと 結果のファイル? 辞書引きで使っているバッファはpwが示すバッファです。Vzが検索に使うのは ps。なので、pw->psの文字列転送が必要なのだろうと思い、^OF -> history.def -> pwの文字列の貼り付け、Vzで検索という手順になるのだろうと思っています。 万が一、辞書引きマクロでもう一回なら、窓で↑で出ます。
あ、これはいかん(謎)