xyzzyの使い方が分か ..
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)
296:続き
08/02/07 13:25:29 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:続き
08/02/07 13:26:19 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:名無しさん@お腹いっぱい。
08/02/07 13:36:31 wXHmQfE90
>>294の
(refresh-screen 1)
の後ろに
(when *multiple-replace-replace-whole-buffer*
(goto-char (point-min)))
を追加した方がいいかも。
299:名無しさん@お腹いっぱい。
08/02/07 14:20:16 FAsMFBYF0
>>292
どうもありがとうございます。>>292-298 を multiple-replace.l (20050413)
の該当箇所と置き換えてみましたが、M-x multiple-replace-string だと
現在のバッファのみしか置換されませんねぇ。
multiple-replace.lc は一端削除してあります。
300:名無しさん@お腹いっぱい。
08/02/07 14:35:25 wXHmQfE90
>>299
再ダンプしてないんじゃないの?
301:名無しさん@お腹いっぱい。
08/02/07 15:21:39 FAsMFBYF0
>>300
あちゃ〜、仰る通りです。すみませんでした。m(_ _)m
302:名無しさん@お腹いっぱい。
08/02/07 15:52:29 fKcAIYUe0
即興でそんな風に組み上げられるようになりたひ…
303:292
08/02/07 16:07:22 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:名無しさん@お腹いっぱい。
08/02/10 15:01:07 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:名無しさん@お腹いっぱい。
08/02/10 15:19:30 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
08/02/10 15:21:40 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:名無しさん@お腹いっぱい。
08/02/10 19:35:33 Geg9SBWH0
>>305-306
さんクす
exportしなくても、>>306で動きました。
ed::ってパッケージ名?でしょうか。指定すればいいんですね。
308:174
08/02/10 20:19:04 0J69YBkb0
>>307
editor::の略。
309:名無しさん@お腹いっぱい。
08/02/10 23:49:13 Geg9SBWH0
以前に、現在のバッファの文字コードを変えられないかと質問した者です。
前に教えていただいた方法では、バッファを再読み込みしてエンコードを変えられました。
ファイルだとうまくいっていたのですが、
ファイルではなく名前付きのバッファだとうまくいきません orz
「ファイル名がありません」と言われてしまいます。
例えば、C-@ や ruby-mode の C-c C-x などの
標準出力や実行したコマンドなどで出力したバッファです。
バッファの内容はそのままにエンコードを切り替える方法ないでしょうか?
前の方法は再読み込み、というところにヒントがあると思うのですが・・・
310:名無しさん@お腹いっぱい。
08/02/11 00:14:30 8x6C6XBu0
>>309
リファレンスやlispディレクトリ以下のソースコードを参考に自分で書いてみたら?
311:名無しさん@お腹いっぱい。
08/02/11 00:15:58 7Ad5u+xK0
>>309
選択して
編集→変換→漢字コード→自動判定
とか
312:309
08/02/11 00:23:34 4QznQESt0
(set-buffer-fileio-encoding *encoding-utf8*)
などとやってみたのですが、バッファのステータスバー?の表示はurf-8に変わるのですが、
実際の表示は変わりませんでした。
>>310
みてみてます。
>>311
この操作でとりあえずバッファの内容は、読めるようになるのですが、
次にコマンドを実行したときに、引き継いでくれません orz
出力するときに、sjisにエンコードしないといけないんですかね・・・
逆に言うとsjisしか出力できない?
313:名無しさん@お腹いっぱい。
08/02/11 00:24:35 8x6C6XBu0
set-buffer-fileio-encodingあたりが参考になるかな。
自分で書いてみるのがlisp覚えるには一番だと思うけどね。
314:名無しさん@お腹いっぱい。
08/02/11 00:30:12 8x6C6XBu0
おっとかぶった。
じゃあconvert-encoding-to-internal、convert-encoding-from-internalあたりかな。
これもリファレンスにあるけどね。
315:名無しさん@お腹いっぱい。
08/02/11 00:40:18 4QznQESt0
あああ、なんかわかってきた。
共通設定の文字エンコーディングの判定で「自動判定」から「UTF-8」にしても、
C-&とか、ruby-modeのC-c C-x とかの一時的なバッファは、全部sjisのままでした。
バッファに出力前に、 >>314とか、>>312のようなエンコードの設定を個別にしてやらないといけない?のですかね。
lispごとに個別対応せなあかんのか・・・('A`)
316:名無しさん@お腹いっぱい。
08/02/11 00:50:18 8x6C6XBu0
よくわからんが
*default-fileio-encoding*とかじゃなくて?
317:名無しさん@お腹いっぱい。
08/02/11 08:21:18 4QznQESt0
エンコーディングの設定を弄りながら、試しているのですが、
アラビア語ってもしかして xyzzy は対応してないんでしょうか?
IEで表示したアラビア語を UTF-16やUTF-8のバッファに張り付けても、
豆腐になってしまいます
リァル・ウル・ァル・リケル・館・
?????? ?????
318:名無しさん@お腹いっぱい。
08/02/11 08:57:40 4QznQESt0
調べましたら、xyzzyはアラビア語は非対応なんすね。
言われてみると確かに右から左だし特殊だもんな・・・。
下のサイト見てたら、UIのコントロール類はUNICODE非対応なんですね。
文字のデータはUNICODE対応なのに、ちょっとびっくり。
「xyzzy」の検索結果 - tsuge development page
URLリンク(d.hatena.ne.jp)
319:名無しさん@お腹いっぱい。
08/02/11 11:14:00 WV462O5U0
UIのコントロールまでウニコードにしたらwin98やMeで動かなくないか?
320:名無しさん@お腹いっぱい。
08/02/11 14:15:42 gHRWQnnJ0
98?Me?そんなものは切り捨ててしまえっ
321:名無しさん@お腹いっぱい。
08/02/11 14:18:24 zm6bzkex0
Cでいう__LINE__みたいなマクロって、xyzzyにある?
322:名無しさん@お腹いっぱい。
08/02/11 14:44:09 VqxxbeLC0
>>321
なさげ。
toggle-trace-on-error と、バイトコンパイルしないで実行させることで
たいていの場合は十分わかる。
>>318 のリンク先を見てて思いだしたが、xyzzy はシステムフォントで
メニューを表示しているんだよね。それなら、MS ゴシック等で決めうち
されていたほうが、日本語Windows以外で使用する場合も、フォント追加だけ
で済むから、まだましなんだよな。
323:321
08/02/11 15:13:04 zm6bzkex0
>>322
無いのか・・・
じゃ、教えてくれたの使うわ。ども。
324:名無しさん@お腹いっぱい。
08/02/11 19:51:15 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:名無しさん@お腹いっぱい。
08/02/11 20:04:31 8x6C6XBu0
>>324
info-modoki-modeなら全文検索できるよ。
aproposでもできたと思う。
326:名無しさん@お腹いっぱい。
08/02/11 20:19:44 4QznQESt0
できた!!!11
C-& や、 ruby-mode のC-c C-xなどで、出力される文字コードを指定する方法
(setq *default-process-encoding* *encoding-euc-jp*)
encoding.lに定義されてた・・・
デフォルトは、*encoding-sjis*になってます
個別の対応コードいらない!!ヨカタ
みなさん、つきあってくれてありがとうございました。
327:名無しさん@お腹いっぱい。
08/02/11 21:07:27 4QznQESt0
>>325
ありがとう。
とりあえず、リファレンスの chm を全文検索したかったので、
xy-reference.l の
1132行目を
Full-text search=Yes
に書き換えて、chmをコンパイルしてみました。
上手くいきました。
しかし、なんで、デフォルトは、Full-text search=Noになっているんだろ???
328:名無しさん@お腹いっぱい。
08/02/11 23:12:02 ncxJHqiF0
emacs で (query-replace-highlight t) した時のような効果を
xyzzy で行うことはできますか?
329:名無しさん@お腹いっぱい。
08/02/11 23:20:03 qAaYVA730
> emacs で (query-replace-highlight t) した時のような効果を
kwsk
330:名無しさん@お腹いっぱい。
08/02/12 00:41:06 PWVPl84S0
>>329
query-replace-stringすると
ヒットした文字列が順番に選択(?)されて変換するか聞いてきますよね
このときに選択されていない変換候補の文字列もハイライト処理されます
例をあげると下の文字を abc -> aaa でquery-replace-stirng
一つ目のabcの置換を聞かれてる時点で 2個目の abc がハイライトされています
abc def abc
331:名無しさん@お腹いっぱい。
08/02/12 01:02:51 Izq8RB5W0
multiple-replace.lが更新されてます
332:名無しさん@お腹いっぱい。
08/02/12 06:01:37 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 つづき
08/02/12 06:02:04 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 つづき
08/02/12 06:38:55 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
08/02/12 06:39:47 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
08/02/12 06:40:14 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
08/02/12 06:59:15 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")))
338:名無しさん@お腹いっぱい。
08/02/12 08:42:10 v6FfctgN0
>>337
*encoding-menu*がnilのままなんじゃない?
toggle-trace-on-errorや途中に(msgbox "~A" 変数名)みたいなのを入れて、どこがバグってる
のか調べてみるといいよ。
339:名無しさん@お腹いっぱい。
08/02/12 08:45:23 v6FfctgN0
>>330
関数perform-replaceの途中にでも変数patternをハイライトするような処理を書けばいいと思う。
scan-bufferで検索してset-text-attributeで色を付けたり、regexp-keyword-listを使ったりすれば
いいんじゃないかな。
340:332
08/02/12 10:47:21 SUwXSJwZ0
>>338
>>335-226 + >>337の修正で一応期待の動作をしているようでした。
すいません。誤解を与えてしまいました。
341:名無しさん@お腹いっぱい。
08/02/12 11:18:47 v6FfctgN0
>>340
あれ、>>335-336 + >>337の修正でもメニューが消えるような気がするけど。
まあ、そちらで動くならいいんじゃないですか。
342:名無しさん@お腹いっぱい。
08/02/12 11:45:57 v6FfctgN0
ああ、全角スペースがあるせいか...失礼。
字下げは半角空白を&nbsp;に(一つおきに)変換するといいらしいですね。
343:名無しさん@お腹いっぱい。
08/02/12 21:12:50 8gfYZCME0
>>324
>*expected-fileio-encoding*
>なんぞこれ?
insert-file-contentsでファイルを挿入する時の文字コードを指定できるっぽいので使ってマス
(find-file-internal()→find-file-readin()の流れより推測)
344:332
08/02/13 02:29:19 +OZov14y0
>>342
nbsp;すかー。今度使ってみる
>>343
確認しました。確かに、inser-fileなどのエンコーディングに使われてますね
345:名無しさん@お腹いっぱい。
08/02/14 19:13:20 jXWgpAyH0
ぐはっ、pwの復号鍵また忘れたのかよ、俺OTL
ってか、おかしいな、なんで開けんのかなあ
346:345
08/02/14 19:19:46 jXWgpAyH0
いや、開けた
この間大掛かりな入れ替えやったんで
ccrypt.exeにパスが通ってなかっただけだった
スレ汚しスマソ
347:名無しさん@お腹いっぱい。
08/02/16 01:22:02 9pj0nuev0
久しぶりに gnugo をやろうかと思ったんだけど、動かん。
だれかhelp
348:名無しさん@お腹いっぱい。
08/02/16 01:44:25 9pj0nuev0
--mode=emacs が無くなっていた。orz
349:名無しさん@お腹いっぱい。
08/02/16 10:28:08 Yih2MVn00
そんなのあったんだ
350:名無しさん@お腹いっぱい。
08/02/16 10:42:07 Yih2MVn00
2ch-modeの追っかけスレ一覧で
「このスレからこのスレまで全部マークする」
あるいは
「この板のスレをマークする」
ってする方法ありませんか。
サーバがてんぽったスレが混じってると更新チェック時
止まったり聞いてきたり煩わしいので
それ以外のスレだけマークしてチェックしたいなーと。
今は m m ↓ の連打のあと m r したりしてやってます。
351:名無しさん@お腹いっぱい。
08/02/16 18:41:37 pGz4J8zJ0
>>350
ナローイングとキーボードマクロで足りそうな気がするけど
(defun tracking-mark-region (beg end)
(interactive "r")
(save-excursion
(when (< end beg)
(let ((tmp beg))
(setq beg end end tmp)))
(goto-char beg)
(while (< (point) end)
(2ch::tracking-mark-set)
(unless (next-line 1)
(return)))))
352:名無しさん@お腹いっぱい。
08/02/17 00:36:24 zmOC4M1v0
そうかキーボードマクロという手もあったか…
ありがとうございます。これでどこが落ちても安心です。
できたのを見ると難しくなさそうんだけどなー
353:名無しさん@お腹いっぱい。
08/02/17 11:48:05 H+EE5hn/0
自分は
(setq *ignore-host-regexp-list-on-track-updating* '("pc11\\.2ch\\.net" "game14\\.2ch\\.net"))
(defun tracking-update-list (&optional ignore-error marked-only)
(interactive)
:
(when (and (not (thread-dat-kako-p (tracking-list-dat track)))
(or (not marked-only)
(board-mark-p i)))
(let (ignore-line-flag
(hostname (tracking-list-host track)))
(dolist (ignore-host-regexp *ignore-host-regexp-list-on-track-updating*)
(when (string-match ignore-host-regexp hostname)
(setq ignore-line-flag t)))
(unless ignore-line-flag
(reverse-line)
(refresh-screen)
:
てな感じで特定のホストを除外してる。
354:名無しさん@お腹いっぱい。
08/02/19 10:59:52 UJLKPsZQ0
outline-tree2でツリー表示名を判定部の次の行を表示したいんだけど、やり方がわからない…
[ほげ]
ぴよ
とあったら
ツリーで表示したいのは
[ほげ]
でなく、
ぴよ
にしたいんだけど…
355:名無しさん@お腹いっぱい。
08/02/19 11:52:22 zzbmqgXT0
tips/カレンダーの祝日を最新に
URLリンク(xyzzy.s53.xrea.com)
バイトコンパイルしようとすると、
文字列が終了していません
と言って怒られるのですが、どうしたらいいでしょう?
356:名無しさん@お腹いっぱい。
08/02/19 12:45:59 MFRQReTw0
文字列を終了させてください
357:名無しさん@お腹いっぱい。
08/02/19 19:38:42 BsBqGiZQ0
>>355
おそらくコピペした際にゴミでも入ったんだろう。
・新規ファイルを作ってもう一回コピペする。
・それで駄目ならダブルクォートの対応を確認する。
358:名無しさん@お腹いっぱい。
08/02/19 19:42:41 BsBqGiZQ0
あとファイルのエンコーディングも確認した方がいいかもね。
SJIS以外で保存してると、一見問題なさそうなコードでも
エラーが出る事もあるから。
359:名無しさん@お腹いっぱい。
08/02/19 20:26:30 FhKRO0sW0
保存せずに×を押して「やっちまーたー」って事が多いのですが、
保存していない場合は閉じようとしても確認するようにできますか?
何か設定を触ってしまったのかな・・・。デフォでこれでしたっけ?
360:名無しさん@お腹いっぱい。
08/02/19 20:44:32 BsBqGiZQ0
確かデフォでは確認ありの筈。
モードに関係なく確認なしで終了するのけ?
361:名無しさん@お腹いっぱい。
08/02/19 21:09:31 ranz9ZQX0
>>359
この辺を参考にすれば?
URLリンク(hie.s64.xrea.com)
362:名無しさん@お腹いっぱい。
08/02/19 22:10:47 5Zru6txd0
>359
もしかして、*scratch* に書いてたりしないよね?
363:359
08/02/19 23:25:22 qo6PTLRt0
>>360-362
皆さんありがとう
アフォでした、scratchに書いていたんですね。
scratchに重要なメモをする癖があったようで・・・。orz
お騒がせしました。
361さんの先を参考にしてscratchの保存確認も常に行うようにしてみますです
364:名無しさん@お腹いっぱい。
08/02/19 23:37:46 idCZyvKk0
>>363
この3っつ入れとけばかなり幸せになるよ。
URLリンク(hie.s64.xrea.com)
URLリンク(xyzzy.s53.xrea.com)
URLリンク(xyzzy.s53.xrea.com)
#昔 scratch-plus ってのがnetinstallerにあったんだけど消えてんのか。
365:名無しさん@お腹いっぱい。
08/02/19 23:58:51 cd+0cuU30
scratch をメモ代わりに使う on xyzzy
URLリンク(womo.nconc.net)
memorandomを使って履歴を取ってる。
366:名無しさん@お腹いっぱい。
08/02/20 00:13:45 tGVwZhK/0
ども。
>>354
「アウトラインツリー設定」の「正規表現」タブで以下のように指定を。
^\[.*\] *\n\(.*\)
問題なければ適当に正規表現を微調整した後に、
「アウトライン作成関数の生成」でもどうぞ。
367:名無しさん@お腹いっぱい。
08/02/20 09:42:46 q9R+TuS50
XP から Vista に変更しました。
IE の HTML ソースを開くエディタに xyzzycli.exe を設定しました。
それなのに、すでに開いている xyzzycli で開かず、
もう一つ xyzzy が起動します。
2 つ xyzzycli が開いた状態で、
エクスプローラから何かファイルを開こうとすると
「xyzzyとの通信でエラーが発生しました」というダイアログが出ます。
XP の時は大丈夫だったのですが、
Vista でもうまく使う方法はありませんか。
368:名無しさん@お腹いっぱい。
08/02/20 09:48:26 k5pitGmK0
VistaだとIEは別ユーザで動作しているような状態になってるんじゃないかね。
369:名無しさん@お腹いっぱい。
08/02/20 11:18:55 /9zWxSYz0
>366
似たようなことをやっていたんですが、どうやらoutline-treeの使い方が間違っていた模様o....rz
(見出し解析の正規表現のほうでやろうとしていた)
指定された方法で行い、必要なものを追加すると想定したものが作成されました。
ありがとうございました。
370:名無しさん@お腹いっぱい。
08/02/20 11:37:48 EI87wZg50
>>357
>>358
ありがとうございます。utf-8nで保存していたのが原因でした。
SJISに治したところ無事バイトコンパイルできました。
371:名無しさん@お腹いっぱい。
08/02/20 11:59:40 q9R+TuS50
>>368
なるほど。
xyzzy の質問ではなく Vista の質問になってしまい恐縮なのですが、
どこで設定できるものなのでしょうか…。
( プロパティなども探したのですがわからなくて )
372:名無しさん@お腹いっぱい。
08/02/20 18:56:32 4z6nW4tM0
>371
かなり手抜きだがSleipnir使っとけ。
低い権限で動くのはIEだけ。
373:名無しさん@お腹いっぱい。
08/02/20 22:05:26 q9R+TuS50
>>372
ありがとうございます。
Sleipnir を入れてみました。
軽くていいですねー。
でも同じです…。
IE のソースを開くのに、どのかのサイトで見た
レジストリを変更して xyzzycli にしたのですが、
ほかの Vista ユーザは大丈夫なんでしょうか?
374:名無しさん@お腹いっぱい。
08/02/21 01:37:35 OvBqmuxY0
ども。
>>369
> (見出し解析の正規表現のほうでやろうとしていた)
これが正しいなんていう使い方はないですが、私はまさにその方法の通り、
その場その場で正規表現を書いて見出し解析の正規表現でアウトラインを
作ってファイルを確認しています。
一定の正規表現を使い続ける場合には、アウトライン作成関数を生成
するのもよいですね。
375:名無しさん@お腹いっぱい。
08/02/21 12:42:43 Lljx7OvK0
Windows を再起動する度に各 mode の色分けがおかしくなる現象が出ています。
1. html+-mode を使って HTML 編集。
2. Windows 再起動。
3. html+-mode の色が xml-mode の色に。(しかし機能的には html+-mode)
4. Windows 再起動。
5. 今度は css-mode の色が何か他の mode の色に。(しかし機能的には css-mode)
こんなん経験したひといますか。
376:375
08/02/21 17:39:21 Lljx7OvK0
html+-mode.l と siteinit.l バイトコンパイルしなおしたら html+-mode も css-mode も直った。
おさーがせしました。
377:名無しさん@お腹いっぱい。
08/02/21 23:38:13 l18cwfyj0
>>373
XPにアップグレード。
378:名無しさん@お腹いっぱい。
08/02/21 23:55:03 W2UeIQDJ0
>373
Vista使ってないからよくわからん。
会社でテスト機に入れたVistaをちょっと触っただけなのでIEのソースを開くのとか試さなかったよ。
UACとか影響してるのかなぁ?
379:名無しさん@お腹いっぱい。
08/02/21 23:56:06 5OgdfT3L0
2000もあるでよ
380:名無しさん@お腹いっぱい。
08/02/22 00:19:12 x6dXvwtL0
(dolist (c '(#\C-0 #\C-1 #\C-2 #\C-3 #\C-4 #\C-5 #\C-6 #\C-7 #\C-8 #\C-9))
(global-set-key c 'digit-argument))
これってどういう風に動くんでしょう?
Emacs風キーバインドに近づける、の他のコマンドについてはだいたいわかったのですが。
あとファイル―新規作成に当たるコマンドの名前がわかりません。
調べ方も……。どこを見ればいいのかな……。
381:名無しさん@お腹いっぱい。
08/02/22 02:29:33 /bbFQVmb0
>>380
(global-set-key #\C-0 'digit-argument)
(global-set-key #\C-1 'digit-argument)
...
(global-set-key #\C-9 'digit-argument)
のように展開されて,
M-2 aの代わりにC-2 aと打てるようになります.
(aを2回入力する)
新規作成は
1. C-x C-fして存在しないファイル名を入力
2. 適当に何か書いて保存
とやるのが普通.
382:名無しさん@お腹いっぱい。
08/02/22 02:37:21 PACRPcr+0
>>380
ファイル−新規作成のコマンドは new-file。lisp/app-menu.l を見ればわかる。
まあ確かに >>381 のやり方のほうが普通だとは思うけど。
とりあえず何か調べたかったら lisp ディレクトリを grep してみるといいかも。
383:名無しさん@お腹いっぱい。
08/02/22 09:53:27 h87OB2zF0
>>378
UAC 外したら OK でした!
でも、会社のため UAC 外すと怒られるんです。
UAC となると方法はないものなのでしょうか。
>>377
あー。XP に戻したい…。2000 は勘弁。
384:383
08/02/22 10:07:26 h87OB2zF0
会社でも騒いでいたら原因が分かりました。
「だいな」というファイラを使っているのですが、
「だいな」から xyzzycli を起動するとダメでした。
エクスプローラからなら大丈夫。
だいなも UAC も Vista も捨てられないのが残念。
( 今となっては Sleipnir も )
385:名無しさん@お腹いっぱい。
08/02/24 20:46:12 npd+fK9m0
>>381-382
ありがとうございます。
あと昇順ソートはEmacs風キーバインドに近づける、の
sort-lines使えば良いんですが、
降順ソートをC-u M-x sort-linesで行うことは可能ですか?
やってみたら普通に昇順にされたんですが、
そもそもC-u M-x って普通のM-x と違うんでしょうか。
386:名無しさん@お腹いっぱい。
08/02/24 20:49:56 npd+fK9m0
あとできればreverse-regionも欲しいところです……。
387:名無しさん@お腹いっぱい。
08/02/24 21:55:22 VtaVyXU50
> 降順ソートをC-u M-x sort-linesで行うことは可能ですか?
こんなとか。
(defun sort-lines (start end &optional rev)
(interactive "*r\np")
(filter-region (format nil "sort~@[ /r~]" rev) start end))
> そもそもC-u M-x って普通のM-x と違うんでしょうか。
違います。C-u M-x の方はコマンドに対して引数を渡しています。
詳細は「前置引数」「universal-argument」を調べてください。
388:名無しさん@お腹いっぱい。
08/02/24 22:20:06 npd+fK9m0
>>387
できました。
ありがとうございます。
あと前置引数調べてみました。
interactive で引数を受け取るようにしてそのままそれを
sortに渡しているようですね。
まだまだ勉強が足りないので詳細はわかりませんが
ありがとうございます。
389:名無しさん@お腹いっぱい。
08/02/24 22:21:05 psOzRihu0
>>386
(defun emacs-reverse-region (start end)
(interactive "*r")
(let* ((s (save-excursion (goto-char (min start end))
(unless (bolp) (goto-eol) (forward-char 1))
(point)))
(e (save-excursion (goto-char (max start end))
(unless (and (eolp) (not (bolp))) (goto-bol) (backward-char 1))
(point)))
(l (split-string (buffer-substring s e) "\n" t)))
(when (< s e)
(delete-region s e)
(goto-char s)
(insert (format nil "~{~A~^~%~}" (reverse l))))))
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5375日前に更新/293 KB
担当:undef