- 1 名前:ミスターエックスワイジー [2007/10/06(土) 23:44:07 ID:L/pKByeF0]
- xyzzyってさ、一見さんお断りの京都料亭みたいでさ、何から手をつけていいのかわからないでしょ?
とりあえず,初心者同士で解決できる問題はまず過去ログ・グーグルで検索した後ここで相談しましょう たとえば ・ここのHPに書いてある通りにやりましたができません. ・xyzzyが起動しなくなりました. ・キーバインドってどうやって変更するの? 初心者の私が答えられるのはこの程度です. 自分でlispが書けるような方,こんな機能が欲しいのですが だれか作ってくださいという方は Win板本スレへ。 xyzzy Part15 @Win板(通称:本家) pc11.2ch.net/test/read.cgi/win/1175649315/ 過去ログ & 関連リンクは>>2-5あたりに。
- 237 名前:231 [2008/01/21(月) 01:53:15 ID:MSzVuBGQ0]
- うはww即レスありがとう
>>233 サブメニューに追加するにはそうすればいいのか :above-sessionも気付かなかった。lisp/app-menu.l みたら載ってました。 > Schemeじゃないし。 Xyzzy Lispには関数内関数ないのか orz てか、Schemeにはあるのか・・・ > (interactive) 了解しました。ヘルプに対話型?と書いてあったからわからんかったのですが、 メニューからの場合は、コマンドとして設定しないといけないんですね。 >>234 まとめられるんですね。 使わせていただきます >>235 あー、マクロ使う手もあるんすね。
- 238 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/21(月) 02:26:05 ID:oYrRmVW10]
- >>237
>> Schemeじゃないし。 >Xyzzy Lispには関数内関数ないのか orz てか、Schemeにはあるのか・・・ ないんじゃなくて、それ用の記法があるということ。 flet とか labels がそれに該当する。
- 239 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/21(月) 21:59:27 ID:pfA4+zT60]
- >>236
他にいい方法思いつかなかっただけ。 よく見たら渡してるのが定数だから flet でもできたかな。
- 240 名前:名無しさん@お腹いっぱい。 [2008/01/22(火) 00:13:39 ID:dw9niiM60]
- 教えて下さい。
文字を選択しておいて、たとえば『国家』という二文字を選択しておいて Shift-F7を押すと『¥ruby{国家}{ }』となるようにするには どのようなのを書いたらよいでしょうか? (HTMLの<a>〜</a>のように選択文字列をはさんで、ある文字列を追加する)
- 241 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/22(火) 01:13:18 ID: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/22(火) 01:25:32 ID:qllziFmi0]
- >>240
shortinput www1.bbiq.jp/rohinomiya/products/
- 243 名前:240 [2008/01/22(火) 01:57:53 ID:dw9niiM60]
- >>241
すごい!! ばっちりです。 自分xyzzyをTeXで使っているのですが、これでパワーアップです。 >>242 ありがとうございます。 勉強させていただきます。 ほんとうにありがとうございます。感謝、感謝!です。 m(_ _)m
- 244 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/22(火) 02:22:12 ID:20mz+V6l0]
- >>242のサイトをネットインストーラに登録しようと思って
wikiの↓のコメントの挿入のとこから投稿したんですけど、反映されません。 NetInstaller/配布パッケージ一覧 - XyzzyWiki xyzzy.s53.xrea.com/wiki/index.php?NetInstaller%2F%C7%DB%C9%DB%A5%D1%A5%C3%A5%B1%A1%BC%A5%B8%B0%EC%CD%F7 www1.bbiq.jp/rohinomiya/products/packages.l
- 245 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/22(火) 16:57:39 ID:6NoYtEeH0]
- >>241
横からもらったぁ!感謝!
- 246 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/22(火) 18:41:43 ID:VkTxoaAo0]
- 今はなき「xyzzy でタグ打っている香具師」で似たようなの見たなぁ〜
- 247 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/22(火) 19:19:03 ID:EE4jzfJx0]
- >>246
そうなの? >>240を見てから適当に書いたんだが.. 大したコードでもないので、誰が書いてもそんなに変わらないんじゃないかな。
- 248 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/22(火) 19:31:18 ID:EE4jzfJx0]
- 今ちょっと見てきたが、quote-region-by-tagのことかな。
確かに似ているね。 shortinputもあるしわざわざ書くこともなかったな..
- 249 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/22(火) 19:33:39 ID: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/23(水) 05:18:21 ID:8OzWD4Y50]
- >>238
flet で囲んだところでだけ使えるのか・・・ちょいと面倒ですな labels はリファレンスになかた
- 251 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/23(水) 05:49:26 ID:RxI6lXpQ0]
- ttp://user.ecc.u-tokyo.ac.jp/~tt076524/onlispjhtml/functions.html
下から1/3のあたりにlabels
- 252 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/23(水) 12:42:00 ID:+vLN5vfR0]
- xyzzy で IMAP のメールを読むことは可能でしょうか?
- 253 名前:名無しさん@お腹いっぱい。 [2008/01/23(水) 22:23:21 ID:8OzWD4Y50]
- HTML+-modeの色分けがされないのですが、
問題あるかどこを見たらいいんでしょう? HTMLを読ませた時に、画面下に(HTML+;HTML Support) と出ており、 また、/ などでタグ閉じなどもできる点からメジャーモードとして、作動しているようです。 色わけされない状況ですが、 全ての文字が、「共通設定」の「フォント」タブの「文字色」(白色にしてます)の色になります。
- 254 名前:253 [2008/01/23(水) 22:27:40 ID:8OzWD4Y50]
- 自己解決しますた
他の、xml-modeも Delphi-modeも 色つかなくて、なぜか bat-modeだけ色ついてて 変だと思ってたんですが、 「共通設定」の「表示」タブの「キーワードに色をつける」のチェックがはずれていました。 チェックしたら色つきました!! いつのまに、いじったのかw あふぉ・・・
- 255 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/24(木) 13:47:07 ID:qSZLmeUx0]
- ファイルを開いたときに
文字コードの誤判定があるので C-u M-x revert-buffer として euc-jp と入力しています。 これを例えば M-x buffer-euc-jp に 割り当てるにはどうしたらいいでしょうか。
- 256 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/24(木) 14:14:58 ID:EjwnFr+b0]
- revert-buffer-with-coding-system と言うそのままの名前のがあるから、
それラップすればいいんじゃない?
- 257 名前:名無しさん@お腹いっぱい。 [2008/01/24(木) 17:00:11 ID:eNsLfIXk0]
- 設定のことなのですけど、
画面をスクロールしたときカーソル行もそれにあわせてスクロール するようにしたいのですが、どうしたらよいのでしょうか?
- 258 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/24(木) 17:04:13 ID:wuJ5VBz10]
- kuso gizune
- 259 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/25(金) 23:52:12 ID:t7UL5v+90]
- xyzzyで色々やってみようと思い立ったものの・・・
- 260 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/25(金) 23:56:12 ID:v7OFsorw0]
- どうした?
- 261 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/26(土) 04:08:44 ID:2xBnPmR40]
- combine使えないのね
- 262 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/26(土) 04:30:20 ID:k01ntuWz0]
- 適当に作れば?
append使ったりしてやれば手間もなさそうに思うけど。
- 263 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/26(土) 17:02:55 ID:nptdTNl90]
- >257
スクロール位置が気になったらC-lを押しとけ。
- 264 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/26(土) 17:55:11 ID:xqCdGihk0]
- >>257
スクロールってマウスのホイールスクロール?キー入力? 前者なら、昔 2ch に張ったけどな。もう細かいことは忘れた。
- 265 名前:名無しさん@お腹いっぱい。 [2008/01/28(月) 15:07:31 ID:bydSav3Y0]
- そうです。マウスのホイールスクロールです。
いまはその行をマークして戻ってるんですけど。
- 266 名前:名無しさん@お腹いっぱい。 [2008/01/28(月) 19:56:54 ID:h0NouF1x0]
- ホイールと一緒にスクロールしてほしい、ということなら俺もやり方知りたい
カーソル位置にもどるというだけなら、>>263の Ctrl+Lでできるみたいだ
- 267 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 00:48:51 ID:6r+8dzZH0]
- >>265-266
とりあえず、画面内にカーソルが無いといけないという xyzzy の仕様があるから、できても1画面までしか実現できないよ。 それでもいいの?
- 268 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 03:49:15 ID:LALrILBL0]
- 画面をマウスでスクロールした時に
カーソルの位置を移動して欲しくないってこと?
- 269 名前:266 [2008/01/29(火) 08:16:38 ID:oST7Vmwp0]
- ごめん、勘違いでした。
今見たら、ホイールと一緒にカーソルついてくるね・・・
- 270 名前:名無しさん@お腹いっぱい。 [2008/01/29(火) 19:50:49 ID:yCQ1c01C0]
- たとえば、いま50行にカーソルがあると
マウスホイールや上下スクロールバーで画面をスクロールしても カーソルは50行にいてほしい、ということだよね サクラとかEmとかみたいに
- 271 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 22:39:54 ID:LALrILBL0]
- まずは、マウスを窓から投げ捨てろ。
- 272 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 08:10:48 ID:USinHq/30]
- outline-tree2のツリービューのツールチップなんですが、
表示のタイミングや位置を調整するのは無理なんでしょうか? マウスカーソル直下をホイールでスクロールできるソフトを使っていると、 ツールチップに入力を取られスクロールしないことがあって困っています。
- 273 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 19:31:26 ID:zjhDDFg+0]
- xyzzyを起動してからしばらく使っていると@を打とうとして[が出てきてしまったり
右Altが効かなくなったりという症状が出てよく再起動するんですが これはなぜなんでしょうか? .xyzzyかsiteinit.lにまずいところがある?
- 274 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 22:01:42 ID:JzRxiUZS0]
- >>273
.xyzzyとsiteinit.l を読み込まないでも再現するか確認 再現しないなら再現するまでファイルの半分ずつ程度読み込んで確認
- 275 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 23:01:11 ID:0EiwKQ3C0]
- >>272
> マウスカーソル直下をホイールでスクロールできるソフトを使っていると、 > ツールチップに入力を取られスクロールしないことがあって困っています。 俺は TTBase で使えるのを使っているけど、ツールチップ上でかつ異なる ウィンドウ上でも問題なくスクロールできる。ドライバーが悪いんじゃないの? >>274 再現するまで時間がかかるようだと、その方法は大変だよ。 すぐに再現すればそれがいいけどね。 んで俺からのアドバイスとしては、以下のを .xyzzy に書いておいて、 white.s151.xrea.com/wiki/index.php?memo/xyzzy/for%20debug 現象が起きたときに、 (step '(command-execute "@")) と入力して、正常時の結果と比較したほうがよいと思う。
- 276 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 23:34:05 ID:zjhDDFg+0]
- >>274
>>275 ありがとうございます。 不調が出るまでxyzzyを触り続けてみます。
- 277 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/02(土) 01:24:56 ID:QLhespph0]
- ヒント:オンラインウィルスチェック、スパイウェアチェック
- 278 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/02(土) 01:34:18 ID:12/cDF+k0]
- >>276
> @を打とうとして[が出てきてしまったり xyzzyの中だけこうなるの?このときにメモ帳とかだと普通に@が出るの? なんか英語キーボードのキーマップになってるような気がする キーマップを変更するソフトが入ってて変更するショートカットキーを無意識に押してるとか
- 279 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/02(土) 02:16:44 ID:xvCQ/4fs0]
- >>278
xyzzyの中だけです。メモ帳はわからないけどブラウザでは正常に動くので。 キーマップと言えばXKeymacsを入れてるくらいしか思いつかないけど関係無いかと。 再起動すればまた普通に使えるのでxyzzyが原因かと思ったんですが そうじゃなかったらスレ違いですいません。
- 280 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/02(土) 03:47:12 ID:xvCQ/4fs0]
- >>278
追記ですが検証してみたところ確かに英語のキーマップになっているみたいです。 #が]のところに近づいて来てperlが書きやすいんですが右Altが無いのがちょっと。
- 281 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/02(土) 04:43:39 ID:QLhespph0]
- XKeymacs知らんけど、アプリごとの設定で xyzzyのときだけ英語キーバインドになっているとか・・・
- 282 名前:272 mailto:sage [2008/02/02(土) 09:35:18 ID:KxCafLCj0]
- スレ違いっぽいですがすみません。
>>275 教えていただいたTTBaseと、プラグインのRedirectWheelGを試してみたところ上手くいったのですが、 xyzzyのテキスト表示部分で1ノッチにつき3行スクロールしてしまいました。 マウスのプロパティのホイールのスクロール量は、1行にしています。 実は、カーソル直下のスクロールなどに自作のAutoHotKeyスクリプトを使っていまして、 RedirectWheelGと同じPostMessageによる実装もして動いていたのですが、 上記の3行スクロールする問題のため、擬似クリックでの実装に切り替えていました。 TTBaseを試して思いついたのですが、xyzzyの時だけツリービューかどうかを判別して 個別対応してみたいと思います。 どうもありがとうございました。
- 283 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/02(土) 11:33:43 ID:ReaxwS/A0]
- 選択範囲内の文字数をカウントする方法って現段階でありますか?
あったら教えてください。
- 284 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/02(土) 11:37:09 ID:x4ReHyBl0]
- count-words-region
- 285 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/02(土) 11:55:35 ID:aFQKhOrT0]
- >>283
ttp://xyzzy.s53.xrea.com/wiki/index.php?tips%2F%C1%AA%C2%F2%A4%B7%A4%BF%CA%B8%BB%FA%BF%F4%A4%F2%A5%B9%A5%C6%A1%BC%A5%BF%A5%B9%A5%D0%A1%BC%A4%CB%C9%BD%BC%A8%A4%B9%A4%EB
- 286 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/03(日) 08:47:01 ID:XiD8Xna90]
- C-& の execute-subprocess を
shell-modeの *eshell* で設定したshell上で動かすことはできないでしょうか? *shell*は以下のように設定しています。 (setq *eshell* "bash -i")
- 287 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/03(日) 17:48:56 ID:iDXz1KED0]
- >>286
execute-subprocess で使ってるのは *eshell* じゃなくて *shell* だね。 別々の変数なので注意。というわけでこんな設定でどう? (setq *shell* "bash") (setq *shell-command-option* "-i")
- 288 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/03(日) 20:17:58 ID:XiD8Xna90]
- >>287
(setq *shell* "bash") (setq *shell-command-option* "-c") にすると、複数の引数を解釈してくれないので、 例えば、uname -a がunameと解釈される hisashim: [xyzzy][Lisp] xyzzy diff on UNC path using Cygwin zsh hisashim.livejournal.com/215556.html を参考に 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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/03(日) 20:18:38 ID:XiD8Xna90]
- >>287
お礼を忘れてました、ありがとう。 xyzzy/lisp下読めば大抵わかるんですね。
- 290 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 01:00:29 ID:KGr1ZUlV0]
- <ちら裏>
kamail3 で突然メールが表示されなくなってびびった。 .kamail3/config.l を最小元にし、casket, data, メールを 削除してもだめで、マジあせった。 結局 *shell* の値を zsh に変更した事が問題だった。 cmd.exeに戻したら直った。本当によかった。 </ちら裏> ところで特定のメールアドレスからのメールは常に既読にする のってどうやって設定するの? config.l.sample に載っている まんまだと予想したがうまくいかない。orz
- 291 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 10:43:31 ID:FAsMFBYF0]
- multiple-replace を現在開いている全てのバッファに適用
するにはどうすればよろしいでしょうか?
- 292 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 13:21:15 ID: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 名前:続き mailto:sage [2008/02/07(木) 13:22:40 ID: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 名前:続き mailto:sage [2008/02/07(木) 13:23:28 ID: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 名前:続き mailto:sage [2008/02/07(木) 13:24:26 ID: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)
- 296 名前:続き mailto:sage [2008/02/07(木) 13:25:29 ID:wXHmQfE90]
- ((eq def 'quit-and-back)
(goto-char opoint) (setq def 'quit) (return)) ((eq def 'quit) (return)) ((eq def 'recenter) (recenter) (setq nodup nil) nil) ((and (consp def) (eq (car def) 'throw)) (throw (cdr def) count)) (t (setq def 'help) (setq nodup nil) nil)) (setq last-match-char (unless (= (match-end 0) (point-min)) (char-before (match-end 0)))) (unless (replace-match replacement :literal literal) (return)) (setq last-match (point)) (setq nodup (= (match-beginning 0) (match-end 0))) (when (and undo-bound query) (undo-boundary)) (setq count (1+ count))))) (when (eobp) (return)))
- 297 名前:続き mailto:sage [2008/02/07(木) 13:26:19 ID:wXHmQfE90]
- (unless query
(end-wait-cursor)) (hide-match) (unless noerror (and (eq def 'quit) (quit)) (and not-found (error "文字列が見つかりません"))) (when (and interactive-p (null *executing-macro*)) (message "~d個置換しました" count)) count)) diff にすればよかったな...
- 298 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 13:36:31 ID:wXHmQfE90]
- >>294の
(refresh-screen 1) の後ろに (when *multiple-replace-replace-whole-buffer* (goto-char (point-min))) を追加した方がいいかも。
- 299 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 14:20:16 ID:FAsMFBYF0]
- >>292
どうもありがとうございます。>>292-298 を multiple-replace.l (20050413) の該当箇所と置き換えてみましたが、M-x multiple-replace-string だと 現在のバッファのみしか置換されませんねぇ。 multiple-replace.lc は一端削除してあります。
- 300 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 14:35:25 ID:wXHmQfE90]
- >>299
再ダンプしてないんじゃないの?
- 301 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 15:21:39 ID:FAsMFBYF0]
- >>300
あちゃ〜、仰る通りです。すみませんでした。m(_ _)m
- 302 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 15:52:29 ID:fKcAIYUe0]
- 即興でそんな風に組み上げられるようになりたひ…
- 303 名前:292 mailto:sage [2008/02/07(木) 16:07:22 ID:wXHmQfE90]
- バグがあった。
>>294の (progn (setq *multiple-replace-selected-buffer* nil) (return)))) は (progn (when *multiple-replace-selected-buffer* (setq *multiple-replace-selected-buffer* nil) (quit)) (return)))) に修正して下さい(文字数のカウントは面倒なのでパス)。 >>302 ほとんどソースのままなんだけどね。 Netinstallerからリファレンスとinfo-modoki-modeなどを入れて後はgrepとかタグジャンプを 使えばある程度は書けるようになると思う。
- 304 名前:名無しさん@お腹いっぱい。 [2008/02/10(日) 15:01:07 ID:Geg9SBWH0]
- ナイスな補完がしたくて、netinstaller で ac-mode を入れたのですが、
C-nやC-pではなく、カーソルキーで補完項目の選択がしたいと思っています。 そこで、.xyzzyに以下などを書きました ; 選択キー割り当て (define-key *ac-mode-internal-map* #\Down 'ac-mode-select-next) (define-key *ac-mode-internal-map* #\Up 'ac-mode-select-prev) *ac-mode-internal-map* や、ac-mode-select-prev などが、export されておらず、 未定義などと言われたのですが、こういうときは、export するしか方法はないのでしょうか? (exportして byte-compile し、動作自体は上手くいくのは確認しました) アップデートとかを考えると、できるだけ元ソースを直接いじりたくないのですが・・・
- 305 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 15:19:30 ID:0ycF+83t0]
- >>304
(define-key *ac-mode-internal-map* #\Down 'ed::ac-mode-select-next) (define-key *ac-mode-internal-map* #\Up 'ed::ac-mode-select-prev) もしくは、 siteinit.l 内でそれらのシンボルをexportするとか。
- 306 名前:305 mailto:sage [2008/02/10(日) 15:21:40 ID:0ycF+83t0]
- まちがえた。
(define-key ed::*ac-mode-internal-map* #\Down 'ed::ac-mode-select-next) (define-key ed::*ac-mode-internal-map* #\Up 'ed::ac-mode-select-prev)
- 307 名前:名無しさん@お腹いっぱい。 [2008/02/10(日) 19:35:33 ID:Geg9SBWH0]
- >>305-306
さんクす exportしなくても、>>306で動きました。 ed::ってパッケージ名?でしょうか。指定すればいいんですね。
- 308 名前:174 mailto:sage [2008/02/10(日) 20:19:04 ID:0J69YBkb0]
- >>307
editor::の略。
- 309 名前:名無しさん@お腹いっぱい。 [2008/02/10(日) 23:49:13 ID:Geg9SBWH0]
- 以前に、現在のバッファの文字コードを変えられないかと質問した者です。
前に教えていただいた方法では、バッファを再読み込みしてエンコードを変えられました。 ファイルだとうまくいっていたのですが、 ファイルではなく名前付きのバッファだとうまくいきません orz 「ファイル名がありません」と言われてしまいます。 例えば、C-@ や ruby-mode の C-c C-x などの 標準出力や実行したコマンドなどで出力したバッファです。 バッファの内容はそのままにエンコードを切り替える方法ないでしょうか? 前の方法は再読み込み、というところにヒントがあると思うのですが・・・
- 310 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 00:14:30 ID:8x6C6XBu0]
- >>309
リファレンスやlispディレクトリ以下のソースコードを参考に自分で書いてみたら?
- 311 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 00:15:58 ID:7Ad5u+xK0]
- >>309
選択して 編集→変換→漢字コード→自動判定 とか
- 312 名前:309 [2008/02/11(月) 00:23:34 ID:4QznQESt0]
- (set-buffer-fileio-encoding *encoding-utf8*)
などとやってみたのですが、バッファのステータスバー?の表示はurf-8に変わるのですが、 実際の表示は変わりませんでした。 >>310 みてみてます。 >>311 この操作でとりあえずバッファの内容は、読めるようになるのですが、 次にコマンドを実行したときに、引き継いでくれません orz 出力するときに、sjisにエンコードしないといけないんですかね・・・ 逆に言うとsjisしか出力できない?
- 313 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 00:24:35 ID:8x6C6XBu0]
- set-buffer-fileio-encodingあたりが参考になるかな。
自分で書いてみるのがlisp覚えるには一番だと思うけどね。
- 314 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 00:30:12 ID:8x6C6XBu0]
- おっとかぶった。
じゃあconvert-encoding-to-internal、convert-encoding-from-internalあたりかな。 これもリファレンスにあるけどね。
- 315 名前:名無しさん@お腹いっぱい。 [2008/02/11(月) 00:40:18 ID:4QznQESt0]
- あああ、なんかわかってきた。
共通設定の文字エンコーディングの判定で「自動判定」から「UTF-8」にしても、 C-&とか、ruby-modeのC-c C-x とかの一時的なバッファは、全部sjisのままでした。 バッファに出力前に、 >>314とか、>>312のようなエンコードの設定を個別にしてやらないといけない?のですかね。 lispごとに個別対応せなあかんのか・・・('A`)
- 316 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 00:50:18 ID:8x6C6XBu0]
- よくわからんが
*default-fileio-encoding*とかじゃなくて?
- 317 名前:名無しさん@お腹いっぱい。 [2008/02/11(月) 08:21:18 ID:4QznQESt0]
- エンコーディングの設定を弄りながら、試しているのですが、
アラビア語ってもしかして xyzzy は対応してないんでしょうか? IEで表示したアラビア語を UTF-16やUTF-8のバッファに張り付けても、 豆腐になってしまいます リァル・ウル・ァル・リケル・館・ ?????? ?????
- 318 名前:名無しさん@お腹いっぱい。 [2008/02/11(月) 08:57:40 ID:4QznQESt0]
- 調べましたら、xyzzyはアラビア語は非対応なんすね。
言われてみると確かに右から左だし特殊だもんな・・・。 下のサイト見てたら、UIのコントロール類はUNICODE非対応なんですね。 文字のデータはUNICODE対応なのに、ちょっとびっくり。 「xyzzy」の検索結果 - tsuge development page d.hatena.ne.jp/tsugehara/searchdiary?word=xyzzy
- 319 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 11:14:00 ID:WV462O5U0]
- UIのコントロールまでウニコードにしたらwin98やMeで動かなくないか?
- 320 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 14:15:42 ID:gHRWQnnJ0]
- 98?Me?そんなものは切り捨ててしまえっ
- 321 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 14:18:24 ID:zm6bzkex0]
- Cでいう__LINE__みたいなマクロって、xyzzyにある?
- 322 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 14:44:09 ID:VqxxbeLC0]
- >>321
なさげ。 toggle-trace-on-error と、バイトコンパイルしないで実行させることで たいていの場合は十分わかる。 >>318 のリンク先を見てて思いだしたが、xyzzy はシステムフォントで メニューを表示しているんだよね。それなら、MS ゴシック等で決めうち されていたほうが、日本語Windows以外で使用する場合も、フォント追加だけ で済むから、まだましなんだよな。
- 323 名前:321 mailto:sage [2008/02/11(月) 15:13:04 ID:zm6bzkex0]
- >>322
無いのか・・・ じゃ、教えてくれたの使うわ。ども。
- 324 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 19:51:15 ID:4QznQESt0]
- まだ、エンコーディング弄ってますw
(setq *expected-fileio-encoding* *encoding-utf8n*) (setq *default-fileio-encoding* *encoding-utf8n*) (change-fileio-encoding *encoding-utf8n*) (set-buffer-fileio-encoding *encoding-utf8n*) これらの違いがいまいちわからないです('A`) 過去ログ検索で同じ用途で使われていたりして、どれを使うべきなのか…… こんな感じであってますか? *expected-fileio-encoding* なんぞこれ? リファレンス未記載 *default-fileio-encoding* バッファの新規作成時のエンコーディング設定。 change-fileio-encoding 現在のバッファのエンコーディングを変更 。(interactive) で、M-x でも実行可能 リファレンスに載ってなかた。 set-buffer-fileio-encoding 現在 or 指定したバッファのエンコーディング設定を変更。M-xで実行できない .chm の リファレンス、任意文字列で検索できたらなあ…… encodingとかで検索してどれが何か一通り把握したい。
- 325 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 20:04:31 ID:8x6C6XBu0]
- >>324
info-modoki-modeなら全文検索できるよ。 aproposでもできたと思う。
- 326 名前:名無しさん@お腹いっぱい。 [2008/02/11(月) 20:19:44 ID:4QznQESt0]
- できた!!!11
C-& や、 ruby-mode のC-c C-xなどで、出力される文字コードを指定する方法 (setq *default-process-encoding* *encoding-euc-jp*) encoding.lに定義されてた・・・ デフォルトは、*encoding-sjis*になってます 個別の対応コードいらない!!ヨカタ みなさん、つきあってくれてありがとうございました。
- 327 名前:名無しさん@お腹いっぱい。 [2008/02/11(月) 21:07:27 ID:4QznQESt0]
- >>325
ありがとう。 とりあえず、リファレンスの chm を全文検索したかったので、 xy-reference.l の 1132行目を Full-text search=Yes に書き換えて、chmをコンパイルしてみました。 上手くいきました。 しかし、なんで、デフォルトは、Full-text search=Noになっているんだろ???
- 328 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 23:12:02 ID:ncxJHqiF0]
- emacs で (query-replace-highlight t) した時のような効果を
xyzzy で行うことはできますか?
- 329 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 23:20:03 ID:qAaYVA730]
- > emacs で (query-replace-highlight t) した時のような効果を
kwsk
- 330 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 00:41:06 ID:PWVPl84S0]
- >>329
query-replace-stringすると ヒットした文字列が順番に選択(?)されて変換するか聞いてきますよね このときに選択されていない変換候補の文字列もハイライト処理されます 例をあげると下の文字を abc -> aaa でquery-replace-stirng 一つ目のabcの置換を聞かれてる時点で 2個目の abc がハイライトされています abc def abc
- 331 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 01:02:51 ID:Izq8RB5W0]
- multiple-replace.lが更新されてます
- 332 名前:名無しさん@お腹いっぱい。 [2008/02/12(火) 06:01:37 ID:SUwXSJwZ0]
- >>326を簡単にできるように、>>234のwikiの記事を参考にして
ポップアップメニューで表示できるようにしています。 .xyzzy に以下のコードを書いたのですが、C-c C-e を押しても、C-c eの方が実行されてしまいます。 何が悪いのでしょうか・・・? ; エンコーディング変更ポップアップ と メニューに追加 (defvar *encoding-menu* nil) (defun encoding-menu (encode-func) (or *encoding-menu* (let ((menu (create-popup-menu))) (mapc #'(lambda (x) (add-menu-item menu nil (car x) #'(lambda () (interactive) (funcall encode-func (cdr x))))) `(("utf-8n \t(&8)" . ,*encoding-utf8n*) ("utf-16 \t(&6)" . ,*encoding-utf16*) ("sjis \t(&S)" . ,*encoding-sjis*) ("auto \t(&A)" . ,*encoding-auto*) ("euc-jp \t(&E)" . ,*encoding-euc-jp*) ;("jis \t(&J)" . ,*encoding-jis*) )) (add-menu-item menu :select "詳細指定\t(&_)" #'(lambda (encoding) (interactive "zEncoding: ") (funcall encode-func encoding))) (setq *encoding-menu* menu))))
- 333 名前:332 つづき [2008/02/12(火) 06:02:04 ID:SUwXSJwZ0]
- ; ポップアップ
(defun revert-buffer-encoding-popup2 () (interactive) (track-popup-menu (encoding-menu #'revert-buffer))) (defun encoding-menu-in-file-autoload () (let ((filemenu (get-menu *app-menu* 'ed::file))) (insert-popup-menu filemenu (1- (get-menu-position (get-menu *app-menu* 'ed::file) :above-session)) (encoding-menu #'revert-buffer) "Reopen with Encoding (&G)\tC-c e"))) (defun set-default-process-encoding (encoding) (setq *default-process-encoding* encoding)) (defun process-encoding-popup () (interactive) (track-popup-menu (encoding-menu #'set-default-process-encoding))) (add-hook '*init-app-menus-hook* 'encoding-menu-in-file-autoload) ; ポップアップのキー設定 (global-set-key '(#\C-c #\e) 'revert-buffer-encoding-popup2) (global-set-key '(#\C-c #\C-e) 'process-encoding-popup) ---------------------- 終わり
- 334 名前:332 つづき [2008/02/12(火) 06:38:55 ID:SUwXSJwZ0]
- メニュー二ついるのに、 *encoding-menu* しかないから片方できなくて当たり前だ・・・orz
; エンコーディング変更ポップアップ と メニューに追加 (defvar *encoding-menu* nil) (defvar *process-encoding-menu* nil) (defun encoding-menu (encoding-menu encode-func) (or encoding-menu (let ((menu (create-popup-menu))) (mapc #'(lambda (x) (add-menu-item menu nil (car x) #'(lambda () (interactive) (funcall encode-func (cdr x))))) `(("utf-8n \t(&8)" . ,*encoding-utf8n*) ("utf-16 \t(&6)" . ,*encoding-utf16*) ("sjis \t(&S)" . ,*encoding-sjis*) ("auto \t(&A)" . ,*encoding-auto*) ("euc-jp \t(&E)" . ,*encoding-euc-jp*) ;("jis \t(&J)" . ,*encoding-jis*) )) (add-menu-item menu :select "詳細指定\t(&_)" #'(lambda (encoding) (interactive "zEncoding: ") (funcall encode-func encoding))) (setq encoding-menu menu))))
- 335 名前:332 [2008/02/12(火) 06:39:47 ID:SUwXSJwZ0]
- ミスッタ orz
; エンコーディング変更ポップアップ と メニューに追加 (defvar *encoding-menu* nil) (defvar *process-encoding-menu* nil) (defun encoding-menu (encoding-menu encode-func) (or encoding-menu (let ((menu (create-popup-menu))) (mapc #'(lambda (x) (add-menu-item menu nil (car x) #'(lambda () (interactive) (funcall encode-func (cdr x))))) `(("utf-8n \t(&8)" . ,*encoding-utf8n*) ("utf-16 \t(&6)" . ,*encoding-utf16*) ("sjis \t(&S)" . ,*encoding-sjis*) ("auto \t(&A)" . ,*encoding-auto*) ("euc-jp \t(&E)" . ,*encoding-euc-jp*) ;("jis \t(&J)" . ,*encoding-jis*) )) (add-menu-item menu :select "詳細指定\t(&_)" #'(lambda (encoding) (interactive "zEncoding: ") (funcall encode-func encoding))) (setq encoding-menu menu))))
- 336 名前:332 [2008/02/12(火) 06:40:14 ID:SUwXSJwZ0]
- ; ポップアップ
(defun revert-buffer-encoding-popup2 () (interactive) (track-popup-menu (encoding-menu *encoding-menu* 'revert-buffer))) (defun encoding-menu-in-file-autoload () (let ((filemenu (get-menu *app-menu* 'ed::file))) (insert-popup-menu filemenu (1- (get-menu-position (get-menu *app-menu* 'ed::file) :above-session)) (encoding-menu '*encoding-menu* 'revert-buffer) "Reopen with Encoding (&G)\tC-c e"))) (defun set-default-process-encoding (encoding) (setq *default-process-encoding* encoding)) (defun process-encoding-popup () (interactive) (track-popup-menu (encoding-menu *process-encoding-menu* 'set-default-process-encoding))) (add-hook '*init-app-menus-hook* 'encoding-menu-in-file-autoload) ; ポップアップのキー設定 (global-set-key '(#\C-c #\e) 'revert-buffer-encoding-popup2) (global-set-key '(#\C-c #\C-e) 'process-encoding-popup) ---------------------------- 終わり
- 337 名前:332 mailto:sage [2008/02/12(火) 06:59:15 ID:SUwXSJwZ0]
- 途中ミスってました。気づいたら、xyzzyのメニューがなくなっててびっくりした
何度も吸いません > (defun encoding-menu-in-file-autoload () > (let ((filemenu (get-menu *app-menu* 'ed::file))) > (insert-popup-menu filemenu > (1- (get-menu-position (get-menu *app-menu* 'ed::file) :above-session)) > (encoding-menu '*encoding-menu* 'revert-buffer) > "Reopen with Encoding (&G)\tC-c e"))) (defun encoding-menu-in-file-autoload () (let ((filemenu (get-menu *app-menu* 'ed::file))) (insert-popup-menu filemenu (1- (get-menu-position (get-menu *app-menu* 'ed::file) :above-session)) (encoding-menu *encoding-menu* 'revert-buffer) "Reopen with Encoding (&G)\tC-c e")))
|

|