xyzzyの使い方が分か ..
[2ch|▼Menu]
159:名無しさん@お腹いっぱい。
07/11/27 05:52:35 qHIOEO6N0
copy-to-clipboard に kill-new を引っかけたり、
適当なタイミングで >>150 みたいなのを呼ぶようにしたりして
kill-ring とクリップボードを完全同期にして使ってるのは俺だけかね。
まあ各自使いやすいスタイルで使えば良いと思うけどさ。

160:名無しさん@お腹いっぱい。
07/11/27 12:01:40 NNiH/VWr0
同期しないで別々に使ってる。
xyzzy の中だけならほとんど kill-ring しか使わない。
たまにしばらく取っておきたい文字列があるとレジスタに。

161:名無しさん@お腹いっぱい。
07/11/27 13:29:13 d7SGse2I0
レジスタ = クリップボード?

162:名無しさん@お腹いっぱい。
07/11/27 13:44:30 CCKsojsL0
レジスタ
URLリンク(www2.ocn.ne.jp)

163:名無しさん@お腹いっぱい。
07/11/27 21:24:07 OKniN1l/0
unix脳になってしまいそう

164:名無しさん@お腹いっぱい。
07/11/28 04:58:49 qHQSBq/J0
お国に I/O

165:名無しさん@お腹いっぱい。
07/11/30 15:24:31 24A0/Nxi0
2ch-modeのスレ表示時、選択範囲にある複数のURLを
全てブラウザに送るなんて都合のいい機能ないですか

166:名無しさん@お腹いっぱい。
07/11/30 16:08:24 uVEELOnE0
こんなの?

(defun open-browser-all ()
(interactive)
(save-excursion
(save-restriction
(selection-start-end (start end)
(narrow-to-region start end)
(goto-char (point-min))
(while (scan-buffer "h?ttps?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+" :regexp t :tail t)
(2ch::thread-open-browser))))))


167:名無しさん@お腹いっぱい。
07/11/30 16:13:35 uVEELOnE0
間違えた。
thread-open-browser じゃURL開けないてば。

(defun open-browser-all ()
(interactive)
(save-excursion
(save-restriction
(selection-start-end (start end)
(narrow-to-region start end)
(goto-char (point-min))
(while (scan-buffer "h?ttps?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+" :regexp t :tail t)
(save-excursion (backward-char)
(2ch::thread-jump)))))))


168:名無しさん@お腹いっぱい。
07/11/30 17:46:36 yrWLiMct0
>>167
できました!ありがとうございます。

選択範囲と言っといてなんなんですが
リージョンで同じことするときは
(selection-start-end (start end)
(narrow-to-region start end)
の二行を
(narrow-to-region (mark) (point))
に置き換える、で合ってるでしょうか。

169:名無しさん@お腹いっぱい。
07/12/02 17:43:05 ++JYDaAU0
>>168
(defun f (from to)
(interactive "r")
(save-excursion
(save-restriction
(narrow-to-region from to)
(goto-char (point-min))
(while (scan-buffer "h?ttps?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+" :regexp t :tail t)
(save-excursion (backward-char)
(2ch::thread-jump)))))))

170:168
07/12/03 22:24:42 J44c04NW0
(interacive "r")でリージョンのマーク位置とポイント位置を引数に渡せる…と。
ども。いただきます。

171:名無しさん@お腹いっぱい。
07/12/07 12:18:38 apSI9g0c0
矩形選択範囲をupcase-selectionしたかったんですが
普通に矩形選択してコマンド打ってもダメでした。
これはできないもんなんでしょうか?

172:名無しさん@お腹いっぱい。
07/12/07 18:53:02 nvzdmXo+0
できないかも。
矩形のヤツは自分で色々増やしてるけど
全く使わないので確かな話じゃないけど。

173:名無しさん@お腹いっぱい。
07/12/07 19:28:03 ECpn8uD50
*rectangle-kill-buffer*をstring-upcaseかな
続きはrectangl.lで

174:名無しさん@お腹いっぱい。
07/12/07 21:04:58 oOiAbzxk0
練習問題のつもりで>>173のやりかたで作ってみた。
矩形使わないんでいつもちゃんと動くかは知らん。

(defun upcase-rectangle-selection (from to)
(interactive "*R")
(let (*rectangle-kill-buffer*)
(save-excursion
(when (kill-rectangle-selection)
(goto-char (min from to))
(setq *rectangle-kill-buffer*
(let (result)
(dolist (str *rectangle-kill-buffer* (nreverse result))
(push (string-upcase str) result))))
(yank-rectangle)))))


175:名無しさん@お腹いっぱい。
07/12/08 04:29:54 qe0PXIZ60
ありがとうございます
今の所問題なく動いてます!

176:174
07/12/08 10:02:44 uQ9fQwbw0
mapcar の存在を忘れてた俺涙目。
あとやっぱりというか、選択の仕方によっては大変なことになりますね。
左上〜右下と選択するぶんには問題ないみたいですが。

177:名無しさん@お腹いっぱい。
07/12/08 10:36:57 ULL8QVhU0
なるほどmapカー

178:名無しさん@お腹いっぱい。
07/12/08 14:43:05 TTmRbK+Y0
そんなクダーらないことをいってはいけません

179:名無しさん@お腹いっぱい。
07/12/08 16:27:42 /C/kEQdZ0
URLリンク(xyzzy.s53.xrea.com)
を見るに、おもいつくままxyzzyが多分タイムラグ中なんですけど、ミラーしてる方いますか?

180:名無しさん@お腹いっぱい。
07/12/09 00:48:12 Jeo057QS0
*rectangle-kill-buffer*
こんなものがあったとは。前に矩形範囲を適当に変えるやつを
全部指定してやった事があるけど何か微妙だなぁと思ってたところ。

181:名無しさん@お腹いっぱい。
07/12/20 15:37:27 7A4MdmKz0
最近OSをVistaにして引き続きKaMailを使ってるんですが
送信の際、ヘッダー部のCc:以下に
 Cc: 名無しさん <hoge@huga.ne.jp>, 二人目さん <hoge@huga.or.jp>
などのように二人以上を指定するとCc:とSubject:の2バイト文字が
文字化けするのに気づきました
おそらく2バイト文字がよくないのだろうとは想像しているのですが
どなたか対処法がわかる方いますか?お願いします

182:名無しさん@お腹いっぱい。
07/12/21 12:48:15 bSuHMv0d0
UTF-8N のxmlを開くと、文字化けが起こる確率がすごく高いため、
いつも、UTF-16で書いています。

普段は、他の文字コードも開くことがあるため、オプションの
「読み込み」の「文字エンコーディング判定」は、自動判定にしてあります。

xmlなどWeb系では、UTF-8N だろうと思うので、実は、UTF-8Nを使いたいのですが、
UTF-8Nをxyzzyで、文字化けさせずに表示させる方法ってないですか?

文字判別関係の話だと思うので、
スレ違いなら、誘導をお願いします。


あと、もし文字化け状態した時に、
認識させ直す(指定のコードで認識させる)方法はないですか?

183:名無しさん@お腹いっぱい。
07/12/21 13:07:48 dVF/dzNi0
> UTF-8Nをxyzzyで、文字化けさせずに表示させる方法ってないですか?

先頭のほうに漢字を書いておく

> 認識させ直す(指定のコードで認識させる)方法はないですか?
C-u C-x C-v

184:名無しさん@お腹いっぱい。
07/12/21 19:04:37 nNO6ohrn0
>>182
昔のスレに出てたこれ使ってるけど、結構便利。

(defun revert-buffer-encoding-popup2 ()
(interactive)
(let ((menu (create-popup-menu)))
(mapc #'(lambda (x)
(add-menu-item menu nil (car x)
#'(lambda ()
(interactive)
(revert-buffer (cdr x)))))
`(("utf-8". ,*encoding-utf8n*)
("sjis" . ,*encoding-sjis*)
("auto" . ,*encoding-auto*)
("euc-jp" . ,*encoding-euc-jp*)))
(track-popup-menu menu)))
(global-set-key '(#\C-c #\e) 'revert-buffer-encoding-popup2)


185:名無しさん@お腹いっぱい。
07/12/21 21:08:08 mFz2J5WY0
>>184
横からトンクス。気に入ったので
ついでにファイルメニューにも追加するようにした。

>>182
たまたま良いもの見つけたので、使い方調べてみた。
こんなんで c:/hoge/utf8n/ 以下のファイルを全部 utf8n にできる。
(push '("^c:/hoge/utf8n/" . (lambda () *encoding-utf8n*)) *auto-encoding-alist*)

正規表現かえれば、うまくいかないか?


186:名無しさん@お腹いっぱい。
07/12/21 23:21:35 O+Tk7wFZ0
>>182
ファイルの先頭の方に
<!-- -*- encoding: utf-8 -*- -->
を書いておく。

187:名無しさん@お腹いっぱい。
07/12/22 01:39:57 UobeEHKv0
>>183-186
うぉぉ、みなさん、ありがとう!
順に試してみるっす

188:名無しさん@お腹いっぱい。
07/12/22 14:34:38 iPTGSsP90
>>184
それ便利ですね
182ではないけど、使わせてもらいます
ありがとう

189:名無しさん@お腹いっぱい。
07/12/23 11:53:42 T52sElMl0
>>184
横から頂きました。ありがとう
元の作者さんにも感謝。

他のファイラでBREGEXP.DLL使っていて
正規表現まわりで ちょっと気になったんですけど
xyzzyで(?!hogehoge)みたいな表現は実装されていないでしょうか?

併用してると\(\)\|\{\}で間違ってしまう軟弱者ですが。

190:名無しさん@お腹いっぱい。
07/12/23 14:36:08 jHgn7uPU0
古いgrep相当の演算子しか使えないと思う。

191:名無しさん@お腹いっぱい。
07/12/23 15:49:10 T52sElMl0
>>190
レスどうもありがとう。
一応色々検索掛けてみたんだけど、やっぱりですか。
結局、普段そんなに特殊な表現が必要になることは少ないので
今まで通り使おうと思います。

192:名無しさん@お腹いっぱい。
07/12/23 17:12:00 bb70fu3r0
>>189
使っていないのでよく分からないけど、これのことじゃないの?
URLリンク(xyzzy.s53.xrea.com)

193:名無しさん@お腹いっぱい。
07/12/23 17:55:32 T52sElMl0
>>192
探し方が甘かったようです。
これから試してみて、自分自身の中で混同しないようだったら
導入してみようと思います。
本当にどうもありがとう。

194:181
07/12/28 17:34:52 bJunc2mP0
>>181
まったくレスが無くてちょっとさみしかったのですが
原因の一端が分かったので一応自己レスしておきます
どうやら
URLリンク(xyzzy.s53.xrea.com)
にある「スペースが勝手に挿入・削除されないようにする」
というのを適用させていたためだったようで、
これを適用させないと>181に書いた現象は起きなくなりました
代わりにスペースが入ってきてしまいますが……
以上すれ汚しスマソ


195:名無しさん@お腹いっぱい。
07/12/31 17:15:41 nWzck+e40
スペースが勝手に挿入・削除されないようにする の KaMailV3用
って誰か作ってる?

196:名無しさん@お腹いっぱい。
08/01/04 12:18:16 HRYLxsX80
ちょっと困っています。
URLリンク(xyzzy.s53.xrea.com)
を参考に、複数のunicord文字を変換するようにしようと思いまして、.xyzzyにこう書きますと、
変換は成功しました。
(テストとしてunicordを含まずに作成)

(require "multiple-replace")
(defun deutsch ()
(interactive)
(multiple-replace-string
'(("a" . "ä")
("A" . "Ä"))
))
(global-set-key '(#\C-c #\\) 'deutsch)

しかし、本番として検索文字をウムラウトにし、unicord(UTF-8)で保存して起動すると、
「変数が定義されていません」と受け付けてくれません。
かといってShiftJisではウムラウトは保存できません。
ウムラウトでも受け付けてくれる方法や、
他に何か複数置換の方法はありませんでしょうか?

197:名無しさん@お腹いっぱい。
08/01/04 12:20:15 HRYLxsX80
置換のäは、&auml;です。(半角→全角で変換避けをしています)
書き込んだら変換されてしまいました。

198:名無しさん@お腹いっぱい。
08/01/04 17:45:16 Ihvv3NEb0
>>196
.xyzzy や拡張ライブラリ (foo.l) を utf8 で保存しちゃまずんじゃない?

199:名無しさん@お腹いっぱい。
08/01/04 18:23:44 Rh5ZQnBG0
>>196
utfで保存して、mc-load-file

200:名無しさん@お腹いっぱい。
08/01/04 19:22:55 HRYLxsX80
>>198
まずいかなあ、と思いつつやってみたら案の定だったのですよ。

>>199
ありがとうございます!変換成功しました。
設定ファイルでなければutfで保存してもOKだったのですね…

201:名無しさん@お腹いっぱい。
08/01/04 21:51:39 9vTGQQb50
質問とは関係ないけど、unicode だよね

202:名無しさん@お腹いっぱい。
08/01/07 18:59:20 jNgGbt+90
>>190
なにげに適当なこというよね^^;

203:名無しさん@お腹いっぱい。
08/01/12 15:58:13 PfCyvVMb0
reftexの設定の仕方がさっぱりわかりません。

\begin{exe} ... \end{exe}というenumerateに似た環境で
enumerateと同じように\label{items:1}のようなラベルを挿入したいのですが
どのように設定すればいいのでしょうか。

.xyzzyに(setq reftex-label-alist ... )とか書けば設定できるのかなー、と思い
reftexに添付のファイルやWeb上で見つけたサンプルを見てごにょごにょしてみたんですが
...の部分に何をどう書けばいいのか、私の頭ではさっぱり理解できません。

ご教示いただけませんでしょうか。

204:名無しさん@お腹いっぱい。
08/01/12 21:36:15 lwbNP+m50
enumerate と同じでいいなら、こんな感じでしょうか。
設定ファイルの .reftex に書いておけば動くと思います。

(setq *reftex-label-alist*
'(("exe" #\i "item:" "~~\\ref{~A}" item
(regexp "items?" "Punkte?"))))

205:名無しさん@お腹いっぱい。
08/01/13 04:18:02 PwrHuM0w0
ありがとうございます。
実をいうとreftex-vars.lのenumerateのをそのまま写すのは既に試したのですが、
うまく動かないようです。
(enumerateではitem:が挿入されるが、exeはsec:が挿入されてしまう)


206:名無しさん@お腹いっぱい。
08/01/13 10:37:45 IiRpxgag0
Xyzzyを使い始めてから半年ほどです。
へー,とか言いながら便利に使っていましたが,先日ebdictを見つけました。

仕事柄辞書引きばかりしてるので,嬉々としてダウンロードしました。
仕事用のマシンでは普通にあっさり動いたのですが,先日購入した新マシンでは,
「指定されたモジュールが見つかりません。C:/Program Files/Xyzzy/etc/eb.dll」
と言われて一切起動しません。wxpファイルを消したり,XyzzyHomeに該当DLLを
移動させてみたりもしたのですが,まったくダメでした。

この場合,直す手段が何かありますでしょうか・・・。
該当スクリプトは同じもので動いているので,表記上のミスはないはずなのですが。

207:名無しさん@お腹いっぱい。
08/01/13 13:18:07 TKJKu2nE0
よくわからんけど、 $XYZZY/etc/eb.dll はあるんだよね。
環境変数 XYZZYHOME は設定してある?


208:206
08/01/13 13:31:22 IiRpxgag0
>>207

はい,ファイルは存在します。>C:/Program Files/Xyzzy/etc/eb.dll
XYZZYHOMEの設定はC:/Program Files/Xyzzyなので問題はない……ですよね。
なにより違うマシンで動いている環境とほぼイコールですので,eb.lのソースにある
(let ((dll (merge-pathnames "etc/eb.dll" (si:system-root))))
も問題なくパスするはずだと思っているのですが……。
事実,エラーメッセージは「C:/Program Files/Xyzzy/etc/eb.dllがないよ」ですし。

上記ソースの後ろにエラー分岐らしき部分があるのですが,
DLLが出す(のかな?)エラーメッセージなので,ちょっと把握できていません。
これが分かると何かヒントになるのかな,とは思ってはいるのですが。

もうちょっとあがいてみます。ありがとうございました。


209:名無しさん@お腹いっぱい。
08/01/13 13:37:22 TKJKu2nE0
>>208
eb.dll のバージョンが違うとか?

210:206
08/01/13 13:57:12 IiRpxgag0
たびたびのお返事感謝です。

eb.dllのバージョンは4.2.2.0です。
作者であるdeecay氏が言及しているものと同じです。
そしてまた,もう1台では同じファイル&同じファイル構造で動いているのです。厄介すぎる……。

文章を扱う仕事ということもあり,意地でも動かしたい気分ですのでがんばってみます。

211:名無しさん@お腹いっぱい。
08/01/13 14:31:01 TKJKu2nE0
う〜ん、わからんね。
自分も outline-tree でノード先頭に付く赤い四角が、
マシンによって表示されたりされなかったりしてるけど、
使用上そんなに問題ないので無視してた。

同じ原因かどうかはまったくわからないけど、 dll 使う
とこういうことが起こりうるのかも。


212:名無しさん@お腹いっぱい。
08/01/13 15:49:04 F2b/yr1+0
>>208
C-x C-fで
~/etc/eb.dllで押してみて、現状のxyzzyで
パスとか認識されてるか調べてみたら?

213:名無しさん@お腹いっぱい。
08/01/13 15:51:01 F2b/yr1+0
>>211
あれは自分で変えれるから
設定とか環境の問題では?

214:211
08/01/13 16:05:27 TKJKu2nE0
>>213
そうだったのか。あとで調べてみよう。
thx.

215:206
08/01/13 16:18:30 IiRpxgag0
>>212
助言感謝です。やってみたところ,キチンとパスとして認識されてました。
完全に行き詰まり中です。

216:204
08/01/13 17:01:09 1muKzjuZ0
>>205
えーと、>>204 のリストの3つ目の要素を使って挿入される文字列を決めるので
そこに "item:" と書けば "item:1" のようなラベルが挿入されるはずです。
少なくとも、うちでは >>204 の設定で動きました。
これでうまくいかないなら理由がわかりません。

217:名無しさん@お腹いっぱい。
08/01/13 20:10:36 PwrHuM0w0
>>216
何度もありがとうございます。
おそらく3つ目の要素の指定の問題ではなく、
\begin{exe} ... \end{exe}の内側だということが認識されていない気がします。
そのため、その外側の\sectionが認識されて"sec:"が挿入されているのではないかと・・・

すみません。最初に書くべきだったのですが
\begin{exe}というのは、gb4eというパッケージに含まれるマクロなのですが
URLリンク(www.ctan.org)
手掛かりになりますでしょうか。

218:204
08/01/13 20:55:07 lEqTFuUG0
>>217
こちらで不具合が再現できないのでなんとも言えません。
その不具合が再現する状況・コードを教えてもらえますか?

219:名無しさん@お腹いっぱい。
08/01/13 21:22:42 PwrHuM0w0
>>218

>>204に書いていただいたものをそのままコピペして、.reftexという名前で
.xyzzyと同じフォルダに保存してあります。

\begin{enumerate}
\item \label{
\end

220:名無しさん@お腹いっぱい。
08/01/13 21:28:28 PwrHuM0w0
すみません>>219は誤送信です。

>>218
>>204に書いていただいたものをそのままコピペして、.reftexという名前で
.xyzzyと同じフォルダに保存してあります。

\begin{enumerate}
\item \label{item:1}
\end{enumerate}

\begin{exe}
\ex \label{sec:節タイトル}
\end{exe}
(つづく)

221:名無しさん@お腹いっぱい。
08/01/13 21:29:35 PwrHuM0w0
という具合で、exeの場合はsec:が挿入されてしまいます。
(正確には"sec:節タイトル"がデフォルトで、
 ミニバッファで編集してから挿入するようになる。)

挿入自体はできるので、おそらくRefTeX自体は動いていると思います。
また.reftexに適当な文字列を入れると.texファイルを開くときにエラーがでるので
.reftexもちゃんと読み込んではいると思います。


222:204
08/01/13 23:39:32 zKiqkse20
うーん、その状況だとうまく行かない理由が見当たらないです。
とりあえず次のことを確認してもらえますか?

\begin{exe}
\ex <- ここにカーソルを置いて、ミニバッファで以下のものを評価
\end{exe}

1. (reftex::reftex-label-location) -> "exe" となるかどうか。
2. 1. で "exe" とならなかった場合、
(msgbox "~S" reftex::*reftex-label-env-alist*) で "exe" が含まれているか。

223:名無しさん@お腹いっぱい。
08/01/14 00:30:42 ywcCAoOK0
>>222
すみません。ひどく基本的な質問だろうと思うのですが
ミニバッファで評価というのは、どのような操作をすればいいのでしょうか。
ミニバッファで直接lispの式を実行することができるのですか?

とりあえず*scratch*で
(defun foo ()
(interactive)
(insert (reftex::reftex-label-location)))
として、1.を実行(M-x foo)してみたところ、やはり"section"でした。

2.は*scratch*で関数を定義しようとした時点で
"変数が定義されていません: reftex::*reftex-label-env-alist*"
となって実行できませんでした。

224:名無しさん@お腹いっぱい。
08/01/14 01:06:24 fEoXo9O70
>>223
ミニバッファで評価するためには,ESCを2回押して貼り付けてエンター


225:名無しさん@お腹いっぱい。
08/01/14 01:39:02 bp5MmNk30
>>223
*scratch*でやっても基本的には同じなので、どちらでも良いんだよ。

(reftex::reftex-label-location)
(msgbox "~S" reftex::*reftex-label-env-alist*)
この二つを*scratch*に貼り付けて
それぞれの行末でC-jすれば同じようなもの。

226:名無しさん@お腹いっぱい。
08/01/14 01:54:02 ywcCAoOK0
>>224
ありがとうございます。助かります。

1. "section"
2. "変数が定義されていません: reftex::*reftex-label-env-alist*"

でした。何かreftexの設定をし忘れているのでしょうか。

reftexはnetinstallerで以下のサイトからインストールしたものです。

URLリンク(f55.aaa.livedoor.jp)

.xyzzyには以下のように記述してあります。

;;; RefTeX for xyzzy
(add-hook 'elisp::katex-mode-hook 'turn-on-reftex) ; with KaTeX mode
(autoload 'turn-on-reftex "reftex/reftex")


227:204
08/01/14 02:54:08 ukzw8aNs0
すいません、間違えました。alist じゃなくて list でした。
(msgbox "~S" reftex::*reftex-label-env-list*)
↑のでもう一回試してみて、"exe" が入っているか確認してみてください。

228:204
08/01/14 02:57:06 ukzw8aNs0
追加です。
もしかすると一回 reftex-label を呼び出した後でないとダメかもしれません。
一旦ラベルの挿入をしてから >>227 を試してください。

229:名無しさん@お腹いっぱい。
08/01/14 12:48:35 ywcCAoOK0
>>228
返信遅くなってすみません。
今日PCを起動して、もう一度実行したらうまく動きました。

結局、原因はよくわからなかったのですが、
おそらく.reftexの設定が間違えていたorちゃんと反映されていなかった
のだろうと思います。

丁寧に教えていただいてありがとうございました。
本当に助かりました。

230:名無しさん@お腹いっぱい。
08/01/18 10:07:55 Ftkj5J5V0
2画面ファイラについてお聞きします。
同じディレクトリ内でディレクトリコピー(名前を変えて)は出来ないのでしょうか?
左右同じディレクトリを表示しておいてディレクトリ選択して "C" をすると
『ディレクトリはまだできてない』と言われるんですが・・・
新規ディレクトリを作成してから中身を全部コピーは出来るんですけどやや面倒で。


231:名無しさん@お腹いっぱい。
08/01/20 00:29:50 X41jUVF+0
>>184
遅レスですが参考になりました。
簡単にできてよいですね。

>>185
ファイルメニューに追加のしかたキボン!!

wikiのtipsにも反映しておきました。

tips/エンコーディングを指定して開きなおす方法 - XyzzyWiki
URLリンク(xyzzy.s53.xrea.com)

232:231
08/01/20 01:51:01 X41jUVF+0
素人なりに >>185 書いてみました。

「ファイル(&F)」→「名前の変更(&R)」に追加する方法がわからねえ orz

#'(lambda () (interactive) (revert-buffer *encoding-utf8n*) が冗長。
encoding-menu 内にdefun したけど関数内って言われた・・・
あと、(interactive)かかないと動かないのがわからん

修正頼む・・・


(defun encoding-menu ()
  (setq *encoding-menu-item*
    (define-popup-menu
      (:item nil "utf-8(&U)" #'(lambda () (interactive) (revert-buffer *encoding-utf8n*)))
      (:item nil "sjis(&S)" #'(lambda () (interactive) (revert-buffer *encoding-sjis*)))
      (:item nil "euc-jp(&E)" #'(lambda () (interactive) (revert-buffer *encoding-euc-jp*)))
      (:item nil "auto(&A)" #'(lambda () (interactive) (revert-buffer *encoding-auto*)))
      :sep
      (:item nil "詳細指定(&)" #'(lambda (encoding)
                                      (interactive "zEncoding: ")
                                      (revert-buffer encoding)))
      ))
  (insert-popup-menu *app-menu* (get-menu-position *app-menu* 'ed::file)
             *encoding-menu-item* "エンコーディング指定して再読み込み(&G)"))
(add-hook '*init-app-menus-hook* #'encoding-menu)

233:名無しさん@お腹いっぱい。
08/01/20 09:50:04 Tic01x4c0
>>232
> 「ファイル(&F)」→「名前の変更(&R)」に追加する方法がわからねえ orz
(defun encoding-menu ()
(setq *encoding-menu-item*
(define-popup-menu
(:item nil "utf-8(&U)" #'(lambda () (interactive) (revert-buffer *encoding-utf8n*)))
(:item nil "sjis(&S)" #'(lambda () (interactive) (revert-buffer *encoding-sjis*)))
(:item nil "euc-jp(&E)" #'(lambda () (interactive) (revert-buffer *encoding-euc-jp*)))
(:item nil "auto(&A)" #'(lambda () (interactive) (revert-buffer *encoding-auto*)))
:sep
(:item nil "詳細指定(&_)" #'(lambda (encoding) (interactive "zEncoding: ")(revert-buffer encoding)))))
(insert-popup-menu (get-menu *app-menu* 'ed::file)
(1- (get-menu-position (get-menu *app-menu* 'ed::file) :above-session))
*encoding-menu-item*
"エンコーディング指定して再読み込み(&G)"))
(add-hook '*init-app-menus-hook* #'encoding-menu)

> #'(lambda () (interactive) (revert-buffer *encoding-utf8n*) が冗長。
別に冗長じゃないよ。
> encoding-menu 内にdefun したけど関数内って言われた・・・
Schemeじゃないし。
> あと、(interactive)かかないと動かないのがわからん
メニューから実行できるのはコマンドのみという仕様。

234:185
08/01/20 22:20:56 wiEGPNw80
URLリンク(xyzzy.s53.xrea.com)
に張っておきました。

235:名無しさん@お腹いっぱい。
08/01/21 00:02:53 W+lsBODd0
> #'(lambda () (interactive) (revert-buffer *encoding-utf8n*) が冗長。

こういう書き方もあることはある。あんまりセンスいいとも思わないけど……

(macrolet ((m (v) `#'(lambda () (interactive) (revert-buffer ,v))))
  (define-popup-menu
    (:item nil "utf-8(&U)" (m *encoding-utf8n*))
    (:item nil "sjis(&S)" (m *encoding-sjis*))
    ...))


236:名無しさん@お腹いっぱい。
08/01/21 01:50:08 h60hMPkt0
>>235
なぜわざわざmacroにするの?

237:231
08/01/21 01:53:15 MSzVuBGQ0
うはww即レスありがとう

>>233
サブメニューに追加するにはそうすればいいのか
:above-sessionも気付かなかった。lisp/app-menu.l みたら載ってました。

> Schemeじゃないし。
Xyzzy Lispには関数内関数ないのか orz てか、Schemeにはあるのか・・・

> (interactive)
了解しました。ヘルプに対話型?と書いてあったからわからんかったのですが、
メニューからの場合は、コマンドとして設定しないといけないんですね。

>>234
まとめられるんですね。
使わせていただきます

>>235
あー、マクロ使う手もあるんすね。

238:名無しさん@お腹いっぱい。
08/01/21 02:26:05 oYrRmVW10
>>237
>> Schemeじゃないし。
>Xyzzy Lispには関数内関数ないのか orz てか、Schemeにはあるのか・・・
ないんじゃなくて、それ用の記法があるということ。
flet とか labels がそれに該当する。

239:名無しさん@お腹いっぱい。
08/01/21 21:59:27 pfA4+zT60
>>236
他にいい方法思いつかなかっただけ。
よく見たら渡してるのが定数だから flet でもできたかな。

240:名無しさん@お腹いっぱい。
08/01/22 00:13:39 dw9niiM60
教えて下さい。
文字を選択しておいて、たとえば『国家』という二文字を選択しておいて
Shift-F7を押すと『¥ruby{国家}{ }』となるようにするには
どのようなのを書いたらよいでしょうか?
(HTMLの<a>〜</a>のように選択文字列をはさんで、ある文字列を追加する)

241:名無しさん@お腹いっぱい。
08/01/22 01:13:18 EE4jzfJx0
>>240
こんな感じ?
(defvar *insert-parenthesis-list* nil)
(setq *insert-parenthesis-list*
`(("foo(&F)" "<a>" "</a>")
("bar(&B)" "¥ruby{" "}{ }")
))

(defun insert-parenthesis-1 (from to head tail)
(goto-char from)
(insert head)
(goto-char (+ to (length head)))
(insert tail))

(defun insert-parenthesis ()
(interactive)
(and (pre-selection-p)
(consp *insert-parenthesis-list*)
(let ((from (selection-mark))
(to (selection-point))
(menu (create-popup-menu)))
(when (> from to)
(rotatef from to))
(dolist (x *insert-parenthesis-list*)
(let* ((head (second x))
(tail (third x))
(menu-item (concat head " : " tail "\t" (first x))))
(add-menu-item menu nil menu-item
#'(lambda ()
(interactive)
(insert-parenthesis-1 from to head tail)))))
(track-popup-menu menu))))

242:名無しさん@お腹いっぱい。
08/01/22 01:25:32 qllziFmi0
>>240
shortinput
URLリンク(www1.bbiq.jp)

243:240
08/01/22 01:57:53 dw9niiM60
>>241
すごい!! ばっちりです。
自分xyzzyをTeXで使っているのですが、これでパワーアップです。

>>242
ありがとうございます。
勉強させていただきます。

ほんとうにありがとうございます。感謝、感謝!です。 m(_ _)m

244:名無しさん@お腹いっぱい。
08/01/22 02:22:12 20mz+V6l0
>>242のサイトをネットインストーラに登録しようと思って
wikiの↓のコメントの挿入のとこから投稿したんですけど、反映されません。

NetInstaller/配布パッケージ一覧 - XyzzyWiki
URLリンク(xyzzy.s53.xrea.com)

URLリンク(www1.bbiq.jp)

245:名無しさん@お腹いっぱい。
08/01/22 16:57:39 6NoYtEeH0
>>241
横からもらったぁ!感謝!

246:名無しさん@お腹いっぱい。
08/01/22 18:41:43 VkTxoaAo0
今はなき「xyzzy でタグ打っている香具師」で似たようなの見たなぁ〜

247:名無しさん@お腹いっぱい。
08/01/22 19:19:03 EE4jzfJx0
>>246
そうなの?
>>240を見てから適当に書いたんだが..
大したコードでもないので、誰が書いてもそんなに変わらないんじゃないかな。

248:名無しさん@お腹いっぱい。
08/01/22 19:31:18 EE4jzfJx0
今ちょっと見てきたが、quote-region-by-tagのことかな。
確かに似ているね。

shortinputもあるしわざわざ書くこともなかったな..

249:名無しさん@お腹いっぱい。
08/01/22 19:33:39 eht0uDFG0
>>243
TeXならKaTeXの力を借りてkatexhks.lに↓を書き込むのは如何でしょうか.たぶんうまく動くはずです.

(defun KaTeX--ruby (&optional argp)
(cond
((equal 1 argp) (read-string "Kanji: "))
((equal 2 argp) (read-string "Yomi: " :default (rewind-ime-composition)))))

(defun KaTeX-insert-ruby-region (beg end)
(interactive "r")
(KaTeX-insert-braces-region beg end "\\ruby{" (concat "}{" (read-string "Yomi: ") "}")))
(define-key *KaTeX-mode-map* #\S-F7 'KaTeX-insert-ruby-region)

文字列を与えたときに,それの変換前の状態を返すやり方がわからなかったので,
下の関数ではYomi: のデフォルト値がないです.
rewind-ime-composition だと(imeを通して)直前に入力した文字列の変換前のが出てきちゃうのです.
教えてえらい人.

250:名無しさん@お腹いっぱい。
08/01/23 05:18:21 8OzWD4Y50
>>238
flet で囲んだところでだけ使えるのか・・・ちょいと面倒ですな
labels はリファレンスになかた

251:名無しさん@お腹いっぱい。
08/01/23 05:49:26 RxI6lXpQ0
URLリンク(user.ecc.u-tokyo.ac.jp)
下から1/3のあたりにlabels

252:名無しさん@お腹いっぱい。
08/01/23 12:42:00 +vLN5vfR0
xyzzy で IMAP のメールを読むことは可能でしょうか?

253:名無しさん@お腹いっぱい。
08/01/23 22:23:21 8OzWD4Y50
HTML+-modeの色分けがされないのですが、
問題あるかどこを見たらいいんでしょう?

HTMLを読ませた時に、画面下に(HTML+;HTML Support) と出ており、
また、/ などでタグ閉じなどもできる点からメジャーモードとして、作動しているようです。

色わけされない状況ですが、
全ての文字が、「共通設定」の「フォント」タブの「文字色」(白色にしてます)の色になります。

254:253
08/01/23 22:27:40 8OzWD4Y50
自己解決しますた

他の、xml-modeも Delphi-modeも 色つかなくて、なぜか bat-modeだけ色ついてて
変だと思ってたんですが、

「共通設定」の「表示」タブの「キーワードに色をつける」のチェックがはずれていました。
チェックしたら色つきました!!

いつのまに、いじったのかw
あふぉ・・・

255:名無しさん@お腹いっぱい。
08/01/24 13:47:07 qSZLmeUx0
ファイルを開いたときに
文字コードの誤判定があるので

C-u M-x revert-buffer

として euc-jp と入力しています。

これを例えば M-x buffer-euc-jp に
割り当てるにはどうしたらいいでしょうか。

256:名無しさん@お腹いっぱい。
08/01/24 14:14:58 EjwnFr+b0
revert-buffer-with-coding-system と言うそのままの名前のがあるから、
それラップすればいいんじゃない?

257:名無しさん@お腹いっぱい。
08/01/24 17:00:11 eNsLfIXk0
設定のことなのですけど、
画面をスクロールしたときカーソル行もそれにあわせてスクロール
するようにしたいのですが、どうしたらよいのでしょうか?

258:名無しさん@お腹いっぱい。
08/01/24 17:04:13 wuJ5VBz10
kuso gizune

259:名無しさん@お腹いっぱい。
08/01/25 23:52:12 t7UL5v+90
xyzzyで色々やってみようと思い立ったものの・・・

260:名無しさん@お腹いっぱい。
08/01/25 23:56:12 v7OFsorw0
どうした?

261:名無しさん@お腹いっぱい。
08/01/26 04:08:44 2xBnPmR40
combine使えないのね

262:名無しさん@お腹いっぱい。
08/01/26 04:30:20 k01ntuWz0
適当に作れば?
append使ったりしてやれば手間もなさそうに思うけど。

263:名無しさん@お腹いっぱい。
08/01/26 17:02:55 nptdTNl90
>257
スクロール位置が気になったらC-lを押しとけ。

264:名無しさん@お腹いっぱい。
08/01/26 17:55:11 xqCdGihk0
>>257
スクロールってマウスのホイールスクロール?キー入力?
前者なら、昔 2ch に張ったけどな。もう細かいことは忘れた。

265:名無しさん@お腹いっぱい。
08/01/28 15:07:31 bydSav3Y0
そうです。マウスのホイールスクロールです。
いまはその行をマークして戻ってるんですけど。

266:名無しさん@お腹いっぱい。
08/01/28 19:56:54 h0NouF1x0
ホイールと一緒にスクロールしてほしい、ということなら俺もやり方知りたい

カーソル位置にもどるというだけなら、>>263の Ctrl+Lでできるみたいだ

267:名無しさん@お腹いっぱい。
08/01/29 00:48:51 6r+8dzZH0
>>265-266
とりあえず、画面内にカーソルが無いといけないという
xyzzy の仕様があるから、できても1画面までしか実現できないよ。
それでもいいの?

268:名無しさん@お腹いっぱい。
08/01/29 03:49:15 LALrILBL0
画面をマウスでスクロールした時に
カーソルの位置を移動して欲しくないってこと?





269:266
08/01/29 08:16:38 oST7Vmwp0
ごめん、勘違いでした。
今見たら、ホイールと一緒にカーソルついてくるね・・・

270:名無しさん@お腹いっぱい。
08/01/29 19:50:49 yCQ1c01C0
たとえば、いま50行にカーソルがあると
マウスホイールや上下スクロールバーで画面をスクロールしても
カーソルは50行にいてほしい、ということだよね
サクラとかEmとかみたいに

271:名無しさん@お腹いっぱい。
08/01/29 22:39:54 LALrILBL0
まずは、マウスを窓から投げ捨てろ。

272:名無しさん@お腹いっぱい。
08/02/01 08:10:48 USinHq/30
outline-tree2のツリービューのツールチップなんですが、
表示のタイミングや位置を調整するのは無理なんでしょうか?
マウスカーソル直下をホイールでスクロールできるソフトを使っていると、
ツールチップに入力を取られスクロールしないことがあって困っています。

273:名無しさん@お腹いっぱい。
08/02/01 19:31:26 zjhDDFg+0
xyzzyを起動してからしばらく使っていると@を打とうとして[が出てきてしまったり
右Altが効かなくなったりという症状が出てよく再起動するんですが
これはなぜなんでしょうか?
.xyzzyかsiteinit.lにまずいところがある?

274:名無しさん@お腹いっぱい。
08/02/01 22:01:42 JzRxiUZS0
>>273
.xyzzyとsiteinit.l を読み込まないでも再現するか確認
再現しないなら再現するまでファイルの半分ずつ程度読み込んで確認

275:名無しさん@お腹いっぱい。
08/02/01 23:01:11 0EiwKQ3C0
>>272
> マウスカーソル直下をホイールでスクロールできるソフトを使っていると、
> ツールチップに入力を取られスクロールしないことがあって困っています。

俺は TTBase で使えるのを使っているけど、ツールチップ上でかつ異なる
ウィンドウ上でも問題なくスクロールできる。ドライバーが悪いんじゃないの?

>>274
再現するまで時間がかかるようだと、その方法は大変だよ。
すぐに再現すればそれがいいけどね。

んで俺からのアドバイスとしては、以下のを .xyzzy に書いておいて、
URLリンク(white.s151.xrea.com)
現象が起きたときに、
(step '(command-execute "@"))
と入力して、正常時の結果と比較したほうがよいと思う。



276:名無しさん@お腹いっぱい。
08/02/01 23:34:05 zjhDDFg+0
>>274
>>275
ありがとうございます。
不調が出るまでxyzzyを触り続けてみます。



277:名無しさん@お腹いっぱい。
08/02/02 01:24:56 QLhespph0
ヒント:オンラインウィルスチェック、スパイウェアチェック

278:名無しさん@お腹いっぱい。
08/02/02 01:34:18 12/cDF+k0
>>276
> @を打とうとして[が出てきてしまったり
xyzzyの中だけこうなるの?このときにメモ帳とかだと普通に@が出るの?
なんか英語キーボードのキーマップになってるような気がする
キーマップを変更するソフトが入ってて変更するショートカットキーを無意識に押してるとか

279:名無しさん@お腹いっぱい。
08/02/02 02:16:44 xvCQ/4fs0
>>278
xyzzyの中だけです。メモ帳はわからないけどブラウザでは正常に動くので。
キーマップと言えばXKeymacsを入れてるくらいしか思いつかないけど関係無いかと。

再起動すればまた普通に使えるのでxyzzyが原因かと思ったんですが
そうじゃなかったらスレ違いですいません。


280:名無しさん@お腹いっぱい。
08/02/02 03:47:12 xvCQ/4fs0
>>278
追記ですが検証してみたところ確かに英語のキーマップになっているみたいです。
#が]のところに近づいて来てperlが書きやすいんですが右Altが無いのがちょっと。

281:名無しさん@お腹いっぱい。
08/02/02 04:43:39 QLhespph0
XKeymacs知らんけど、アプリごとの設定で xyzzyのときだけ英語キーバインドになっているとか・・・

282:272
08/02/02 09:35:18 KxCafLCj0
スレ違いっぽいですがすみません。
>>275
教えていただいたTTBaseと、プラグインのRedirectWheelGを試してみたところ上手くいったのですが、
xyzzyのテキスト表示部分で1ノッチにつき3行スクロールしてしまいました。
マウスのプロパティのホイールのスクロール量は、1行にしています。
実は、カーソル直下のスクロールなどに自作のAutoHotKeyスクリプトを使っていまして、
RedirectWheelGと同じPostMessageによる実装もして動いていたのですが、
上記の3行スクロールする問題のため、擬似クリックでの実装に切り替えていました。
TTBaseを試して思いついたのですが、xyzzyの時だけツリービューかどうかを判別して
個別対応してみたいと思います。
どうもありがとうございました。


283:名無しさん@お腹いっぱい。
08/02/02 11:33:43 ReaxwS/A0
選択範囲内の文字数をカウントする方法って現段階でありますか?
あったら教えてください。

284:名無しさん@お腹いっぱい。
08/02/02 11:37:09 x4ReHyBl0
count-words-region

285:名無しさん@お腹いっぱい。
08/02/02 11:55:35 aFQKhOrT0
>>283
URLリンク(xyzzy.s53.xrea.com)

286:名無しさん@お腹いっぱい。
08/02/03 08:47:01 XiD8Xna90
C-& の execute-subprocess を
shell-modeの *eshell* で設定したshell上で動かすことはできないでしょうか?

*shell*は以下のように設定しています。
(setq *eshell* "bash -i")

287:名無しさん@お腹いっぱい。
08/02/03 17:48:56 iDXz1KED0
>>286
execute-subprocess で使ってるのは *eshell* じゃなくて *shell* だね。
別々の変数なので注意。というわけでこんな設定でどう?
(setq *shell* "bash")
(setq *shell-command-option* "-i")

288:名無しさん@お腹いっぱい。
08/02/03 20:17:58 XiD8Xna90
>>287
(setq *shell* "bash")
(setq *shell-command-option* "-c")
にすると、複数の引数を解釈してくれないので、
例えば、uname -a がunameと解釈される

hisashim: [xyzzy][Lisp] xyzzy diff on UNC path using Cygwin zsh
URLリンク(hisashim.livejournal.com)

を参考に process.l書き換えたらいけました。

> (si:system-root))))))
>+ (when (string-match (compile-regexp "bash\\|zsh\\(\\.exe\\)?" t) *shell*)
>+ (return-from shell-command-line
>+ (values (format nil "~A ~A '~A'" *shell* *shell-command-option* cmd) dir)))
> (values (format nil "~A ~A ~A" *shell* *shell-command-option* cmd)
> dir))

しかし、bash -c だと、~/.bashrc を読んでくれなくて orz
~/.bashrc で設定した環境変数下(PATHとか)で動かしたかった('A`)
bashスレ行ってくるか・・・

289:名無しさん@お腹いっぱい。
08/02/03 20:18:38 XiD8Xna90
>>287
お礼を忘れてました、ありがとう。
xyzzy/lisp下読めば大抵わかるんですね。

290:名無しさん@お腹いっぱい。
08/02/05 01:00:29 KGr1ZUlV0
<ちら裏>
kamail3 で突然メールが表示されなくなってびびった。
.kamail3/config.l を最小元にし、casket, data, メールを
削除してもだめで、マジあせった。
結局 *shell* の値を zsh に変更した事が問題だった。

cmd.exeに戻したら直った。本当によかった。
</ちら裏>

ところで特定のメールアドレスからのメールは常に既読にする
のってどうやって設定するの? config.l.sample に載っている
まんまだと予想したがうまくいかない。orz


291:名無しさん@お腹いっぱい。
08/02/07 10:43:31 FAsMFBYF0
multiple-replace を現在開いている全てのバッファに適用
するにはどうすればよろしいでしょうか?

292:名無しさん@お腹いっぱい。
08/02/07 13:21:15 wXHmQfE90
>>291
余り試してないけどこんな感じかな?上手く動かなかったら適当に直して下さい。
(defvar *multiple-replace-selected-buffer* nil)

(defun perform-multiple-replace (pattern-replacement-list query regexp interactive-p noerror)
(let ((literal (null regexp))
(count 0)
(nodup nil)
(opoint (point))
(not-found t)
(def nil)
(last-match nil)
(last-match-char nil)
(undo-bound (or interactive-p query))
(pattern nil)
(replacement nil)
(point-pattern-list nil)
(point-search nil))
(undo-boundary)
(when interactive-p
(if regexp
(setq *last-multiple-search-replace-regexp-list*
pattern-replacement-list)
(setq *last-multiple-search-replace-string-list*
pattern-replacement-list))
(let ((*multiple-replace-regexp-search* regexp))
(declare (special *multiple-replace-regexp-search*))
(setq *last-multiple-replace-setting* (multiple-replace-make-setting))))

293:続き
08/02/07 13:22:40 wXHmQfE90
(if regexp
(setq pattern-replacement-list
(mapcar #'(lambda (pattern-replacement)
(cons
(if (stringp (car pattern-replacement))
(compile-regexp (car pattern-replacement) *multiple-replace-case-fold-search*)
(car pattern-replacement))
(cdr pattern-replacement)))
pattern-replacement-list)))
(unless query
(begin-wait-cursor))
(loop
(setq point-pattern-list nil)
(save-excursion
(setq search-point (point))
(dolist (pattern (mapcar 'car pattern-replacement-list))
(when (and (or (regexpp pattern) (stringp pattern))
(scan-buffer pattern
:regexp regexp
:no-dup nodup
:last-match (cons last-match last-match-char)
:case-fold *multiple-replace-case-fold-search*
:left-bound *multiple-replace-word-search*
:right-bound *multiple-replace-word-search*))
(push (cons (point) pattern) point-pattern-list))
(goto-char search-point)))

294:続き
08/02/07 13:23:28 wXHmQfE90
(unless point-pattern-list
(if (yes-or-no-p "次のバッファも置換する?")
(progn
(unless *multiple-replace-selected-buffer*
(setq *multiple-replace-selected-buffer* (selected-buffer)))
(next-buffer)
(when (eq *multiple-replace-selected-buffer* (selected-buffer))
(setq *multiple-replace-selected-buffer* nil)
(quit))
(refresh-screen 1)
(perform-multiple-replace pattern-replacement-list query regexp interactive-p noerror))
(progn
(setq *multiple-replace-selected-buffer* nil)
(return))))
(setq pattern (cdar (stable-sort (nreverse point-pattern-list) '< :key 'car)))
(setq replacement (cdr (assoc pattern pattern-replacement-list :test 'equal)))
(scan-buffer pattern
:regexp regexp
:no-dup nodup
:last-match (cons last-match last-match-char)
:case-fold *multiple-replace-case-fold-search*
:left-bound *multiple-replace-word-search*
:right-bound *multiple-replace-word-search*)

295:続き
08/02/07 13:24:26 wXHmQfE90
(if (and (eql (match-beginning 0) (match-end 0))
(eql last-match (match-beginning 0)))
(setq nodup t)
(progn
(setq not-found nil)
(show-match)
(unless (pos-visible-in-window-p (point))
(recenter))
(if query
(progn
(refresh-screen)
(message (if (eq def 'help)
"(y)置換, (n)スキップ, (!)残り全部, (u)アンドゥ, (C-g)中止, (.)中止して戻る"
(format nil "置換する?: ⇒ ~S" replacement)))
(setq def (lookup-keymap *query-replace-map* (read-char *keyboard*) t)))
(setq def 'automatic))
(when (cond ((eq def 'act)
t)
((eq def 'skip)
(setq nodup t)
nil)
((eq def 'automatic)
(setq query nil)
t)
((eq def 'undo)
(and (plusp count)
(undo)
(setq count (1- count)))
(setq nodup nil)
nil)


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5373日前に更新/293 KB
担当:undef