xyzzyの使い方が分からぬやし 励ましあえ その7
xy乙乙y
乙です。
おつおつ
*default-buffer-mode* って関数指定できるんですね
今まで知らなかった
>>7 (funcall) できるものだったら指定できますね。
9 :
名無しさん@お腹いっぱい。:2005/05/25(水) 15:24:56 ID:9Ew99nZ1
マウス操作だけで、キーバインド変更できますか?
>>9 スクリーンキーボード
IMEパッド
コピーアンドペースト
etc
新スレ早々、基本的な質問よろしいでしょうか?
1年くらい前からxyzzyを使っているのですが
今までは
C-x C-f → ファイル名を入力 → リターンキー で
ファイルを開くことができたのですが
ある日突然、何の設定も変えてないのに
C-x C-f → ファイル名を入力 → リターンキー の後
ファイルが開かず、単一ウィンドウのファイラが出るようになりました。
もちろんそのファイラを使えば、ファイルを開けることはできるのですが
手間が増えてしまって、ちょっと不便してます。
以前のように
C-x C-f → ファイル名を入力 → リターンキー で
ファイルを開けれるように戻せないでしょうか?
わかりにくい文で申し訳ないです。。。
C-x C-fってやってる?
C-c C-fってやるとファイラが出るけど。
>>13 M-x find-file でも同じ?
また入力したファイル名は合っているか (拡張子を含めて) ?
>>13 ディレクトリを開こうとしたり、
ファイル名にワイルドカードが含まれているとそういう動作をします。
共通設定→さまざま→[...]はワイルドカード
のチェックが入っていたらはずしてみてください。
17 :
13:2005/05/27(金) 08:12:16 ID:AYz+tmlf
>>14-16 さっそくの回答ありがとうございます。
>>16さんの言われたとおり、ワイルドカードのチェックをはずしたら直りました。
>>14さん、
>>15さんもありがとうございました。
もっと、使いこなせるようになりたいです。
いろいろ便利な機能があるのに
テキストファイルやhtmlファイルの編集くらいにしか使えてないとです…。
無理やり色々使わなくてよい。
必要なところで役に立てばそれで十分と言う考え方も。
>13
>ある日突然、何の設定も変えてないのに
うそつき・・・(−。−)
まあまあw
実際出来ることがありすぎて、どうしたらいいかわからなくなるんだよな。
RPGでなんの目的も無く放り出された感じ。Sagaとかだな。
Might&Magicとかな。
質問です.
ローカル設定の「インデントにタブを使う(T)」のチェックを外しても,Tabキー
を押すとタブ文字が入力されてしまいます.半角スペースになりません.
Fundamental, Text, html, sql-mode で試してみましたが,どれも同じでした.
何が原因だと思われますか?xyzzy 0.2.2.234 on Windows2000 です.タブ文
字は表示するように,タブ幅は4文字に設定してあります.
>>23 おそらく単に self-insert-command が割り当てられているためでは?
lisp-mode でもそうなりますか?
25 :
23:2005/05/27(金) 22:58:38 ID:AoPHpAJR
>>24 ありがとうございます.*scratch* バッファでは確かに半角スペースになりま
す. tab 文字になりません.もっとも,「インデントにタブを使う(T)」チェッ
クは何の影響も与えませんが.
(Lisp Interaction) では lisp-indent-line が TABキーに割り付けてあり,
他のモードでは self-insert-command が割り付けてあることを確認しました.
例えば sql-mode で,TABキーで4文字分の半角スペースを入力するには,どう
設定したらよいのでしょうか?
>>25 こんな感じですかね。
self-insert-command である限りタブ文字が挿入されるので
キーバインディングを変えるしかないかなと。
(define-key ed::*sql-mode-map* #\TAB
#'(lambda () (interactive) (insert #\SPC *tab-columns*)))
27 :
23:2005/05/28(土) 00:27:44 ID:2UCez/It
>>26 ありがとうございます.しかし,大変失礼ですが,違和感が残ります.もしそ
のような設定をしなければならないなら,「インデントにタブを使う(T)」の
チェックボックスは,事実上何の効力もない,無価値な設定項目になってしま
います.
他の皆さんのところでは,ちゃんとこのチェックボックスは反映されていると
思うのです.もしそうでないなら,先に問題になっているはずですから.
なぜ自分のところだけ,これが反映されないのか,疑問なのです.
>>27 > ありがとうございます.しかし,大変失礼ですが,違和感が残ります.
残念ですが、コード上からも事実です。
> もしそのような設定をしなければならないなら,「インデントにタブを
> 使う(T)」のチェックボックスは,事実上何の効力もない,無価値な設定
> 項目になってしまいます.
無価値だとは思いませんが、効力を完全に強制するものではないです。
> 他の皆さんのところでは,ちゃんとこのチェックボックスは反映されていると
> 思うのです.もしそうでないなら,先に問題になっているはずですから.
basic-indent-line
c-indent-line
lisp-indent-line
辺りが #\TAB キーに設定されているモードでは「ちゃんと反映される」
ということです。
他のインデントについては、特に tabs-indent-mode の値は考慮されて
いませんが、これまで問題になっていません。
> なぜ自分のところだけ,これが反映されないのか,疑問なのです.
全員が、その反映のされかたです。
ソースコードは全部見ることができるんだから,
気に入らなければ自分で直せばいいだけ
>>27 TABキーでは効果はないですが、C-RETでのオートインデントでは効果があります。
32 :
23:2005/05/28(土) 02:29:44 ID:16T1YsZD
>>28-30 ご返事,遅くなりました.これが正常な挙動だったのですか.少々驚きました.
Eclipse の様にどのモードでも半角スペースが挿入されるものと思っていまし
た.この設定項目が,C-mode 等のオートインデント専用とは.
これで正常ということでしたら,現状のままで使うことにします.untabify
を使えばそれほど不自由はありません.自分の xyzzy が異常なのかという不
安が,質問させていただいた主な理由でしたので.
では失礼します.ありがとうございました.
>>26 > (define-key ed::*sql-mode-map* #\TAB
> #'(lambda () (interactive) (insert #\SPC *tab-columns*)))
どうでもいいことだけど、これだときっちりタブ幅分スペースが挿入されて
インデントっていうのとはちょっと違う気がする。
(add-hook 'ed::*sql-mode-hook*
#'(lambda ()
(define-key ed::*sql-mode-map* #\TAB
#'(lambda ()
(interactive)
(indent-to (+ (current-column)
(tab-columns (selected-buffer))
(- (mod (current-column) (tab-columns (selected-buffer))))))))))
34 :
23:2005/05/28(土) 16:35:38 ID:2UCez/It
>>33 おお,こんな簡単なスクリプトで実装できてしまうのですね.これはちょっと,
はまってしまいそうです.大変ありがとうございました.
初めましてです。
つい最近xyzzyを導入してみまして,シンタックスで色変えする程度の簡単なモードを作成しています。
シンタックスの設定を
(set-syntax-start-comment *lsrc-mode-syntax-table* #\;)
(set-syntax-end-comment *lsrc-mode-syntax-table* #\LFD)
(set-syntax-string *lsrc-mode-syntax-table* #\")
(set-syntax-tag *lsrc-mode-syntax-table* #\< #\>))
というふうに記述して,コメントと文字列の色変えはできたのですが,タグの色変えができません。
共通設定のフォント設定色内にタグの項目があったため,指定するだけでいいのかと思っていたのですが,
もしかしてset-syntax-tagのみではタグの色変えはできないのでしょうか?
36 :
名無しさん@お腹いっぱい。:2005/05/29(日) 09:48:26 ID:FjEnhvHH
xyzzyでテトリスしたい
38 :
名無しさん@お腹いっぱい。:2005/05/29(日) 16:11:14 ID:FjEnhvHH
うぉ 激しくdクス!!
すみませんが初歩的な質問です.xyzzy-Lisp で,ある変数の関数側の名前空
間に,lambda関数をセットするにはどうしたら良いでしょうか?つまり,
(defun square (x) (* x x)) を setq でやるにはどうしたら良いか,という
ことです.
Emacs Lisp だと fset という関数があって,
(fset 'square (lambda (x) (* x x))) と書けばうまく行くのですが.どなた
かよろしくお願いします.
>>39 //本スレ向きだと思いまつ。
(setf (symbol-function 'square) #'(lambda (x) (* x x)))
こんなかんじかしらん?
41 :
38:2005/05/29(日) 19:44:09 ID:4evFXdBZ
>>39 ありがとうございます.ちゃんとできました.
あと一つわからないのは,なぜ lambda 式に #' を書かなければならないかで
す.と言うか,#' のない
(setf (symbol-function 'square) (lambda (x) (*x x ))) でもちゃんと動い
てしまうのです.この事情は Emacs-Lisp でも同じですね.付けても付けなく
てもいい.
Scheme だと,' を lambda 式につけたらエラーになります.私はこの Scheme
の挙動が自然だと思っていて,xyzzy-Lisp の挙動が理解できないのです.
このスレ向きの話題ではないかもしれませんが,こちらで書き始めてしまいま
したので,もうしばらくご容赦ください.
42 :
39:2005/05/29(日) 19:57:46 ID:4evFXdBZ
43 :
39:2005/05/29(日) 20:21:15 ID:4evFXdBZ
即時のお答えがないということは,簡単に説明できる内容ではない,というこ
とでしょうか.長くなるかもしれませんので,本スレに移らせていただきます.
つまらん質問で恐縮ですが、2ch-mode の追っかけスレ一覧で、
既読のスレ・タイトルと更新のあったスレ・タイトル
(デフォルトでは bold) に、それぞれ異なる色を割り当てる
には、どうしたらよいでしょうか?
$XYZZYHOME/.2ch/config.l の該当箇所をいじっても分らなかった
のでよろしくお願いします。
>>44 2ch/board.l の board-insert-line の定義を config.l にコピペして,
set-text-attribute の引数をしたみたいな感じですべて修正すればいいのでは.
あとはまんどくせーだから,自分でがん枯れ
:foreground (if bold *board-fgcolor-update-**** *board-fgcolor-*****)
;:bold bold
2ch-modeの話題が出てるので、わたしも便乗して質問させてください!
板一覧やスレッドを終了させるのに普通だと「q」を押しますが、
これをbackspaceで行うにはどうすればよいですか?
板一覧、追っかけスレ一覧、スレ一覧、スレッドの各ページを終わらせるのに
qから「bs」に変えたいんです!よろしくお願いします。
>>46 (define-key *board-map* #\C-h 'board-close)
(define-key *search-map* #\C-h 'board-close)
(define-key *thread-map* #\C-h 'thread-quit)
(define-key *tracking-map* #\C-h 'tracking-quit)
C-hとBSが同じになるのはxyzzyの仕様です。
ついでにqのバインドを解除するなら
(undefine-key *board-map* #\q)
(undefine-key *search-map* #\q)
(undefine-key *thread-map* #\q)
(undefine-key *tracking-map* #\q)
あ、板一覧の終了=2ch-modeの終了が抜けてた。
(define-key *menu-map* #\C-h 'exit)
49 :
46:2005/05/30(月) 13:10:21 ID:5ka6AD+x
>>47、48さん、ありがとうございます!
config.lに教えられた通りに書いたら「bs」に変更する事ができました。
「q」のほうですが、今すぐには解除せず、慣れるまで併用したいと思います^ ^;
わたしのような初心者の質問に丁寧に答えてくださり、本当にありがとうございました。
7-zip の File Manager から xyzzycli.exe を使いたいのですが、
設定で使用するエディタに、xyzzycli.exe を指定すると保存する時に
指定したパスが見つかりませんと怒られます。
おそらく、-wait オプションをつけて起動すればいいのだと思うのですが、
なぜかそうすると、エディタが起動できませんと 7-zip に怒られます。
xyzzy.exe だと大丈夫なんですが、書庫に反映させるためにはいちいち xyzzy を終了しないとなりません。
いろいろ不都合なので、xyzzycli.exe でファイルを保存した時点で書庫の更新が出来るといいのですが。
うまい設定の仕方をご存知の方がおられましたらぜひご教授を。
ほんとうは、xyzzyのファイラーから、書庫内のファイルを編集して
それを書庫に反映できれば一番いいのですが。
>>50 システムのプロパティで環境変数のTEMPかTMPを無難な名前の
フォルダに変えてみてはどうか?(試してないけど)
C-x-q で上書き禁止にしたら、
同時に背景色を #cccccc にし、
C-x-q で解除したら背景色を元に戻したんだけど
どうしたらいいんでしょう?
54 :
名無しさん:2005/06/01(水) 13:40:11 ID:adl4HPgR
これでどう?
(defun toggle-read-only2 ()
(interactive)
(setq bf (selected-buffer))
(if (eq buffer-read-only t)
(set-buffer-colors nil bf)
(set-buffer-colors #(0 #xcccccc) bf)
)
(toggle-read-only)
)
(global-set-key '(#\C-x #\C-q) 'toggle-read-only2)
55 :
名無しさん:2005/06/01(水) 13:42:41 ID:adl4HPgR
C-x-qか間違えた
ついでにテストコード残ってたのも直して
(defun toggle-read-only2 ()
(interactive)
(if (eq buffer-read-only t)
(set-buffer-colors nil)
(set-buffer-colors #(0 #xcccccc))
)
(toggle-read-only)
)
(global-set-key '(#\C-x #\q) 'toggle-read-only2)
>>52 おお、うまく行きました!!
ありがとうございます。
>>54-55 すげーありがとう!!!!!!!!!!!!!!!!!!!!!!
58 :
54:2005/06/01(水) 17:25:48 ID:adl4HPgR
>57
なんか喜んでくれたのでこれも足すと更によいかも
(defun set-read-only-color ()
(if (eq buffer-read-only t)
(set-buffer-colors #(0 #xcccccc))
(set-buffer-colors nil)
)
)
(add-hook '*find-file-hooks* 'set-read-only-color)
これで起動時にread-onlyで開いたら背景色変わります。
字数のカウントってできます?
もしできるのなら、やり方を教えてほしいのですが。
63 :
61:2005/06/02(木) 00:23:52 ID:AQNnJVjf
>>62 早速ありがとうございます。
これから見てみます。とりあえずお礼だけ先に。
64 :
名無しさん@お腹いっぱい。:2005/06/02(木) 08:18:14 ID:tV+RWG4p
howm-wrapをxyzzy起動時に動かしたいのですがやり方わかりません
誰か教えてください
>>64 xyzzycli.exe -f howm-menu
とか。
67 :
名無しさん@お腹いっぱい。:2005/06/02(木) 15:48:56 ID:tV+RWG4p
>>65,66
あちゃーすいません。wikiにそのまんまの質問があったんですね
今度からもっと確認してから質問するよう注意します。
どうもありがとうございます
xyzzy.exe -e (howm-menu)で出来ました
howm-wrapで%recent %randomは使えない
バージョンアップしないかな〜
wiki-modeみたいのってありますか?
2ch-modeから書き込みできなくなったようで
>>70 書き込みにcookie設定が必要になったようで
cookie機能の無い(有るの?)2ch-modeからは書き込めないようです。
orz
Cookie対策…のせいなのでしょうか?
2ch-modeからの書き込みが出来なくなったのわ
本当だ。
74 :
名無しさん@お腹いっぱい。:2005/06/03(金) 22:17:44 ID:h5mE23nv
漏れの人生オワタ…
75 :
名無しさん@Vim%Chalice:2005/06/03(金) 22:24:48 ID:CJGRbGlU
まじだしorz
http.lみた感じだとcookie対応してそうなんだけどな。どこが悪いのやら。
まいっちんぐ。
久し振りにJane起動するか。
ギコナビ以外は全滅だとかとかとか.
素直にShift oですな(vv;
navi2chは大丈夫なんですね。
さすがに「xyzzy part 10」の109さんが書かれていた
>>139の変更案でも書き込みはできず…(vv;
778 :FOX ★ :2005/06/04(土) 02:30:23 ID:???0
最近肩こりがひどくて、
>>776 お菓子は食べさせてもらうという
お行儀のよいコーディングしてください
とのこと。(お菓子=クッキー)
書けるかな?
自分はどこを書き換えればいいかわからんです。
(cond ... nil) と似たような部分を書き換えたが
ログインし直せという旨のメッセージのバッファが出るだけで
書き込めなかった。
>>87 http.lの771行目辺りから似たようなところがあるのでそこを書き換えて
バイトコンパイルしてダンプ
89 :
87:2005/06/04(土) 21:06:32 ID:UTkmQiCa
それをやってダメだったのでレスした訳で...
ちなみに Shift+o で IE 開いてレスしてます。
バッチで XYZZYHOME を設定して、2ch 用の .xyzzy を
読み込ませてます。
もう少し環境から調べ直してみます。
XPで0.2.2.234を使ってます
Ctrl+Space で Mark set をした後に
キャレットを移動させることで
リージョンを指定できますが、
このリージョンの範囲に色を付けることは出来ますか?
Shift+カーソルキーで選択範囲を指定できますが、
この選択範囲には色が付いています。
同じ事をリージョンでもしたいです。
お!レスありがとうございます
HIEさんのところからダウンロードしました
でも設定が難しい…
ライブラリのパスって任意に追加できるの?
rv-region.lをホーム以下にコピーするみたいですが
ところで、xyzzyの本があるんですね
このサイトの人が関係しているそうで…
>>6で紹介しているのはこれかな
初心者にはおすすめ?
買ってしまいそうです
Netinstallerってたまにしか使わないから、
毎回操作法を忘れてしまう。
>>93 買った方がコミュニティのためかと。
地元の図書館に納入させるも◎
…ってなしょーもないことはおいといて、初心者なら間違いなくオススメ。
ネットで入る情報ばっかだけど、ブラウズするのは面倒で、お手元にまとめた本があるのはイイ!
97 :
87:2005/06/05(日) 01:38:22 ID:VDXJc3pA
config.l をいじって元に戻して無かったのが原因でした。
お騒がせしてすみませんでした(特に 88 さん)。
xyzzy で Emacs の mcomplete のように、ミニバッファでの補完を
ヒストリからのみ行うようなものってありますか?
gnugoで遊べない(4・`) ショボーン。
碁盤の表示が全く出てこないのにクリックするとそこは打てないって文句つけられる
別のPCのxyzzyではできたのに。設定が煩雑すぎて検討出来ない
100 :
名無しさん@お腹いっぱい。:2005/06/05(日) 13:31:14 ID:LaZoi50r
2ch-modeで急に書き込みができなくなってしまいました...
書き込もうとすると、以下のような画面が出てきてしまいます。
ブラウザでは問題なく書き込めています。
<html><!-- 2ch_X:cookie --><head><title>■ 書き込み確認 ■<
/title><META http-equiv="Content-Type" content="text/html; charset=x-sjis"></head>
<body bgcolor=#EEEEEE>
<font size=+1 color=#FF0000><b>書きこみ&クッキー確認</b></font><ul><br>
<br><b> </b><br>名前: <br>E-mail: sage<br>内容:<br>2ch-modeで急に書き込みが出来なくなってしまいました...<br><br></ul>
<b>
---
>>99 これでどう?
[xyzzy Part9]より
878 [03/10/16 04:20 ID:H5V8CKwe] 某279 <sage>
>>868 コレでいけると思われ
gnugo.l
--339 (format s " --outfile ~A" (map-slash-to-backslash savefile)))
++339 (format s " --outfile \"~A\"" (map-slash-to-backslash savefile)))
他の板から来ると、このスレいい人ばっかで涙でてくるよ…
104 :
99:2005/06/05(日) 21:49:10 ID:SSgGNypF
>102
大感謝です。ありがとうございました
boot.iniの属性にかかわらず読み取り専用で開くのですがどうすれば編集できますか?
仕方がないのでこれだけメモ帳で編集してますon_
php-mode弄りすぎてわけ解らなくなった死にたい
108 :
名無しさん@お腹いっぱい。:2005/06/06(月) 20:17:45 ID:WV844fWM
OHKUBO Hiroshiさんのmultiple-replaceを使わせて頂いているのですが
特殊文字(öやäやßなど)を検索、置換、どちらともの欄にも打ち込むことができません
特殊文字の置換はM-%で置換するしかないのでしょうか
>>108 M-x query-multiple-replace
M-x query-multiple-replace-regexp
>>109 どうもありがとうございます
作者さんのHPに書いてあったんですね・・
お手数かけて申し訳ありませんでした
2ch-modeとkamailの際に立ち上げるexeを別々にしたいのですが可能?
ATOKのアプリケーション毎のプロパティ関連づけを使ってるんだけど、
この機能はexe単位で設定されるのです。2ch-modeとkamailでは
だいぶ表現が異なるので別々の関連づけをしたいのですが、
xyzzy.exeで同じだから難しい。
modeごとに異なるexeを立ち上げる方法ってありますかね?
>>111 xyzzy.exeを同じディレクトリにxyzzy1.exeとか別名でコピーを作ってやっても問題はないはずです。
実行ファイル(xyzzy.exe)とダンプファイル(xyzzy.wxpとか)以外は共有されます。
ダンプするときは二度手間ですが。
>>106 保存できるようになりました、ありがとうございます。
"boot.ini"というファイル名を読み込んだら読み取り専用にする設定があると思ったんですが検討違いだったでしょうか?
辞書引きモード使おうと思ったのですが、
gendic.exeっていまxyzzyに含まれていないのですか?
入手先等ありましたら教えてください。
ありました・・・
スマソ
electric-buffer-listってありますか?
ウインドウ下部にバッファリストがスチャッと出現して
スペースキーでそのバッファに切り替えられるやつです
>118
select-buffer じゃだめ?
list-buffersなんてのもあるが。
121 :
118:2005/06/07(火) 18:22:31 ID:A1VDZtq7
select-buffer だと、スペースキーで移動できないし(エンターキー)、
dでバッファを削除することできないし…
list-buffersだと、ウインドウが分割されたままなのがいやだな…
慣れた electric-buffer-list がいいんだけど…
いまのとこ、select-buffer が次善の策っぽいのかな
>>121 > list-buffersだと、ウインドウが分割されたままなのがいやだな…
(define-key ed::*buffer-menu-mode-map* #\SPC 'ed::buffer-menu-1-window)
こういうこと?
>>115 > "boot.ini"というファイル名を読み込んだら読み取り専用にする設定があると思ったんですが検討違いだったでしょうか?
見当違い。
システムファイルの属性があっても読み取り専用で開くみたい。
124 :
118:2005/06/07(火) 21:06:21 ID:RgyBYEog
>>122 お!なんかイイ感じ…
どうもありがとう
ただ、Ctrl-g でバッファリストウインドウを消すには
どうするんでしょうか
(Ctrl-x Ctrl-b で出したけど、Ctrl-g でやっぱやめた、としたい)
125 :
118:2005/06/07(火) 21:08:33 ID:RgyBYEog
なんどもごめんなさい
画面を2分割した状態で
>>122をしたら
画面が元の1画面にされちゃった…
select-buffer のほうがいいかな
126 :
108:2005/06/07(火) 21:18:18 ID:jJgDgnxB
>>109さんのレスでM-xからmultiple-replaceを呼び出すことはできたのですが
置換を実行することができません
どのようにすればよいのでしょうか
>>126 む、普通にできるけど。
> 置換を実行することができません
どんな状況か具体的に書くといいかも (エラーメッセージとか)。
あと M-% のコマンド名は何ですか?わからなければ、M-x describe-key
で調べられます (自分の環境では何も割り当てられていなかったので)。
128 :
108:2005/06/07(火) 22:08:16 ID:jJgDgnxB
>>127 M-x query-multiple-replace
Query replace (1): a
With (1): b
の後にどのキーを押して置換すればいいのかわかりません
Enterを押すと
Query replace (2): が出てきて延々と置換する文字を聞いてきます
129 :
108:2005/06/07(火) 22:09:44 ID:jJgDgnxB
あとM-%のコマンド名はquery-replaceになっていました
>>128 > M-x query-multiple-replace
> Query replace (1): a
> With (1): b
>
> の後にどのキーを押して置換すればいいのかわかりません
> Enterを押すと
> Query replace (2): が出てきて延々と置換する文字を聞いてきます
このタイミングで何も入力せずに Enter
132 :
108:2005/06/07(火) 23:55:02 ID:jJgDgnxB
>>131 どうもありがとうございます!できました!
xyzzy を2つ開いて、片方からもう一方に、マウスでカットアンドペースト
しようとしても、できません。良い方法は内ですか?
xyzzyを1つしか開かない
設定の「D&D編集する」はチェックしとけ。
diffを使いたくて、~/binを作成し、~/binにdiff.exeを置いて、
M-x diffで2つのファイルを選択すると、
「C:\Programは、内部コマンドまたは外部コマンド、」
というメッセージがでてしまいます。
何がおかしいのか、おわかりの方がいらっしゃいましたら、
教えて頂けないでしょうか?
ちなみに、.xyzzyには、以下のように設定しています。
(setq ed::*diff-command-name*
(map-slash-to-backslash (merge-pathnames "bin/diff.exe" (user-homedir-pathname))))
137 :
名無しさん:2005/06/08(水) 16:59:01 ID:/Mz8XlaX
>>136 確認箇所
1. *scratch* で (setq ed::*diff-command-name*
(map-slash-to-backslash (merge-pathnames "bin/diff.exe" (user-homedir-pathname))))
を入力しc-jでちゃんと実行できるdiffのパスがでるか?
2. c-x & して 1.の結果を実行して実行できるか?
たぶんXYZZYHOMEの設定し忘れの気もするけど
>>137 さん。
1を実行すると、
"C:\\Program Files\\xyzzy\\bin\\diff.exe"
が返ってきます。
しかし、2を実行すると、
「'C:\\Program' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
と返ってきてしまいます。
ちなみに、XYZZYHOMEは、環境変数のところで、
「C:/Program Files/xyzzy/」
を設定しています。
さらなるアドバイスをお願いできますでしょうか?
> "C:\\Program Files\\xyzzy\\bin\\diff.exe"
パスがスペースを含んでるから?
140 :
137:2005/06/08(水) 18:24:24 ID:/Mz8XlaX
>>138 それなら
XYZZYHOME を 「C:/PROGRA~1/xyzzy/」とすればいいはず
ちなみに原因は
>>139
(concat "\"" (map-slash-to-backslash (merge-pathnames "bin/diff.exe" (user-homedir-pathname))) "\"")
でも
"~/bin/diff.exe"
でもいいなじゃまいか
142 :
136:2005/06/08(水) 20:01:18 ID:icnTEko8
XYZZYHOME を「C:/PROGRA~1/xyzzy/」にすると、
diffを実行することができました。
いろいろと、アドバイスを有り難うございました。
まだ、xyzzyを使い始めたばかりですが、
少しづつ上達していきたいと思います。
ほんとに、有り難うございました。
二つ質問があります。
・netinstallerで認証付きのproxyを通す方法。
stoneも試してみたんですが、使い方を理解できていないらしく上手く行きません。
現在は、手動で拡張lispをDLして使用しています。
しかし、できればnetinstallerが使いたいです。
・普通にxyzzyを起動すると、ファイル(F)などのメニューが消えてAlt+X等も利かなくなる。(ESC+Xは利いた)
Ctrl+Shiftを押しながら起動すると、ファイル(F)等のメニューも表示され、Alt+Xも利く。
こちらはさっぱりです。
よろしくお願いします。
フレームを2画面分割している状態で、
ttermで立ち上げた画面とファイル参照画面との間を C-x+o でいったりきたり
出来ないもんでしょうかね?
>>146 Ctrl-] Ctrl-] で一時的にモードを変えたら目的には合わない?
>ところで tterm-char-mode って何ですか?
TELNETではターミナル側でラインバッファを持つラインモードと
一文字毎に送ってサーバ側に画面表示を全部任せるキャラクタ
モードがあり、後者をtterm-char-modeが支援します。
因みに、前者はスクリーンエディタとかカーソル位置を
いろいろ操作するような使い方に合わないので、廃れて
しまったらしくて、作ろうとしたけど中途半端に放置しました。
記憶が曖昧ですが、そんな感じ。
netinstallerやらwww-modeやら2ch-modeやら
配布元がなくなったとか復活したとか話題は拾えるんだけど
復活したサイトに行ってもダウソできねっすよ。
どうやったら入手できるか教えてください
151 :
148:2005/06/11(土) 01:03:04 ID:4xNptQ9z
>>149 どうも.レスありがとうございます.
作者の方ですか?
ラインモードだと,コマンドをリターンで送るまではxyzzy内で閉じた
処理をしていて,キャラクターモードだとキーを押すたびにサーバーに
文字を送るという認識でいいでしょうか?
あと,いろいろ質問したことがあるんですが,本スレの方でしてきます.
できれば助言お願いします
153 :
名無しさん@お腹いっぱい。:2005/06/11(土) 09:57:49 ID:TZ6kK1kC
質問です。
再ダンプした後はメニューが表示されるのですがダンプファイルがある状態で起動するとメニュうーが
表示されません。表示の仕方がわかる方ご教授願います。
いつからなったのか確実にはわからないのですが昨日JavaTinyConsoleをどう移入したときにメニューが
表示されてないのに気づきました。よろしくお願いします。
>>152 おー、そのリンクからなら落とせた。
どうやら俺がたどったのは古いリンクだったみたいで、ni-0.0.1.0に失敗してたわ。
ダウソ成功したのはni-1.0.1.0だた
すみませんが質問です。
割と頻繁に、テキストの折り返しの設定を切り替えるのですが、メニューから
だとかなり奥まったところを操作するので、手間がかかって困っています。
M-x からここを変更することはできないでしょうか?また,そのコマンド名は
何でしょうか?
158 :
156:2005/06/11(土) 16:28:38 ID:KPR5H/dv
> 折り返し無し M-x set-buffer-fold-type-none
> 指定桁で折り返し M-x set-buffer-fold-type-column
これです!これで便利になります。ありがとうございました!
Alt単独>V>N/C/Wというキー操作でもいけるけどねー。
160 :
156:2005/06/11(土) 17:04:38 ID:KPR5H/dv
> Alt単独>V>N/C/Wというキー操作でもいけるけどねー。
ああっ、こんな目立つメニューがあったのに、全然気づいてませんでした…。
私は M-x コマンドが好きなのですが、こちらも併用させていただきます。
http.l書き換えて書き込みテスト
>>160 ついでに言うと 表示>ツールバー>標準 で表示される標準ツールバーにも
折り返し方式を変更できるボタンがあります。
標準ツールバーを使わないなら邪魔なだけだけど。
>>161 藁。
俺もやっちまったよ。しかも全然関係ないスレに誤爆だたw
質問です。
Grepを行った際、過去に行ったgrepの結果を残し、
新しくバッファー名に検索パターン文字列が入るバッファーを作り、そこに表示する。
ということはできますか?
>>164 お手軽にできるのはこんな感じ
(add-hook 'ed::*grep-hook* #'(lambda ()
(rename-buffer (if (eq ed::*this-command* 'grep)
ed::*last-grep-regexp*
ed::*last-fgrep-pattern*)
(selected-buffer))))
(add-hook 'ed::*grepd-hook* #'(lambda ()
(rename-buffer (first ed::*minibuffer-search-string-history*)
(selected-buffer))))
バッファー内grepをしたい
grep結果は別バッファーに
メニューからgrepを選ぶとファイル名の指定が必須じゃないですか
まんどくさい
>>167 (defun grep-buffer (regexp)
(interactive "sgrep: \np" :default0 *last-grep-regexp* :history0 'search)
(setq *last-grep-regexp* regexp)
(ed::grep1 (compile-regexp regexp *case-fold-search*) (selected-buffer)))
169 :
168:2005/06/13(月) 00:57:19 ID:eCpmzS6m
grep結果は別バッファし忘れた.
自分で考えてくれ.
まんどくさい
>>167 > バッファー内grepをしたい
> grep結果は別バッファーに
C-u M-x grep
171 :
168:2005/06/13(月) 01:53:37 ID:eCpmzS6m
>>170 俺もC-uで別バッファーになるようになってるけど,
それってデフォルトじゃだめなんじゃない?
>>171 デフォルトでは *compilation* バッファ。
別バッファへ出力っていうのが新しいバッファへということなら
>>165 を書いておけばいい。
2ch-modeで 板一覧、(追っかけ)スレ一覧、スレ のバッファはIMEを自動的に
オフにすることは可能ですか?
(C-c q で書き込むのをやめた後、qでスレを閉じようとするとたいていIMEが
オンになっていてうまくゆかないので)
>>173 自動的にオフとは違うけど C-c q したときにオフになるようにしてみた
*save-buffer-ime-mode* を使う手もあるかも
(defun 2ch::form-delete ()
(interactive)
(let ((bufname (buffer-name (selected-buffer))))
(2ch::form-back-parent)
(delete-buffer bufname)
(toggle-ime nil)))
175 :
名無しさん@お腹いっぱい。:2005/06/13(月) 18:48:47 ID:WM9fdUnq
俺はこうしてるんだけど
(define-key *form-map* '(#\C-c #\q) #'(lambda ()
(interactive)
(form-delete)
(toggle-ime nil)))
関数を定義し直した方がいいの?
質問です。
ファイラ上で、フォルダ名が
hoge[hoge]
等と、[]が含まれる場合に新規作成 filer-input-file-name
がうまくいかんのは私の環境だけですか?
178 :
名無しさん@お腹いっぱい。:2005/06/13(月) 20:24:03 ID:WFtnnsp0
>>177 ありがとうございました。
これは気づかなかった...
180 :
174:2005/06/13(月) 20:44:45 ID:kNirkyvP
>>175 そう言われればそれでよかったね。
関数を定義し直す意味が特にあったわけではない。
質問が続いており恐縮ですが…
rss-mode で www-mode を使ってアイテムを開く場合、
ウインドウの高さやレイアウト (ブラウザの時みたいに
下一杯に表示したい) を変更するにはどうしたら
よいでしょうか。
XYZZY/.rss/config.l の rss-browser-height では
駄目なようです。よろしくお願いします。
>>182 www-mode で開き直すのでよければ使っているのがありますけど
(in-package "rss")
(defun rss-jump-in-www-mode ()
"www-modeで開きなおす"
(interactive)
(let ((targ (rss-item-current))
link)
(when targ
(setq link (rss-link targ))
(user::www-open-url link))))
(define-key *rss-mode-map* #\w 'rss-jump-in-www-mode)
184 :
178:2005/06/13(月) 21:59:09 ID:WFtnnsp0
>>181 1行コメントをトグルも入れてるのですがセレクションがない場合はコメントアウトしません。
1行コメントをトグルcomment.l と 1 行コメントトグルを合わせて使うの両方をsiteinit.lに書いております。
>>184 siteinit.l じゃなく .xyzzy(の一番最後)に移してもダメ?
186 :
178:2005/06/13(月) 22:45:40 ID:WFtnnsp0
>>184 どのモードで使っていますか?
*one-line-comment-alist* にそのモードのコメントの設定はしてありますか?
>>187 すいません。java-modeで使っていたのですが*one-line-comment-alist*になかったので追加したら
なりまりた。ご教授ありがとうございました。
もうひとつ質問です。
コメント状態でセレクションを選択してアンコメントアウトすると";;;;"と変わってアンコメントアウトできません。
お分かりの方ご教授願います。
189 :
名無しさん@お腹いっぱい。:2005/06/15(水) 02:03:00 ID:5NpC5r2u
C言語モードでタブを押してもタブが入らないので、
site-lisp の直下に siteinit.l というファイルを作って、
(define-key ed::*c-mode-map* #\tab 'self-insert-command) -> (*)
とまんまコピペしたのですが、うまくいきません。
(*) のところにあるような文、書けばいいとあったのですが、書くところが間違っていたのでしょうか?
>>189 siteinit.lの場合はダンプし直す必要がある。
それくらいのことなら.xyzzyに書いた方が楽。xyzzyを再起動するだけで良いから。
で、この辺の用語や置き場所については
>>2のQuickTourとかを参照。
Calmemoとhowm-wrapを併用したくて.xyzzyにこうしてみたのですが巧くいきません
どうしたらいいでしょうか
(add-hook '*calmemo-list-mode-hook* 'howm-mode)
changelogmemoとhowm併用のように下線をひきenterで検索したいんですが
>>190 ご親切にありがとうございました。
お陰さまで色々と設定ができるようになりました。感謝
●後々の人のため、自分が少し引っ掛かったところをメモ●
* Windows で、.xyzzy のような、拡張子のみのファイルを作るには、MS-DOS から
作る必要があった。
(define-key ed::*c-mode-map* #\tab 'self-insert-command) を .cpp のファイルに
も有効にしたい場合、
(define-key ed::*cpp-mode-map* #\tab 'self-insert-command) にする必要があった。
ちなみに、この c- と cpp- のバージョン、綺麗に1行にまとめることは出来ないでしょうか?
お暇な時にでも、ご教示願えたら嬉しいです。では、本当にありがとうございました。
>>192 あっ、間違えたのそのまま書いちゃってました(;´Д`)
× (define-key ed::*cpp-mode-map* #\tab 'self-insert-command)
○ (define-key ed::*c++-mode-map* #\tab 'self-insert-command)
です。スレ消費スマソ
194 :
名無しさん@お腹いっぱい。:2005/06/16(木) 03:22:47 ID:qsOV2uC9
ミニバッファからの Grep,Gresreg で正規表現を使うことは出来ますか?
ダイアログのは使いづらいので。
>>192 xyzzyのファイラからも作れるし、C-x C-fでも作れるよ
>>194 何もしなくても使えますよ。
ただしタブや改行は\tや\nではなく、C-iやC-jで
入力してください。
197 :
194:2005/06/17(金) 06:34:16 ID:WjrVsaaB0
ええええええ!今まで気づかんかった・・・あほだ。
ありがとうございます・・・。
198 :
名無しさん@お腹いっぱい。:2005/06/18(土) 12:25:26 ID:dlEVkZv90
質問です。
バッファの切り替えをC-Tabにしたいのですが無理ですか?
>>198 可能です。とだけ答えたくなっちゃうよ、その質問の仕方。
(set-extended-key-translate-table exkey-C-tab #\C-F20)
(set-extended-key-translate-table exkey-S-C-tab #\S-C-F20)
(global-set-key #\C-F20 'next-buffer)
(global-set-key #\S-C-F20 'previous-buffer)
C-F20やS-C-F20が埋まってるなら、適当に他の使ってないところを。
(set-extended-key-translate-table exkey-C-tab #\TAB)
を.xyzzyに書いてTABに割り当てる.
x-key-macroで Control押されているか判定して好きな処理を割り当てる.
201 :
198:2005/06/19(日) 01:01:23 ID:cPrJS3Xu0
書けるかな?
書けました!
初期設定ファイル(.xyzzy)でカスタマイズに挑戦したいです。
とりあえず文字の色
「共通設定」→「フォント」→「表示色」→「文字色」
を赤にするように記述するとどうなるのでしょうか?
ただし、.xyzzyでの、その記述をコメントアウトすると
元に戻って欲しいです。
でたらめに
(global-set-font-color red)
と記述したのですが
「関数が定義されていません」
でした
>>205 > 初期設定ファイル(.xyzzy)でカスタマイズに挑戦したいです。
> とりあえず文字の色
> 「共通設定」→「フォント」→「表示色」→「文字色」
> を赤にするように記述するとどうなるのでしょうか?
そこは Lisp で設定することはできません。
近いのはこんな感じ。
(add-hook '*create-buffer-hook*
#'(lambda (buf) (set-buffer-colors #(#x0000FF) buf)))
Lispで何ができるのかは
リファレンス(
http://xyzzy.s53.xrea.com/reference/wiki.cgi)
を参照するか M-x apropos で探してください。
howm-modeで C-c , a と入力するとファイル一覧が表示されますが、
タイトル("="で始まる行)の一覧を表示させることはできますか?
C-c , g でgrepを実行して「^=」と入力すればいいんですが、
一発で表示させたいです。
208 :
名無しさん@お腹いっぱい。:2005/06/20(月) 09:58:32 ID:8XTk1j+/0
ファイラでファイルの絶対パスを取得する方法はないでしょうか?
ファイラで当該ファイルを探して、それを選択し、なにかキーボード
に登録されたキーを叩くとクリップボードにそのファイルの絶対パス
がコピーされるような機能がほしいです。
>>208 こんな感じで。
(defun filer-get-filepaths ()
"ファイラにて選択ファイルのフルパス取得"
(interactive)
(let ((files (filer-get-mark-files nil nil)) (file-names ""))
(if files
(dolist (file files)
(setf file-names (concat file-names (map-slash-to-backslash file) "\n")))
(setf file-names (map-slash-to-backslash (filer-get-current-file))))
(copy-to-clipboard file-names)))
(defun filer-get-filenames ()
"ファイラにて選択ファイルのファイル名取得"
(interactive)
(let ((file-names "") (files (filer-get-mark-files nil nil)))
(if files
(dolist (file files)
(setf file-names (concat file-names (file-namestring (string-trim "/" file)) "\n")))
(setf file-names (file-namestring (string-trim "/" (filer-get-current-file)))))
(copy-to-clipboard file-names)))
(define-key filer-keymap #\T 'filer-get-filenames)
(define-key filer-keymap #\C-t 'filer-get-filepaths)
すみません。split-window または split-window-vertically
でウインドウを二分割した際、左右 (上下) のバッファを
スワップ (入れ替える) LISP というのはあるでしょうか?
左右分割と上下分割をトグルするものならみつけたのですが
(
ttp://www3.ocn.ne.jp/~han/xyzzy/index.html)、HIE さんの
ページにもそれらしいものはありませんでした。
212 :
208:2005/06/20(月) 19:49:06 ID:kjdKSG3c0
>211
Xyzzy part11
>>133 はどう?
>>213 それです! どうもありがとうございます。
>>207 (setq howm-list-all-title t)
使い始めて一ヶ月。
やっとこさアローキーじゃなくてC-nとかC-pが意識なく使えるようになってきた。
多少打つスピードも早くなってきたような気もする。
んで、シフト押しながら選択させようと思ったけどC-S-jとか割り当てできないのね。
というわけでリージョンを駆使するようにした。
これ慣れてきたらもうC-xのカットやC-cのコピーのバインドいらないから(たぶん)
winkeyはずせるんかなぁ。
少しずつ上達してるようでうれしい。
ひとりごとすまそ。
>>217 おお、ありがとございます。もちっとがんばってみます
ここでなつかしの関数が出てくるわけですね.
220 :
207:2005/06/23(木) 04:16:09 ID:ItirkjzB0
>>215 ありがとうございます。
.xyzzyに書くとうまく動きました。
なぜかhowm-init.lやhowm-pre-init.lに書いてもだめでした。
222 :
名無しさん@お腹いっぱい。:2005/06/23(木) 22:00:01 ID:oSJBXQG80
buffer に 100 という文字列があるとき
(scan-buffer "[0-9]+" :reverse t :regexp t)
すると "0" に match するのは仕様ですか?
"100" が欲しいときはどうすればいんでしょう
>>222 メチャメチャ仕様、まさに思い通りの動作。
100が欲しいときは"[0-9]+"を"100"にすれば動くが…何したいか詳しく
>>223 + が最長一致だから、後ろから0、0、1…と見て行かないの?ということなんでしょう。
(scan-buffer "\\(?:[^0-9]\\|\\`\\)[0-9]+" :reverse t :regexp t)
だといいんだろか。
225 :
224:2005/06/23(木) 23:44:35 ID:lyygpg3L0
あ、これだと[^0-9]の時に1文字進めなくちゃいかん。
漏れの頭では無理かorz
226 :
222:2005/06/24(金) 00:05:22 ID:q3GtNg6c0
わかりにくかったみたいでごめんなさい。
224のレスの通りです。
(scan-buffer "[0-9]+" :regexp t)
なら、"1" ではなく "100" で拾ってくれるのに、どうして後ろからだと "0" だけなのよ、と。
(scan-buffer "[^0-9]\\([0-9]+\\)" :reverse t :regexp t)
で
(match-string 1)
するくらいでしょうか。
ちなみに224の正規表現は理解不能でぅ
227 :
224:2005/06/24(金) 00:51:14 ID:ie1/6PVB0
>>226 >(scan-buffer "[0-9]+" :regexp t)
>なら、"1" ではなく "100" で拾ってくれるのに、どうして後ろからだと "0" だけなのよ、と。
正規表現マッチの開始ポイントはバッファの先頭に向かって
いくけれど、マッチ自体はバッファの後方に向かって行われる
からでしょう。たとえば、
(scan-buffer "[^a]a*\\(a*\\)" :reverse t :regexp t)
とかだと最初のa*が最長一致で取られるので(match-string 1)が
non-nilになることはないと思います。
>ちなみに224の正規表現は理解不能でぅ
\\` がないとバッファの先頭に100とかあった場合マッチしないと思います。
(match-string 1) を使っていいなら、
(scan-buffer "\\(?:[^0-9]\\|\\`\\)\\([0-9]+\\)" :reverse t :regexp t)
でいいんではないでしょうか。
228 :
223:2005/06/24(金) 01:09:36 ID:6F/K7w8k0
うおお、すごか正規表現ですなあ。
(skip-chars-backward "0123456789")でごまかすことばっかり考えてた。これでもまあ、拾えなくはない。
test
xyzzyを使い始めたのですが、
xyzzyに、全角(英数)←→半角(英数)に
変換する機能ってありますか?
初歩的な質問で申し訳ないのですが、
ご存じの方がいらっしゃいましたら、
お時間のあるときにでも、教えて頂けないでしょうか?
普通にある。
232 :
137:2005/06/24(金) 12:31:03 ID:MKB5N6KU0
233 :
230:2005/06/24(金) 14:09:05 ID:AQ0nq85o0
>>232 さん、有り難うございました。
範囲指定をしないと、
メニューで選択可能状態にならないので、
気づきませんでした。すみません。
ちなみに、範囲指定した後、
キーボードから変換することはできますか?
今、xyzzyでは、できるだけキー入力だけで、
すべてをしてしまおうと頑張っているもので…。
>>233 grepしてくれよ
(:popup :full->half-popup "全角 -> 半角(&H)"
(:item :tag-command "すべて(&A)"
'map-all-to-half-width-selection :selection)
(:item :tag-command "英数・ひらがな・カタカナ(&S)"
'map-to-half-width-selection :selection)
(:item :tag-command "英数・ひらがな(&R)"
'map-ascii-and-hiragana-to-half-width-selection :selection)
(:item :tag-command "英数・カタカナ(&T)"
'map-ascii-and-katakana-to-half-width-selection :selection)
(:item :tag-command "英数(&N)"
'map-ascii-to-half-width-selection :selection)
(:item :tag-command "ひらがな(&H)"
'map-hiragana-to-half-width-selection :selection)
(:item :tag-command "カタカナ(&K)"
'map-katakana-to-half-width-selection :selection)
(:item :tag-command "ギリシア文字(&G)"
'map-greek-to-half-width-selection :selection)
(:item :tag-command "キリル文字(&C)"
'map-cyrillic-to-half-width-selection :selection))
てすと
236 :
207:2005/06/25(土) 00:39:51 ID:z5HLU92X0
>>233 >>234にあるように、選択してから M-x map-all-to-half-width-selection
ですべて全角から半角に変換される。
Alt e v h a でも可
Altでメニューに入るのは[設定]で有効にしないとつかえないんじゃなかったっけ。
Alt単独押し(メニューにフォーカスを移動)は常に有効。
設定で変えるのはAlt+キー(Fでファイルとか)をキーバインドより優先させるかどうか。
(defvar calmemo-add-from-clipboard nil)
(defun calmemo-add-from-clipboard ()
(interactive)
(let (str (cl (get-clipboard-data)))
(if cl
(setq str (string-left-trim '(#\SPC #\TAB) cl))
(setq str ""))
(edit-today)
(save-excursion
(forward-line)
(insert (format nil "* : \n~A" str))
(newline)
)))
クリップボードに何もない場合は何もしないようにするにはどうしたらいいでしょうか
>>239 (defun calmemo-add-from-clipboard ()
(interactive)
(let ((cl (get-clipboard-data)))
(when cl
(edit-today)
(save-excursion
(forward-line)
(insert (format nil "* : \n~A" (string-left-trim '(#\SPC #\TAB) cl)))
(newline)
))))
こんな感じになるかしらん。
>>240 ありがとうございます
しかもなんか短くなったような・・・
モード行の表示内容を各モードで分けることってできますか?
具体的にはcalcのときにradixもそこに表示させておきたいんですけど。
>>242 > モード行の表示内容を各モードで分けることってできますか?
> 具体的にはcalcのときにradixもそこに表示させておきたいんですけど。
表示フォーマットはてきとうに調整して
;;; 要encap.l
;;;
http://www.geocities.jp/kiaswebsite/xyzzy/encap.html (require "encap")
(require "calc")
(add-hook 'ed::*calc-mode-hook*
#'(lambda ()
(make-local-variable 'mode-line-format)
(setq mode-line-format (format nil "--%*- %b (%M::radix=~D) [%k:%l] %P %f" ed::*calc-radix*))))
(encapsulate 'ed::calc-options
'show-radix
'((let ((s (apply basic-definition argument-list)))
(setq mode-line-format (format nil "--%*- %b (%M::radix=~D) [%k:%l] %P %f" ed::*calc-radix*))
s)))
244 :
242:2005/06/26(日) 03:00:46 ID:9WI226TZ0
>>243 ありがとうございました。うまくできました。
lisp難しいなぁ・・・
たぶん進展なし.
C-[ x を使っとけ
mayu 使ってます
248 :
名無しさん@お腹いっぱい。:2005/06/28(火) 19:28:25 ID:2jr4V6eJ0
.hh拡張子のファイルをc++-modeで起動するようにするには
どうしたらいいでしょうか?
pushnew '("\\.hh$" . c++-mode) *auto-mode-alist*)
こんなのを.xyzzyに書いてみたりしましたが、ダメでした。
これでいけるかな・・・
(push '("\\.hh$" . c++-mode) *auto-mode-alist*)
>>248 > pushnew '("\\.hh$" . c++-mode) *auto-mode-alist*)
開き括弧が抜けてるのはコピペミス?
どうダメだったのか書いてくれると分かるかも。
うまくいかないのとは関係ないけどついでに書くと
この場合 :test 'equal を付けないと pushnew を使う意味がない。
いけませんでした。。
.xyzzyの置く場所とか間違えてるのかな。
*scratch*で評価してみたら?
(("\\.hh$" . c++-mode) ("\\.c$" . c-mode) ( ... ) ... )
となったら成功。
.xyzzy の前の方でパッケージを変更しちゃってるとか
むごあー。.hhなんてマイナーな拡張子を使うなってコトかしら。。
>>250 fundamentalで開かれちゃいます。
>>252 評価ってどうしたらいいんでしょー???
>>253 249の1文しか書いてないです。
>>254 .xyzzyの位置が悪いとしか思えないなそれだと。
>>2のWikiのQuickTourを良く読んで。
*scratch*で評価ってのは、閉じ括弧の後ろにカーソルを置いてC-j(またはC-Enter)。
249を評価してから.hhのファイルを開けたらc++-modeになるはず。
xyzzyでemacsのmatlab-modeを使う方法ってあるんでしょうか?
サブプロセス実行(C-x &)とpipe-command(C-x @)とプログラム実行(C-x %)は
どういう風に使い分ければいいんですか?
僕はちょっとしたPerlを書いてすぐ実行(C-x &)という風に使ってるのですが、ヘンな使い方なんでしょうか
>>259 pipe-command c-x @
外部プロセスを実行して結果をXYZZY取り込み メニューのコンソールプログラムの実行(&P)...
launch-application c-x %
外部プロセスを投げるだけ メニューのWindowsプログラムの実行(&W)...
execute-subprocess c-x &
対話的に実行
という感じかな
ちなみに私は c-x & かlispでexecute-shell-command 投げてます
261 :
259:2005/07/02(土) 10:26:22 ID:46WW0/6V0
そうなんですか
ありがとうございます
メニュー→検索→Grep
でGrepダイアログが開きますが、
ここで hello を検索すると、
hello を含むファイルがだら〜と
結果に出ます
それでは、hello を含まないファイルを
結果に出すにはどうするのでしょうか?
正規表現がよくわからないのですが、
イメージ的には not(hello) を
検索文字列に指定するのではないかと…
>>262 イメージ的には そんなことはできないかと…
http://www.afis.to/~start/xyzzy/mode/shellMode.html shell-modeが上手く動きません。
bashとの組み合わせで上手く動かしている人いますか?
*現象
M-x shellしても、*shell*バッファが開くが、何も表示されない。
dos窓は開いている。
コマンドを打ち込むと、動いているようだが、結果が表示されない。
つまり、exitで終了はできる。
*.xyzzy
(setq *eshell* "bash -i")
(load-library "shell-ext.l")
*その他
環境変数HOMEは設定している
bash にパスが通って無いとか
>>262 netinstallerでggrepをインストールせよ
>>262 正規表現の限界だよねー。
たとえばhogeを含まない行を一覧表示するときみなさんどうしてます?
自分はgrep -vしてます^^;
[ggrep]
>>262,
>>266-267 ども。
hello が含まれないファイルのみを出力するのは ggrep では出来ないですね。
含まれない行を出力するのならばできますが、grep -v の方が楽だと思います (^^;;
思いつきでこんなことやってみました
(defun test (pattern dir &optional regexp recursive wild)
(interactive)
(let ((files (directory dir :file-only t :recursive recursive :wild wild))
(buf (create-new-buffer "*tmp*"))
result)
(set-buffer buf)
(unwind-protect
(dolist (file files result)
(erase-buffer buf)
(insert-file-contents (merge-pathnames file dir))
(unless (scan-buffer pattern :regexp regexp)
(push file result)))
(delete-buffer buf))))
(test "c++" "~/lisp" nil nil "*mode.l")
=> ("viewmode.l" "textmode.l" "sql-mode.l" "lispmode.l" "htmlmode.l" "css-mode.l" "basic-mode.l")
c-modeでJTCみたいなキーワードの補完ってできますか?
#inc で何かキーを押すと #include と補完してくれるような感じの。
272 :
270:2005/07/05(火) 22:24:19 ID:IBnbyZ2E0
>>271 c-mode.lに追加したらできました!
これで便利になりました。
ありがとうございますm(_ _)m
273 :
名無しさん@お腹いっぱい。:2005/07/06(水) 22:18:54 ID:fJPqyXTV0
いつも禿まされる側だからよく知らないけど c.mode.l に追加したらよくないんじゃないの?
.xyzzy なりにうまいこと追加するもんじゃない?
274 :
名無しさん@お腹いっぱい。:2005/07/06(水) 22:24:34 ID:zcaVsiFK0
苦労してまで使う価値あるの?
.xyzzy のほうが無難だろうね
バージョンアップしたら上書きされちゃったりする
277 :
名無しさん:2005/07/07(木) 09:51:26 ID:tJW2HSzL0
>276
(setf *cygterm-exe* "c:/xyzzy/bin/cygterm.exe")
こんな感じでcygtermのexeへのパスを通せば良いんじゃないかなぁ
278 :
276:2005/07/07(木) 10:58:38 ID:9UiC5CcZ0
ありがとう!M-x cygterm出来るようになりました!
指定のエンコードで保存するのをコマンドでできないでしょうか。
名前をつけて保存でやると、いちいちエンコードを選ぶのが面倒なのです。
通常時は、sjisだけれども、有事のときには、utf-8nで保存したかったりするのです。
>279
短絡的に考えてみた
(defun save-file-sjis ()
(interactive)
(set-buffer-fileio-encoding *encoding-sjis*)
(if (file-visited-p)
(save-buffer)
(save-as-dialog )
)
)
(defun save-file-euc ()
(interactive)
(set-buffer-fileio-encoding *encoding-euc-jp*)
(if (file-visited-p)
(save-buffer)
(save-as-dialog )
)
)
名前がついてるファイルはそのコードで保存
ついてないとダイアログを出す
(file-visited-p)で判断した後で
minibufferでファイル名入力させたいのだかやり方がわからんので
誰か直して(^^;)
>>280 > minibufferでファイル名入力させたいのだかやり方がわからんので
call-interactively
283 :
280:2005/07/08(金) 00:34:16 ID:nU7WtVNh0
281と282それぞれやってみました。
call-interactively は
> (save-as-dialog )
の部分を
(call-interactively 'emacs-write-file)
とするだけ
read-file-nameは
> (save-as-dialog )
の部分を
(and
(setq filename (read-file-name "fileName: " &key (get-buffer-file-name )))
(if (file-exist-p filename)
(and (no-or-yes-p "~Sは既に存在します。リネームしますか。" filename)
(rename-file-with-char-case filename filename)
(rename filename t)
)
)
(save-buffer)
)
こんな感じでしょうか?
call-interactively版の方が短いしいいのかな
>>279 C-x C-k f で文字コード変更できんかったっけ。
>>283 > read-file-nameは
> > (save-as-dialog )
> の部分を
(emacs-write-file (read-file-name "Filename: "))
とかが楽かな。
286 :
280:2005/07/08(金) 07:28:06 ID:nU7WtVNh0
>>285 > (emacs-write-file (read-file-name "Filename: "))
なるほど emacs-write-file について調べればよかったんですね
まだまだ勉強が足りないなぁ(^^;)
>>284 ガーン!
できてしまいました。
280以下の方々、お騒がせしました。
そちらも参考にさせてもらいます。
289 :
280:2005/07/08(金) 17:40:16 ID:zwY1x3dE0
>>287 >指定のエンコードで保存する
ってあったから作ったんだけどエンコード変えるだけでよかったのか(^^;)
作ったのはエンコード変更+保存を一括でやるものでした
これはこれで自分には必要だしminibufferの使い方も分かったので
ぜんぜんOKです
http://www.geocities.jp/m_hiroi/xyzzy_lisp/xyzzy03.html を参考に
(defun file-to-buffer (file buffer-name)
(let ((old-window (selected-window))
(buffer (find-buffer buffer-name)))
(unless buffer
(setq buffer (make-buffer buffer-name)))
(erase-buffer buffer)
(pop-to-buffer buffer t)
(insert-file-contents file)
(set-buffer-modified-p nil)
(set-window old-window)))
(defun make-buffer (buffer-name)
(let ((output (create-new-buffer buffer-name)))
(save-excursion
(set-buffer output)
(setq need-not-save t))
output))
というような関数を自作したんすけど、
file-to-bufferを呼んだときに、ウインドウが開いていないと、
新しく開いたウインドウにカーソルが持っていかれてしまうみたい。
元のウインドウにカーソルを戻すにはどうしたらよいかな?
>>290 > 元のウインドウにカーソルを戻すにはどうしたらよいかな?
ウインドウじゃ無くてバッファですな。
こうとか?
(defun file-to-buffer (file buffer-name)
(let ((old-window (selected-window))
(buffer (find-buffer buffer-name)))
(unless buffer
(setq buffer (make-buffer buffer-name)))
(save-excursion
(erase-buffer buffer)
(pop-to-buffer buffer t)
(insert-file-contents file)
(set-buffer-modified-p nil)
(set-window old-window))))
>>291 いや、バッファじゃなくてウインドウ
それだと、最初だけ、実行したバッファではなく、元のバッファが表示されて駄目だった
293 :
名無しさん@お腹いっぱい。:2005/07/09(土) 22:08:42 ID:tXt6RF7u0
xdoc2txtの設定の仕方ってどうやるの?
(setf *xdoc2txt-command* "C:/Tools/xdox2txt/xdoc2txt -c")はどこのパス?
教えてください
(setf *xdoc2txt-command* "C:/Tools/xdoc2txt/xdoc2txt -c")
はc:\tools\xdoc2txt\にxdoc2txt.exeがある状態でよいかと思います。
>(setf *xdoc2txt-command* "C:/Tools/xdox2txt/xdoc2txt -c")はどこのパス?
~~~
指定でxdox2txt、実フォルダがxdoc2txtとかではないですか?
俺も導入したときドキュメントを見ていて「ありゃ?」と思いましたので。
>>294 siteinit.lに書くんですよね?
そうすると'\x'の後に16進文字がありませんと注意がでるんですけど・・・
>>295 パスの区切りは バックスラッシュ(円マーク) \ ではなくて スラッシュ /
>>296 \も/になる設定でした
しかし
(setf *xdoc2txt-command* "C:/Program Files/xyzzy/d2txt/xdoc2txt -c")
も駄目でした。なぜなんでしょうか?
>>297 -c なしでやってみて。
(setf *xdoc2txt-command* "C:/Program Files/xyzzy/d2txt/xdoc2txt")
>>298 ありがとうございました。やっとできました。
なんとお礼を言ったらいいか。
ありがとうございました。
2画面ファイラーから呼び出される、ドライブ選択やディレクトリ移動、
等のダイアログに、ファイラーで設定してあるキーバインドが
有効にならないのですが、
それらダイアログにもキーバインド設定することってできますか?
はい
F2キーでバッファ選択ダイアログが出ますが、
このバッファの並び順を、名前順ではなくて、
最近見たり編集したりしたバッファほど上にくるように
並ばせるには、どうしたらいいのでしょうか?
書き忘れました
ggrep,encap,xdoc2txtはインストール済みです
;;インクリメンタルサーチ
(load-library "isearch")
(load-library "isearch-deco")
;装飾や色など
(setq *coloringdeco-pattern-hilight-match* '(:bold t :underline t :foreground 0 :background 1))
;色つけに対してマッチした検索文字列の無視する長さ
(setq *coloringdeco-pattern-min-word-length* 3)
↑をsiteinit.lに貼ってバイトコンパイルすると
「名前が衝突するためexportできません editor::coloring」と言われてしまうのですがなぜでしょう?
過去ログを見ると、load-libraryをrequireにする事で解決してる例があったので、試してみたんですがダメでした。
とりあえず2行目以降をコメントアウトすると解決するんですが、やはり色を付けたいです。
よろしくお願いします。
xyzzy 0.2.2.234
isearch-deco 2004/12/31版
>>306 おそらく calmemo/calendar.l の 494,526行 が原因のような気がするので、適当に変更してみてはいかがでしょう?
最新版のcalmemoをダウンロードしてきました
calmemo/calendar.l
494 (defun scan-date (date &optional coloring nmonths)
526 (when coloring
この2行がヒントということですか?
>>308 もし、calmemo をインストールしていたなら、coloring というシンボル名が競合していた
のが原因と思われるので、calmemo/calendar.l か isearch-deco.l の該当する
シンボル名を変更すればいいような気がします。
バイナリファイルを開いたときに出てくる変な記号(制御文字?)を
置換やGrepなどに指示するにはどうすればよいのですか?
^@とか^\とか^aとか^bとか^cとか。
C-q(quote-char)のあと、C-@とかC-aとか。
エスケープシーケンスを使って\x0とか\x1とか。
312 :
310:2005/07/14(木) 10:32:10 ID:k3/ZAT5X0
できタ━━━━━━(゚∀゚)━━━━━━ !!!!!
ありがとうございました。
ところでこのスレは顔文字とかはやめたほうがいいでしょうか。
書いちゃってからアレですが。
313 :
名無しさん@お腹いっぱい。:2005/07/14(木) 22:15:37 ID:/uPKI9xs0
ηη / ̄ ̄ ̄ ̄ ̄ ̄ ̄
(・e・)< やめた方がいい
゚しJ゚ \_______
314 :
207:2005/07/15(金) 09:57:39 ID:fmI4IJ2r0
DDWinを起動していると時々xyzzyが落ちるような気がする。
気のせいかなあ
>>314 クリップボード周りじゃないかな.
オプションの他ソフトからの検索で,
クリップボード経由の自動検索を行わなければ
問題ない気がする.
自動検索したいなら問題でしょ
落ちるのはxyzzyだけで
他のエディタだと平気なんだよな・・・
解決策があるなら私も知りたい
xyzzy+KaTeXで作成したdviファイルをdvipngで出力しようとしたんですけど、エラーで終了してしまいます。
手順は、xyzzy起動して後、コマンドプロンプトを開き
dvipng test.dvi -T tight
と入力。
それと、test.dviはxyzzyの実行ファイルと同ディレクトリに置いてあります。
この後すぐにエラーダイアログが出てきてしまいます。
環境はWindows 2000なんですが、関係あるんですかね?
どうか、dvipngの使用方法教えてください。
318 :
207:2005/07/15(金) 23:17:20 ID:fmI4IJ2r0
319 :
317:2005/07/15(金) 23:46:07 ID:ty/tcSr80
ややや、日本語非対応ってのはOSが日本語じゃ駄目って事なんですかね?
自分は日本語を含むdviファイルに非対応だと解してました。
一応聞いてきてみます、穴賢。
xyzzyの使い方が分からぬやし 励ましあえ その7
↑から導かれて来ました。
xyzzy+KaTeXで作成したdviファイルをdvipngで出力しようとしたんですけど、エラーで終了してしまいます。
手順は、xyzzy起動して後、コマンドプロンプトを開き
dvipng test.dvi -T tight
と入力。
それと、test.dviはxyzzyの実行ファイルと同ディレクトリに置いてあります。
この後すぐにエラーダイアログが出てきてしまいます。
環境はWindows 2000なんですが、関係あるんですかね?
どうか、dvipngの使用方法教えてください。
すいません、誤爆しました。
322 :
名無しさん@お腹いっぱい。:2005/07/16(土) 15:48:24 ID:+BOEa8DY0
shell モードで、cd した場所で、ファイルを開こうと C-x f した
時、その場所でなくホームディレクトリとかになってしまうので
すが、常に cd した先で開くファイルを探すようにできませんか?
ディレクトリのdiffをとることってできないものでしょうか?
調べたけど見つからず・・・
>>323 求めているものと違うと思うけど参考までに。
(defun compare-directory (new-dir old-dir)
(interactive "Dnew dir: \nDold dir: " :default0 "" :default1 "")
(setq new-dir (namestring new-dir))
(setq old-dir (namestring old-dir))
(let ((new-dir-list (directory new-dir :file-only t :recursive t))
(old-dir-list (directory old-dir :file-only t :recursive t))
add-list update-list delete-list)
(dolist (f new-dir-list)
(if (find f old-dir-list :test #'string=)
(let ((new (concat new-dir "/" f)) (old (concat old-dir "/" f)))
(if (/= (file-write-time new) (file-write-time old))
(push f update-list)))
(push f add-list)))
(dolist (f old-dir-list)
(unless (find f new-dir-list :test #'string=)
(push f delete-list)))
(and (null add-list) (null update-list) (null delete-list)
(msgbox "違いはありません")
(return-from compare-directory t))
(with-output-to-temp-buffer ("*output*" nil)
(format t "new dir: ~A~%old dir: ~A~%~%" new-dir old-dir)
(format t "更新:~%~{~A~^\n~}~%~%" (nreverse update-list))
(format t "追加:~%~{~A~^\n~}~%~%" (nreverse add-list))
(format t "削除:~%~{~A~^\n~}~%" (nreverse delete-list)))
(set-buffer "*output*")))
>>324 ファイルのタイムスタンプをみるよりもcompare-fileを使うのが素直な気がします。
+ (if (compare-file new old)
- (if (/= (file-write-time new) (file-write-time old))
>>324,
>>325 便利そうだったので、頂きました。
ついでに、*output* バッファから diff をとれるようにしてみました(更新ファイルの上でM-f)。
324の12行目を
(unless (compare-file new old)
に差し替え(compare-file は違いが無いときに t を返すようです)
(set-buffer "*output*") の後に
(setq *compare-directory-mode-map* (copy-keymap (local-keymap)))
(define-key *compare-directory-mode-map* #\M-f
#'(lambda () (interactive) (compare-directory-diff new-dir old-dir)))
(define-key *compare-directory-mode-map* #\q
#'(lambda () (interactive) (delete-buffer (selected-buffer))))
(use-keymap *compare-directory-mode-map*)
を追加
適当なところに
(defvar *compare-directory-mode-map* nil)
(defun compare-directory-diff (new-dir old-dir)
(let* ((f (buffer-substring (save-excursion (goto-bol) (point))
(save-excursion (goto-eol) (point))))
(n (concat new-dir "/" f))
(o (concat old-dir "/" f)))
(if (and (file-exist-p n) (file-exist-p o))
(diff n o)
(message "ファイルがないよん"))))
を追加
おっと間違えた。^^;
×324の12行目→○324の11行目
ファイラにメニューバーを追加することは可能でしょうか?
できません
>>329 レスどうもです。
そうですか…。ファイラ上でのメニューバー,ツールバーの操作に
ふれたページがなかったのでそんな気がしていました。
エクスプローラのフォルダツリー表示をxyzzyで可能にする
プラグインとかありますか?
リンク先にあるようなバッチファイルを書けば、ローカルで文法チェックとほとんど同じでいけるよ。
;バッチファイル.batの内容
@set classpath=c:\css-validator\validator.zip
@Java org.w3c.css.css.StyleSheetCom %1
;.xyzzyに追加
(defvar *css-validator-bat-file* "[バッチファイルのパス]")
(defun validate-css ()
(interactive)
(let ((file (get-buffer-file-name)))
(when file
(pipe-command
(format nil "\"~A\" \"~A\""
(map-slash-to-backslash *css-validator-bat-file*)
(map-slash-to-backslash file))))))
(global-set-key #\[キー] 'validate-css)
こんな感じ。
335 :
333:2005/07/19(火) 01:33:08 ID:ARBFP7Mk0
>>334 ありがとうございます。試してみましたが残念なことに
「ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。」
というメッセージが出力されるだけでした。
336 :
333:2005/07/19(火) 02:49:26 ID:ARBFP7Mk0
(format nil "\"~A\" \"~A\""
を
(format nil "~A \"~A\""
に変えたらうまく動くようになりました。
#if 0〜#endifの間をコメント色にすることってできないですか?
(set-syntax-start-multi-comment *c-mode-syntax-table* "#if 0")
とc-mode.l で強引に追加してもだめでした。
>>337 短ければ,正規表現キーワードで可能.
そうじゃなければ無理.
っ hide-ifdef
hide-ifdef だと、ごっそり消しちゃうでしょ?
色付きで表示をさせておきたいって事だと思ふ
>>340 > hide-ifdef だと、ごっそり消しちゃうでしょ?
消さない。隠すだけ。
というか文字15の色にするから背景色によっては隠れないことすらある。
> 色付きで表示をさせておきたいって事だと思ふ
色を変えたければ $XYZZY/lisp/hideif.l の 112 行目を変える。
# 何でここ変数になってないんだろ?
文字15の色の色を変えたほうが早いかも。
CやC++で対応するカッコ( ()とか{} )を強調表示させるには
どうすれば良いでしょうか?
343 :
342:2005/07/20(水) 23:42:00 ID:W1rdpmV/0
自己解決しますた (paren)
344 :
337:2005/07/21(木) 02:48:11 ID:WVmyQBAK0
回答いただいてるの遅レス申し訳ないです。
紹介されたhide-ifdefでやってみてうまくいきました。ありがとうございます。
parenで色が戻ってしまうみたい?ですけど見分けは十分につくし、
ほんと助かりました。
xyzzy+howm-wrapで、BracketNameによるリンクがうまくいきません。
goto>>>やcomefrom<<<のリンクは色が変わったところでエンターを押すと検索してくれるのですが、
[[]]で囲った文字列は囲われた部分の色が変わって下線が引かれるものの、そこでエンターを押すと、改行されてしまいます。
本来なら新しいページというかファイルが作られるはずだと思うのですが・・・
どんな原因が考えられるでしょうか。
348 :
名無しさん@お腹いっぱい。:2005/07/23(土) 01:48:55 ID:0iLKbzzG0
RSSの仲間なのか知らないけど、ATOMをxyzzyから読むことはできますか?
開いたファイルのある文字列をカーソルで選択しておいて、
C-sで検索モードの文字列指定部が自動的にその選択文字列
入るようにできませんかね?
C-sのあとHome押してみそ
351 :
350:2005/07/23(土) 03:18:11 ID:sjRa0UJF0
スマソ、嘘言いました。350は撤回します。
ダイアログでの置換で、正規表現ok、\を理解する、にして、
行末が「 。 」でない改行のみを消すにはどうしたらよいでしょうか。
置換前 [^。]\n -> 置換後 \1\n
とすると、改行が消えるとともに行末の1文字まで消えてしまいます。
xyzzyの問題ではなく正規表現の問題でしょうか。
\1を使うには\(と\)で囲む必要があるよ。
\([^。]\)\n -> \1\n
ああ何書いてるんだ。\1の後ろ\nいらないや。
\([^。]\)\n -> \1
356 :
353:2005/07/24(日) 00:39:57 ID:tF6Gs20B0
>>354 ありがとうございます。
改行のみを消すことができました。
357 :
353:2005/07/24(日) 01:26:57 ID:tF6Gs20B0
入門xyzzyの89ページ「正規表現を使った置換例」に
同じような事例が載ってました。
最初に読んだときは、なに言ってんだ?という感じでしたが、
>354 のおかげで理解することができました。
正規表現の問題だったんですね。
358 :
名無しさん@お腹いっぱい。:2005/07/24(日) 10:42:26 ID:BhWUl0XF0
>>345 IEからのカキコですいませんが、文字列を .howm-keys に登録
する必要があるような気がします。
確か過去ログにあったような..
ちょっと教えてください。
diff-modeにて、起動時にdiff専用のフレームを生成し、そこで比較。
qが押された時には、そのフレームを閉じる動作を加える。
ってのを作りたいのですが、フレームを閉じる動作がうまくいきません。
(defun diff-quit ()
(interactive)
(when (prog1
diff-buffer
+ (let ((frame (find-pseudo-frame "diff")))
+ (when frame
+ (delete-pseudo-frame frame)))
(and (find-buffer *diff-old-buffer-name*)
(or (kill-buffer *diff-old-buffer-name*)
(quit)))
(and (find-buffer *diff-new-buffer-name*)
(or (kill-buffer *diff-new-buffer-name*)
(quit))))
(delete-other-windows))
t)
以上のようにdiff.l内のdiff-quitに単純に追加しただけです。
*scratch*やminibuffer内で評価した際は閉じるんですが、
qを押したときはフレームが閉じてくれないです。
もしおわかりの方いたらご教授お願いします。
>>359 よく分かりませんが、これでうまくいきました。
(in-package "editor")
(defun diff-quit ()
(interactive)
(when (prog1
diff-buffer
(and (find-buffer *diff-old-buffer-name*)
(or (kill-buffer *diff-old-buffer-name*)
(quit)))
(and (find-buffer *diff-new-buffer-name*)
(or (kill-buffer *diff-new-buffer-name*)
(quit))))
(delete-other-windows)
(let ((frame (find-pseudo-frame "diff")))
(when frame
(delete-pseudo-frame frame))))
t)
>360,361
できました。ありがとうございます。
やっぱりDDWinを起動しているとxyzzyが落ちるときがある。
DDWinの自動検索をオフにしてもだめ。
解決策はないのかな
初歩的なことですみませんが
ショートカットキーから外部のアプリを起動するには
どうしたらいいのでしょう?
よく使うファイラアプリからxyzzyを読んでまたファイラを起動するのに
マウスを使ったりしなくても一発でファイラを起動したいのですが・・・
>>366 (defun explorer ()
(interactive)
(call-process "explorer.exe"))
で explorerが立ち上がる.
368 :
366:2005/07/25(月) 19:23:28 ID:mG7FV/ui0
>>367 ありがとうございます、うまくできました。
S-F6で選択状態にしたあとで、やっぱりやめたって時は
どのキーを押したらいいでしょうか?
F6
minibufferでundoできるようにするにはどのような設定をすればよいでしょうか?
しょっちゅうまちがえてしまうんで・・
>>371 ふつうのコピーペーストはリージョンを使っているので盲点でした。
どうも有り難うございます。
calmemoを使ってるんですが関係バッファを
バッファリスト等に出さないようにするには
どうすればいいのでしょうか?
kamailでの設定はWEB上にあったのですが・・・
バッファタブを隠すと書いてあるのが読めないとは
>>377のおっしゃるとおり,
00sample.calmemo に,バッファタブを隠す という項目があり,
~/site-lisp/calmemo/00sample.calmemo を
~/.calmemo としてコピーした後,その部分のコメントを解除することで
希望の動作になりました.ありがとうございました.
379 :
374:2005/07/27(水) 19:26:59 ID:hGXnYwNk0
ぎゃあああああああああ ・・・m(_ _)m
コマンドプロンプトのように使えるバッファってどうやるんでしたっけ……
M-x shell のことかな?
>>381 それだす。
ショートカット割り当ててたような気がしたんだけどしてなかった。
384 :
名無しさん@お腹いっぱい。:2005/07/29(金) 22:44:39 ID:XHz8UPpA0
kamailの振り分けRulesの
("振り分け先フォルダ" "フィールド" "内容")
"フィールド" に "X-Text-Classification" を指定したいんだけど、
うまいこと動いてないみたい。
from とか決まったフィールド名しかだめなのかな。
site-lisp/kamail の中身を見てみたけどわからん過ぎでした。
>>384 フィールドの内容を全部小文字にしたらどうなる?
Perlの色づけはどうにかならないんでしょうか?
Perl.lには
;;; ・正規表現は一切認識しない。正規表現で "'# 等を使用する場合は
;;; エスケープするなりして逃げてちょーだい。
とありますが、エスケープするしかないんですか?
388 :
384:2005/07/30(土) 21:23:14 ID:iXXw/85B0
ありがとう
お前ら神ですか、と思ってその通りにしてみた。
けど、R してもすることないっす、になてしまう。
*scratch* で km::*cache-header-field-list* をevalしてみると
("subject" "from" "to" "cc" "reply-to" "newsgroups" "date" "message-id" "in-reply-to" "references" "x-ml-name" "content-type" "x-text-classification")
が返ってくるので x-text-classification は見てくれてると思う。
kamail-misc.l 内 kamail-read-rules のコメントアウトされてるとこをコメントでなくすると
"+trash" "x-text-classification" "spam"
も出てくるので Rules もきちんと読まれてると思う。
でも x-text-classification で振り分けしてくれる様子がない。
他の、
("+trash" "subject" "spam")
とかは効いてる。
Rule を x-text-classification 部分だけにしてみたり、cache.l を直接直してみたりもしたけど
なんともならず。
なので一旦あきらめて、気が向いたときにでも再確認してみることにします。
>>388 んー、x-text-classificationで指定してるPOPFileのバケツ名が違うとかは……ないよな。
kamail-summary.l の kamail-study-header-rule 関数で
読み込んでるx-text-classificationの値を調べてみるとかするといいかも
俺のスパム対策は、Kamail の Rules に
("+spam" "subject" "[\xa0-\xdf\X8540-\X889e\Xeb40-\Xffff]+")
これだけ。
毎日 50 通ぐらいなんだけど、POPFile 使ったほうがよいですか?
なんか他にもよい対策があったら教えてください。
>>388 M-x km::kamail-folder-cache-update-all
は実行した?
というか、そもそも kamail と POPFile は連携できるんですか?
POPFile ドキュメンテーション に従って設定をしても、
励ましあえ その3 646 の
>~kaMail\に [元の POP3 サーバーアドレス]:[ユーザー名]というファイルが
>ないよと、怒られる。
>手で作ろうとしたけど、コロンの入ったファイル名は作れないし.....
と同じ現象が出て受信ができません。
過去ログや Web を検索しても回答は無いようですし、
一応解決がみられたらしい
ここ(
http://makimo.to/2ch/pc8_software/1083/1083650039.html)の 477 の
0.22.1RC3 は 404 未検出 となってしまっているのですが...
393 :
392:2005/07/31(日) 16:54:46 ID:mh4U9hWq0
自己レスですが、何となく気になったので上記のエラーが出ないようにしてみました。
kamail-draft.l の (defun kamail-write-selected-buffer の (write-region beg end file append)
の前あたりに、(setq file (substitute-string file ":" "" :start 2)) を追加すればいいようです。
振り分けもうまくいっているみたいです。
どうもお騒がせしました。
>>392 POPFile コントロールセンターの設定で
「POP3 ホスト名、ポート番号、ユーザ名の区切り文字」
を変更できるよ。
395 :
392:2005/07/31(日) 17:56:10 ID:XGux1jQ/0
>>394 レスどもです。コードを書いてから気づいたんですが、その方がいいみたいですね。^^;
kamailの設定について質問なんですが、
inboxとかにサブディレクトリを作りたいので、Foldersの書式を教えてください。
397 :
384:2005/08/01(月) 21:29:10 ID:+XTocUXp0
新しくメール受信したらうまいことできてた(゚∀゚)
ごめんなさい
ありがとう
魚おおおお覆おおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお
こんなものつかれうあああああれあwらうぇふぇとぇrwrウェrウェrbcうぇrwr
ムリポ サクラに戻ります(´・ω・)
学生生協の書籍部にxyzzyの本が売ってたよ!
このスレのこととかあっちのスレのこととか載ってて、
ものすごく親近感を感じました。
つらいことがあったらあの本の前に言って黙想することにします。
ありがとう。
xyzzyの2ch-modeから書き込めない
送信で送られているんだけど、書き込みが反映されない
再度チェック中。
何か、チェックするところあればアドバイスをください。
何を見直せばいいかわからない
ファイラーのWで見れるViewerって80文字で折り返してるようなんですけど、
これを折り返しなしとかに変えることってできますでしょうか?
共通設定での設定はViewerには有効にならないみたいだし・・・
404 :
名無しさん@お腹いっぱい。:2005/08/02(火) 09:05:03 ID:PiprIJgB0
ありがとう。
無事、書き込めるようになった。
405 :
名無しさん@お腹いっぱい。:2005/08/02(火) 13:23:33 ID:2yet4SQU0
これ、ぢつはおいらも悩んでました。THX!
oltをアンインストールしたら ツールバーにoutlineが残っているのを消すのは.xyzzy.historyを削除したらいいの?
>>396 inboxにサブディレクトリは作れないが
<GROUP hoge>
+aaa
+bbb
</GROUP>
みたいにすればグループ化できる
>>406 表示(V)→ツールバー(Q)には何も残ってない?
とりあえず.xyzzy.historyを.xyzzy.history.bakとかにリネームしてみれば
406では無いけど、NetInstallerでアンインストールすると
表示(V)→ツールバー(Q)にOutline(O)ってのが残っちゃうみたい。
環境依存だったらごめん…
(delete-command-bar 'outline-tree::olt-tool-bar)
とりあえず↑をScratchで評価すると消えるみたい。
>>399 うちの大学はパソコンセンターのパソコンにxyzzyがインストールしてあったよ。
C:\Program Files\xyzzy にインストールしてあるんだけど、アクセス権がなくて
書き込みができないから、ユーザー用のドライブ(Z:\)以下にlispファイルを
置いて、KaTeXやKaMailや2ch-modeを入れた。
[outline-tree]
>>406 >>408 ども。
私も今試してみたら消えませんでした。おや。
お手数ですが
>>408 さんのコードを scratch で評価して消しておいてください。
411 :
396:2005/08/03(水) 11:03:34 ID:TrAFJB9C0
412 :
名無しさん@お腹いっぱい。:2005/08/03(水) 13:04:47 ID:jmR7ndv00
iniを幾つか用意して、フォントの大きさを場面によって変えたいと
思っているのですが可能なものでしょうか。最近夕方になると疲れ目で、
視認性のいいフォントを大きなサイズに切り替えたいなと思いまして。
413 :
406:2005/08/03(水) 13:52:56 ID:bQ251Xs40
.xyzzy.history消したら、うちでは消えました。
でも、
>>408 の方が良さそうですね。
xyzzy.iniに通常使用しているPCでのhomedirのパスを、
設定はすべてsiteinit.lに記述して使ってます。
これをUSBメモリにいれて使いたかったので、
普段使ってた設定のままUSBメモリにつっこんで、
Wikiにあったenvlnc.exeを同じUSBのディレクトリにいれて起動してみました。
そうすると、バッファツールバーと一部メニュー表示がくずれてしました。
で、何点か教えていただきたいのですが、
・方法はあっているのか(envlnc.exeを起動するだけでいいのか)
・毎回envlnc.exeで起動する必要があるのか
・envlnc.iniやxyzzy.iniはなにかいじる必要があるのか
よろしくお願いします。
chiniとか?
416 :
名無しさん@お腹いっぱい。:2005/08/04(木) 08:59:04 ID:hChybjSZ0
kamailで特定の人からのメールが、読んでもsummary欄で強調表示のまま未読扱いのように表示されてしまいます。
でも実際には内部的には未読ではなく、SPACEで次メールを読むとそれはスキップされます。
Folder欄も未読があるように色づけされています。
ちなみに自分自身に送った場合でも同様なんです。
いったい何がおかしいのでしょうか?
xyzzy 0.2.2.234 + kamail 0.0.2.6 + winxp sp2
2ch-modeで実況するのは向いてないような気がするんだけど
工夫が足りないのでしょうか?
自動更新とか出来ないかな?
テキスト形式のファイルが数十個のフォルダの中に数百個ずつあり、
そのファイル内のある文字列をそのファイル名にGREPで一括置換したいと思っています。
よく関連づけでやる"%1"みたいな感じで、正規表現によるGREP置換時に
置換後の文字列に自身のファイル名の指定は可能でしょうか?
その場合どのように指定したら良いのでしょうか?
>>418 検索メニューからGresregを使う。
\1 とかで正規表現のグループが参照できる。
例えば、
■\\(.*\\) => \1
とすれば、
"■aaa" => "aaa"
と置換される。
訂正
■\(.*\) => \1
418じゃないんだけど
自身のファイル名の指定って正規表現でできるんだっけか
ファイル名中の文字でファイル名を変えたりファイル内の文字でファイル内の文字を変えるのは
確かに\1でいいがこの場合はlisp書かないとだめじゃないかい?
>>417 自動更新は start-timer でできるのでは。
423 :
名無しさん@お腹いっぱい。:2005/08/05(金) 11:26:50 ID:RIGJ0+A60
ttrayを導入して、閉じるボタンで最小化したかったので、配布ページに書いてある
「CLOSEBOXさえも無効にする場合」のコードを.xyzzyに書いたんですが、そうすると
タスクトレイのメニューからも終了できなくなりませんか?
終了できなくなったら(setq *query-kill-xyzzy-hook* nil)すればいいと書いてありましたが、
こうすると query-kill-xyzzy-hook に登録した他の関数も全部なくなっちゃいますよね?
どうすればいいんでしょうか?
>>424 こうかな?
(delete-hook '*query-kill-xyzzy-hook* 'ttray-cancel-kill-xyzzy)
>>424 (defun ttray-kill-xyzzy-menu ()
(delete-hook '*query-kill-xyzzy-hook* 'ttray-cancel-kill-xyzzy)
; wndprocからのkillは危険な気がするのでメッセージを通知
(winapi::PostMessage (get-window-handle) winapi::WM_CLOSE 0 0))
(setq win-user::*ttray-menu-list*
'(; 書式 1:name 2:checked 3:show-after-function 4:function
("終了(&X)" nil nil ttray-kill-xyzzy-menu)))
(defun ttray-cancel-kill-xyzzy ()
(win-user::ttray-hide-xyzzy)
nil)
(add-hook '*query-kill-xyzzy-hook* 'ttray-cancel-kill-xyzzy)
(require "ttray")
427 :
424:2005/08/06(土) 08:44:18 ID:X0WhG6WO0
タスクトレイから終了できるようになりました。ありがとうございました。
c-modeで
キーワードファイルから,入力補完させることってできない?
VisualC++のCtrl-Spaceみたいなやつ(インテリセンスじゃない)
例えば,\xyzzy\etc\Cの中にキーワードWAVEFORMATEXを
準備しておいて,WAVまで打ち込んだ後に特定のキー操作で
残りのEFORMATEXを入力させるようなやつ。
alt+/だと既出単語でないと保管できないし,
staticな補完だと,対になる単語を準備しないとダメっぽいから
面倒なんだけど。
インデントに関する質問なんですが、例えばc-modeなどで
int a,
b,
c,
d;
のようにインデントさせたい場合はどうすればいいのでしょうか?
432 :
429:2005/08/06(土) 20:00:34 ID:+WUul+ZeO
>>431 とりあえずマクロ作って対処してみたんですが、自動でやって欲しい…(;´Д`)
やっぱりlispでかくしかないんですね…。
>>432 それはどうせならこう書いた方がいいんじゃまいか?
int a;
int b;
int c;
int d;
これならインデントも多分勝手に揃うし、読みやすい。
しかも、自分で新規にlispを書く必要も無い。
メニュー出てるショートカットキーは消せませんか?
横に長くメニューが出てちょっと邪魔です。
435 :
429:2005/08/07(日) 02:55:15 ID:RTa5OB9e0
>>433 実はPro*cでSQL構文を書くときに
EXEC SQL DECLARE CUR1 CURSOR FOR
SELECT DDATE,
KAN,
KEN,
KAISUU,
FROM TEST_DB
WHERE YOTEIBI = 15;
こんな感じでインデントできるようにしたかったんです。
今はバッファを一括でインデントするとき一緒に、
正規表現の置換で、無理矢理変換させてます…。
けど、たまに誤動作が…orz
>>435 こんなのはどうん。前の行の空白と同じだけ空白を入れる。
モードにするほどのこともない時向け。
(defun indent-as-previous-line ()
"前の行と同じだけインデント"
(interactive)
(let (col bol eol)
(save-excursion
(forward-line -1)
(back-to-indentation)
(setq col (current-column))
(setq bol (progn (forward-line 1) (point)))
(setq eol (progn (back-to-indentation) (point))))
(when (or (< bol eol)
(< 0 col ))
(goto-bol)
(delete-region bol eol)
(indent-to col))))
(set-extended-key-translate-table exkey-S-tab #\S-C-F23)
(global-set-key #\S-C-F23 'indent-as-previous-line)
>>436 それって indent-relative でない?
少々違いはあるけど、だいたい。
438 :
433:2005/08/07(日) 13:06:36 ID:+AvUKirD0
>>435 だったら、最初から(ry
小一時間問いつめてやるからちょっとそこに正座汁!
>>437 ホントだorz。
空白だけのインデントを無視しないのが欲しかったんだろうなと思うことにする。
emacs の indent-relative のほうが目的に合うかも
(defun indent-relative (&optional unindented-ok)
(interactive "P")
(if (and abbrev-mode
(syntax-word-p (preceding-char)))
(expand-abbrev))
(let ((start-column (current-column))
indent)
(save-excursion
(goto-bol)
(backward-char 1)
(if (re-search-backward "^[^\n]" t)
(let ((end (save-excursion (forward-line 1) (point))))
(save-restriction
(narrow-to-region (point-min) end)
(goto-column start-column)
;; Is start-column inside a tab on this line?
(if (> (current-column) start-column)
(backward-char 1))
(or (looking-at "[ \t]")
unindented-ok
(skip-chars-forward "^ \t"))
(skip-chars-forward " \t")
(or (= (point) end) (setq indent (current-column)))))))
つづき
(if indent
(let ((opoint (point-marker)))
(delete-region (point) (progn (skip-chars-backward " \t") (point)))
(indent-to indent)
(if (> (marker-point opoint) (point))
(goto-char opoint))
(set-marker opoint nil))
(tab-to-tab-stop))))
>>440 untabifyするの忘れてた・・・
Windows XP Home Edition SP2で制限ユーザーとしてxyzzyを起動すると
1回目だけxyzzyのウィンドウが1秒程度灰色のまま固まるんですが、
同じような症状の人はいないですか?xyzzyのバージョンは0.2.2.234です。
443 :
414:2005/08/08(月) 18:41:27 ID:OlcdLK7G0
envlnc.exeに関しては調べてみたのですが、
wikiに圧縮ファイルがあるだけで、それ以外の説明がないので、
どなたかご存じないでしょうか。
違うPCにUSBメモリをさす度にusrフォルダの中に新規userがつくられますが、
USBメモリに入れて使われている方はどのようにしているのでしょうか。
>>443 ここで質問せずに Wiki に行けばたぶん佐野さんに何とかしてもらえるんじゃないかな。
>>443 -config config-directory
Readme嫁
>445 そういうのがあったのですね。知りませんでした。
コマンドラインオプションのやり方がよくわからなかったので、
調べながらいくつかやってみました。
ショートカットに -config xxx を加えて起動したところ、
xxxフォルダに xyzzy.ini などが作成されるようになりましたが、
ショートカットだとUSBを差し替える度に
リンク先(絶対パス?)を変えなければならないみたいで、
他にコマンドラインオプションのやり方がわからなかったので、
他に励ましあえその5の619にあったバッチファイルをやってみましたが、
この方法だとDOS窓が開くのがちょっといやなのでやめました。
で、結局 envlnc.exe から起動させて、
設定ファイルを置くディレクトリを変更させる方法がよくわからずいじっていたところ、
envlnc.ini に XYZZYCONFIGPATH=%CD% と記入したら、
xyzzy.exe のディレクトリに xyzzy.ini が作成されました。
で、やり方があっているのか全然わからないのですが、
これ以上わたくしの力ではどうにもわからないので、
しばらくこれで使ってみようと思います。(´・ω・`)
>>447 XYZZYCONFIGPATH=%CD%/hoge/fugaとかできない?
この場合だと、fugaといゆうディレクトリにxyzzy.iniができると思う。
envlnc.exeつかったことないから、間違ってたらごめん
449 :
名無しさん@お腹いっぱい。:2005/08/10(水) 16:40:05 ID:0YyV78xQ0
www-modeでw3m(0.5.1)を使ってレンダリングすると
入力フォームの赤下線が、黒色になってしまって
入力できなくなってしまいます。
どうすれば直りますか
3を押す。
>>450 お、ありがとうございます
これは、こういうものなんですね
Wiki、なんで素直に回答することができないんだろ。
簡単なのは認めるが・・・
>>452 そいつが気にくわないからだろ?
# ところで、質問箱/99、質問箱/101は直ったんだろうか?
>>452 まあ一連の質問は読む気がしないのも事実。
いい加減にしてくれと言いたくなるのもわからんでもない。
ほかの Wiki ではあれよりも厳しい応対が普通なところもあるしね。
>>452 あそこは質問するところ、なんだしあの人も自分と同じxyzzyユーザー
なんだし、と思うんだけどなんか答えたくなくなるんだよね、一発で。
答えたくないなら放置すれば済むことだろうに
管理人としては放置するわけにもいかんだろ。いろいろな意味で。
>>452 そう思うならあなたが回答してくださいよ。
Wikiは一般ユーザーの協力で成り立っている部分もあるんですから。
460 :
名無しさん@お腹いっぱい。:2005/08/13(土) 09:24:46 ID:+9ZPbgPC0
日本語の文字間がやけに広くて間延びしているのですが縮めることはできないでしょうか
フォントを変える
462 :
名無しさん@お腹いっぱい。:2005/08/13(土) 14:32:19 ID:+9ZPbgPC0
MSゴシックでさえダメですが何かいいフォントありますか?
ほんとはOsaka使いたいんですが
ASCIIと日本語とかでフォントの設定が変になってたりしないか?
464 :
461:2005/08/13(土) 15:06:14 ID:pDNcVzru0
ちょっと小さめだけど Terminal 10pt 使ってる
>>463 なるほどorz
ASCIIはLucida Consoleで日本語はOsaka使ってました。
両方ともOsakaに変えたらちゃんと文字間がせまくなりました。
>>465 「ASCII 以外のサイズはお任せ」のチェックをはずして、
日本語フォントのサイズを ASCII より一回り大きく設定すると丁度良くなるかもです。
私の場合、今確かめてみたら ASCII が OCRB の 9px、日本語が Osaka等幅-NBAA の 10px でした。
フォントの組み合わせで兼ね合いは違うでしょうけど。設定によって字が欠けたりもするし。
マイ設定
ascii Courrier New 14pt
日本語 東雲明朝 12pt
ラテン文字 Courrier New 14pt
キリル文字 Courrier New 14pt
ギリシア文字 Fixedsys 12pt
[...]
行間 4pt
東雲フォントは視認性がよくて好きです。
>>467 考えられない程のスペース効率。UXGAでも
9ptか10ptしか有り得ない俺は異常なんだろうか。
PC環境やその人の視力も違うんだし
正常とか異常とかわざわざ言わなくてもいいんじゃないの?
これだから夏は嫌い・・・・
cygwinのgccでxyzzy上からコンパイルするのは
どうやるんですか?
call-process とか execute-shell-command とか shell とか
472 :
>>470:2005/08/14(日) 17:21:42 ID:VrV89SeV0
>>471 どうもです
色々調べてみてCのソースを開いた状態で
"C-x & gcc -o hello hell.c"
とか打ち込んでコンパイルには成功したんですが
"C-x & hello.exe"
で出来たファイルを実行しようとすると
入力を施すプログラムではミニバッファでカーソルが
あるだけで何も進みません。
これはやり方が間違ってるんですかね?
473 :
匿名希望@Vim%Chalice:2005/08/14(日) 20:46:00 ID:+rF3VBE70
この前、偶然に xyzzy の本を見つけて驚いた。
xyzzy は、消えてなくなるんだと思っていたから。
マジで生き残りかよ、スゲーな。
このスレで「scheme 系だったらな」とかクダクダ言う香具師は、
ワイて出たことはありますか?
前、印刷の所を改造して色つきで印刷できるようにした、って人いましたが、どうなっちゃったんでしょうか?
マルチ
改行無しのsqlを、ある程度読める形に整形するLispとかありませんか?
つまらない質問ですが…下記の xgrep で検索する時、二つ目の項目
(検索するディレクトリ指定) の書式がちょっと変で、
>directoryc:/xyzzy/
といった風に "directory" と該当するものが繋ってしまっています。
両者の間にスペースを入れたいのですが、どうすれば良いでしょうか?
>;; xgrep [ml:843]
>(defun xgrep (pattern directory files)
> (interactive "sgrep: \nDdirectory\nsfiles: " :history0 'search)
> (require "grepd")
> (let ((ed::*grep-case-fold-search* t)
> (ed::*grep-regexp-search* t)
> (ed::*grep-subdir* t)
> (ed::*grep-name-only* nil))
> (ed::scan-files pattern (split-string files #\; t " ") directory)))
test
(interactive "sgrep: \nDdirectory: \nsfiles: " :history0 'search)
>>472 それはべつにプログラムが止まってるわけではなくて
標準出力がプログラム終了までバッファリングされてて
でてこないだけ
しかるべき順序で入力すべきモノを入力してやれば
ちゃんと動くはず
標準出力のバッファリングが気に入らない場合は
ソースに
setbuf (stdout, 0);
と書いておくか、shellモードで実行したらよかったはず
ウィンドウの最大化などするとき
Alt+SPCでコントロールメニューが出ないんですが
xyzzyではどのキーに割り当てられてるんでしょうか。
>>481 Alt + 手を離す + SPC
また、共通設定の "なんで Alt でメニューが開かない"
を check すればAlt+SPCでコントロールメニューが出る。
>>482 出ました!
どうも有り難うございました。
以下の階層で
C:/foo/
│
├ 1/
│ └ bar.txt
│
└ 1 (1)/
└ bar.txt
C:/foo/以下に対して、grepを行い、
1 (1)/bar.txt:1:aaa
こんな感じで結果がでた際に、first-errorやnext-errorを行うと、
「c:/foo/1はディレクトリです」
とでてしまい、jumpに失敗してしまいます。
フォルダ名を変えずにjumpできるようにするにはどうすればいいでしょうか
>>484 試してないけどきっとこれで…
(setq *error-regexp-list*
(append (list (second *error-regexp-list*)
(first *error-regexp-list*))
(cddr *error-regexp-list*)))
diff取ったときに、*diff new*や*diff old*バッファを直接編集したいです。
C-x C-qで書き込めるようにはなるんですが、
diff-modeでのキーバインディング、nとかpとかが有効なままなんでちょっと編集しずらいです。
こういうのを無効にして、そのまま入力するようにできますでしょうか?
わがままいうと、編集が終わったあとに、
またdiff-modeでのキーバインディングが有効にできる設定があるといいんですけども。
がんばってつkるえ
>>487 diff-mode のキーマップをつぶすようなキーマップを持ったマイナーモードを作る。
490 :
487:2005/08/20(土) 03:01:23 ID:og+9pHCy0
>>489 なるほど、マイナーモード作ればいいわけですね。がんばって作ってみます。
>>487 これで切り替えるとか
(use-keymap *global-keymap*)
(use-keymap *diff-mode-map*)
app-menu.lをカスタマイズしてメニューバーの表記を書き換えたんですが
キーの割り当てはそのままで"(:popup 'file "ファイル(&F)""をいじって
メニューバー上で"ファイル(F)"の(F)をなくして"ファイル"とすっきり
表示出来ますでしょうか?
置換ダイアログをショートカットキー(C-hとか)で呼び出したい
のですが、そういうことは可能でしょうか?
>>493 こんなのでできるけど、 C-h にするとモード毎のキーマップで上書きされる可能性あり
(global-set-key #\C-h 'gresreg-dialog)
置換ダイアログはgresreg-dialogじゃなくてreplace-dialogだと思うの。
xyzzyでhowmを使っています。バージョンは1.1.0.3です。
WIKI風に使いたくて[[キーワード]]で囲むのですが、リンクの下線は表示
されるもののリターンを押しても改行されるだけで新しいファイルを生成
してくれません。
解決策をご存知の方いらっしゃいますか?教えて厨ですみませんが…
>>494>>495 返答有難うございます。
が、やはりモードごとの設定に上書きされるようで駄目でしたorz
ちなみにもともと(load-library "Gates")をしているのですが、
"Gates"の中身を見ると既に以下がしてありました。
(global-set-key #\C-s 'search-forward)
(global-set-key #\C-r 'replace-dialog)
この設定をC/C++モードでも生かす方法は無いでしょうか?
C-rではなくC-rでも大丈夫です。
>C-hではなくC-rでも大丈夫です。
でした。
501 :
496:2005/08/20(土) 16:59:17 ID:IQUj3nMT0
>>497 即レスありがとうございました。
携帯から2ちゃんで質問って、やっぱよくないですね。
反省しました。
これでxyzzy+howm-wrap の利便性めちゃ上がりです。
お礼まで・・・
>>500 あ、すみません。
(global-set-key #\C-f 'search-dialog)
は間違ってました。コピペして手で修正したので。
(global-set-key #\C-r 'replace-dialog)
はこれでOKでした。
C/C++モードでM-x describe-keyでの確認を行ってみましたが、
やはり上記の"Gates"は反映されず、ローカル設定で上書きさ
れているようです。
質問ばかりで申し訳ないのですが、グローバル設定を生かす方
法、またはローカル設定を変更する方法をどなたか教えていた
だけないでしょうか?
ていうかC-rに何が入ってる?
C/C++-modeデフォルトでは別にC-rを変更することはなかったと思うんだけど……。
>>503 あ、なるほど、原因が分かりました。
(load-library "Gates")の後に(require "isearch")を呼び出して
いたのですが、そこで再度「逆サーチ」に上書きで定義されてい
ました。
(require "isearch")の後で置換ダイアログを定義するように順番
を変えたら上手くいきました。
「逆サーチ」は全然使っていた無かったので、個人的にはこれで
解決しました。どうも有難うございましたm(__)m
(defun nannka-kure ()
nil)
背景を黒くしたんですが、Perlモードで文字が見えにくくなりました。
ツール->共通設定の文字色を変えても改善されないのですが、
どこをいじればいいのか、教えていただけませんか?
>>507 キーワードが見えにくくなったなら、「文字1」〜「文字15」かな。
それ以外は分からない。
510 :
507:2005/08/21(日) 01:18:55 ID:atw1v4ve0
>508、509
共通設定ばかりいじっていました。
ローカル設定をかえるとできました。
なぜ気づかなかったのか(汗
どうも、ありがとうございました。
バッファタブに表示される文字数を
固定することは出来ますか?
2chやwwwを使うと長いURLまで全部表示
してしまって鬱陶しいです。
F2
>>512 固定長にする方法は知らないけど,そういう場合はバッファ名を非表示にするんでしょ
2ch-modeの場合は,~/.2ch/config.lに下のを書いておくんだよね.
www-modeでも同じことをずーっと前に聞いた人がいたと思うから,過去ログ探せば出てくると思う.
(setq *buffer-board* " 2ch: Board")
(setq *buffer-board-temp* " 2ch: Board Temp")
(setq *buffer-bookmark* " 2ch: Bookmark")
;(setq *buffer-form* " 2ch: Form")
(setq *buffer-form* "2ch:Form")
(setq *buffer-grep* " 2ch: Grep")
(setq *buffer-history* " 2ch: History")
(setq *http-buffer-name* " 2ch: HTTP")
(setq *http-gzip-buffer-name* " 2ch: GZIP")
(setq *buffer-temp* " 2ch: Temp")
(setq *buffer-menu* " 2ch: Menu")
(setq *buffer-search* " 2ch: Search")
(setq *buffer-thread* " 2ch: Thread")
;(setq *buffer-thread* "2ch:")
(setq *buffer-archive* " 2ch: Archive")
(setq *buffer-view* " 2ch: View")
(defun tracking-buffer-name (track-name)
(format nil " 2ch: ~A: [~A] ~A" *tracking-name* track-name (tracking-file track-name)))
(add-hook '*2ch-exit-hook*
#'(lambda ()
(dolist (buf (buffer-list))
(let ((bufname (buffer-name buf)))
(when (string-match "^ 2ch:" bufname)
(delete-buffer bufname))))))
>>514 ありがとうございます。
上手くいきました。
2ch-modeで書き込むときに普通のブラウザで送信する時
みたく2chの書き込み確認の画面が出ますか?
僕の環境ではwで書き込みフォームに記入してC-c C-cで
送信確認のダイアログのYを押すとhtmlタグ丸出しのソース
状態&日本語部分文字化けの書き込み確認画面になって
そのウィンドウ内をクリックすると「関数が定義されていません: 2ch::httpq-uit」
というダイアログが出てまったく送信出来ません。これは何でしょうか?
スレを閲覧するのは全く問題ないんですが。
>>517 これはどうも失礼しました。
普段からopenjaneを使ってまして昨日2ch-modeを
導入した途端この有様で焦ってしまいエラーの文字列
などで検索しても何も出て来なかったので書き込んでしまいました。
まさかこんな事態になってたとはビックリです。
レス番号へ誘導してくださって有難うございました。
xyzzy part12
>>696のパッチあてて
書き込み出来るようになりました。
感謝です。
ネットをキーボードでリンクをたどりながらみれるといいなぁと思い、
www-modeを使ってみたのですが、
文字化けが沢山でて使い物にならなかったです。
なにか、ネットをみるのにいい方法ってあるのでしょうか?
521 :
名無しさん@お腹いっぱい。:2005/08/28(日) 21:39:32 ID:Z8nDCYkX0
プログラミング(VC++)してるんですがエディタだけxyzzyを使おう
と思うんですが、インテリセンスがないのでちょっと使いづらいです。
現在どなたかそういった機能を公開されている方orHPはありませんで
しょうか?
キーワードファイルからの補完ならどこかにあったはず
というか昔同じ質問があったんだけどいつだったっけ……
523 :
522:2005/08/28(日) 22:27:15 ID:iodJfgTz0
> というか昔同じ質問があったんだけどいつだったっけ……
記憶違いだった。
*post-command-hook* に引っ掛ければ補完候補を表示するぐらいはできそうだけど。
>521
C++はプリプロと複雑な文法のせいでえらく解析が面倒なんだよ……。
昔作ろうと思ったけど、流石にLispじゃ無理だろうという結論に達した。
525 :
521:2005/08/29(月) 08:59:42 ID:QKFe0T+/0
回答してくれた方ありがとうございます。あきらめてVCのエディタを使います。
>>524 emacsやviにはあるんだけど
xyzzyでは何で無理なの?
EmacsやVimの類で使われてるctags程度でいいならxyzzyでもできたと思うが。
VSのコードエディタなみの使い勝手が実現できるかどうかはしらん。
dabbrevの話?
>>520 キーボードでブラウザ操作したいならLynx使ったら?
531 :
名無しさん@お腹いっぱい。:2005/08/30(火) 20:44:55 ID:SVZbE+XV0
operaでおけ
ブラウザ質問で便乗します。
ブラウザで見ているときに、あるホットキーを押すと、
xyzzyに制御がうつり、かつhowmモードの新規メモで、
さっき見ていたページのアドレスが>>>
http://〜と記入されている、
なんていうことを実現したいんですが可能でしょうか。
www-modeで見ていれば比較的簡単に実現できそうですが、
ブラウジング自体は他のブラウザを使いたいのです。
ブラウザのスクリプトで xyzzy(cli) に
適当な引数を与えて起動できるなら,できるでしょ.
やるきがあれば
>>532 AutoHotKey?あたりを使えば可能。
532じゃないが質問させてください。
FirefoxのJavaScript Actionsという拡張から、535で紹介されているページの
myhowm-bookmark関数を呼び出すスクリプトを書いたのですが、「Line 1:文字列が
終了していません」と怒られてしまいます。
コマンドラインから C:\xyzzy\xyzzy.exe -e "(myhowm-bookmark \"
http://example.com/\")"
と実行した場合はうまく機能しています。
Firefox使いの人でわかる方がいましたらご教示ください。スレ違いでしたらすいません。
-----------------------------------------
jsa_Send();
function jsa_Send(){
var xyzzypath = "C:\\xyzzy\\xyzzy.exe";
var commandline = "-e \"(myhowm-bookmark \\\"" + window.location + "\nTitle: " + window.document.title + "\\\")\"";
_jsaCScript.exec(xyzzypath,commandline);
}
マウスホイール等でスクロールするとカーソルまで一緒にスクロールしてしまします。
そのため、Shift+左クリックでの広範囲選択ができません。
カーソルの位置を動かないようにする設定はないのでしょうか?
539 :
532:2005/08/31(水) 14:41:03 ID:cI91TlpV0
544 :
537:2005/08/31(水) 16:13:15 ID:eYcVczJs0
これ↓でしょうか?
keep-selection.l っていうファイルが見つからないのですが・・・
tips/マウスホイールで画面をスクロールさせてもセレクションを解除されないようにする - Xyzzy Wiki
http://jpan.jp/?xyzzy
545 :
537:2005/08/31(水) 16:46:40 ID:eYcVczJs0
>>532 のスクリプトで,xyzzyのパスに空白含んでいるとエラーで起動できない
パスを """ で囲んでもだめだった.
どうすればいいのか教えて
>>546 xyzzypath = "\"C:/Program Files/xyzzy/xyzzycli.exe\""
てな感じではどうでしょう?
>>547 できました. thx
試したつもりだったのに orz
549 :
548:2005/09/01(木) 02:35:16 ID:ucg1VzgA0
連投スマソ
>>532 のcopyhomw.html の方で, エスケープされたクオート \" があると
変数が定義されていません: |"|
というエラーがxyzzyで出て,うまく機能しません.
"\\" という場合は問題ないです.
macro-reader が関係しているようにも見えるんですけど,自分じゃ
よく分からないので,誰か分かる人助けてください.
>>549 そのまんまコピペしてもあかんのですか?
551 :
548:2005/09/02(金) 02:27:46 ID:sctGVhco0
>>550 copyhowm.html の myhowm-memo は myhowm-bookmark に変更して,
xyzzyのパスを適宜設定し,それ以外はそのままです.
でも,うまくいきません.
だれもこのエラーを報告して無いってことは,自分だけなのか ort
>>551 それうちでもなりました。ど素人方法ですが、こんなのどうでしょう。
copyhowm.html
6,7行目の間に追加
str = str.replace("\\\"","<escape-qoute>")
myhowm-memo
(insert (format nil "xxURL ~A" (removeM url)))
を
(insert (format nil "xxURL ~A" (substitute-string (removeM url) "<escape-qoute>" "\\\\\"")))
に変更
ただやばい文字をてきとうに置き換えただけ('A`)
>>553 そこにある通りにしたらとりあえずはできた。
CLCLの方の貼り付けのキー設定を忘れてるとかじゃないか?
ただ貼り付けれないことがあったり、
2ch-modeのFormには全く貼り付けれなかったりしたんだが・・・
555 :
553:2005/09/02(金) 12:36:02 ID:gS0SXFlS0
>554
ありがとうございます。
>CLCLの方の貼り付けのキー設定を忘れてるとかじゃないか?
オプション→キー のデフォルトのキー設定は
コピー Ctrl+C
貼り付け Ctrl+V
に設定してありますが、
他に設定するところがあるのでしょうか?
Ctrl + Delete
Shift + Insert
は問題なく動作するのですが、
クリップボード履歴表示→選択→貼り付け
がうまくいきません。
>>555 CLCLの設定
コピー Ctrl + Delete
貼り付け Shift + Insert
xyzzyはそのまま。
でも出来るけど、他のソフトでCLCLが使えなくなるので
CLCLの設定
コピー Ctrl + C
貼り付け Ctrl + V
xyzzyは.xyzzy(もしくはsiteinit.l)に
(load-library "Gates")
と追加。
がオススメ。
557 :
554:2005/09/02(金) 14:37:41 ID:2WghVxv90
>他に設定するところがあるのでしょうか?
オプション→キー設定 の追加と
オプション→ウィンドウの設定
の2箇所に
>>553 のサイトのxyzzyの項のように設定する必要がある。
あと2ch-modeで使えなかった理由もわかったので報告しておくと
単にキー設定、ウィンドウ設定のタイトルの設定が原因だった。
「xyzzy *」に「2ch-mode-・・・」はひっかかるわけないなorz
558 :
553:2005/09/02(金) 15:32:29 ID:gS0SXFlS0
>557
>オプション→キー設定 の追加と
>オプション→ウィンドウの設定
>の2箇所に
>>553 のサイトのxyzzyの項のように設定する必要がある。
これに関しては、すでに設定してあります。
Alt + C での貼り付けが動作しない状態です。
>556
>(load-library "Gates")
できれば、デフォルトのキーバインドで使いたいと思っています。
>>559 それだとxyzzyにしか貼り付けれない
>>558 よく分かりませんが、xyzzy側の問題なのでしょうか?
その操作をした後、xyzzyで最近入力したキーを確認してみてください。
Ctrl + v が来てませんか?
>>552 base64エンコードとかがいいんじゃないですか?
javascriptは分からないのでコードは書けませんが。
562 :
553:2005/09/02(金) 19:53:07 ID:pBuIAZCb0
>561
確かに Ctrl + V がきてます。
http://www.nakka.com/soft/clcl/window.html xyzzy
[キー設定]
タイトル: xyzzy *
クラス名: (半角空白一つ)
コピー: Ctrl + Delete
貼り付け: Shift + Insert
コピーの待ち時間: 0
貼り付けの待ち時間: 0
[ウィンドウ設定]
タイトル: xyzzy *
クラス名: (半角空白一つ)
オプション: ツールをキャンセルしても貼り付けをする
の設定はしているんですが…
563 :
553:2005/09/02(金) 20:03:48 ID:pBuIAZCb0
デフォルトのキー設定を
貼り付け Shift + Insert
にすれば
動作するようです。
恐らく、タイトル文字にマッチしてないんじゃないかな。
565 :
553:2005/09/02(金) 20:09:02 ID:pBuIAZCb0
クラス名は(半角空白一つ)ってなってるけど、
俺の環境では全角スペースが取得されるね。
全角スペース入れてみるとどうだろう?
かなりスレ違いな気もするが。
567 :
553:2005/09/02(金) 20:53:02 ID:Rm97injS0
皆さんいろいろありがとうございました。
CLCLから取得したウィンドウタイトルを
削って、xyyxy * にしたら
できたみたいです。
AutoHotKey用のモードはありませんでしょうか?
以前xyzzyを試しにダウンしてみてツールバーがなかったのでなんてクソなソフトウェアだ、使い心地が悪いなと思ったんだけど、
Linuxに興味がわいてきてLinux入れてみて、Emacsもこんなんだと思ったらデザインなんか気にならなくなってきたし、
キー操作のほうがむしろ楽だって気づいたよ。これだったら秀丸いらない気がする。
>>569 ツールバーはあるよ。
あ、もしかして、ずっと前のバージョンにはツールバー付いてなかったのかな。
もっともツールバー使うような人間はxyzzyに向いていないかもしれないが。
拡張が多くなると、キー操作が覚えきらんくなるから、ツールバーも
あった方が便利だよ
>>569 数年間ずっとsiteinit.lにある・・・どこで手に入れたんだろう?
;メニュー表示のトグルスイッチ
(add-hook '*post-startup-hook*
#'(lambda ()
(interactive)
(set-menu nil)
(let ((toggle-app-menu nil))
(defun toggle-app-menu ()
(interactive)
(set-menu (setq toggle-app-menu
(unless toggle-app-menu *app-menu*)))))))
>>570 昔はデフォルトがツールバーの表示なしだったと記憶している
ウインドウ幅で折り返す際に、該当の行のindentを折り返された
バーチャル行にも設定させることってできますでしょうか?
もちろん表示上だけで実際のデータは何も変更されない形で。
むり
小指がいたい
「abcxxxxxxabcabcabc」
こういう文字列があったとして(xxxxxxの部分にはランダム&長さ不定の文字列が入る)
正規表現で「abcxxxxxxabc」にマッチさせるにはどうすればいいですか。
abc.*abcだと文字列全体にマッチしてしまいます。
それくらいググれ
abc.*?abcでできました。ありがとうございました。
板一覧を採ってきて2chmemu.htmにリネーム
/softwareを/pc7に移動
bbsmemu.txt削除
これで正常に無理やりしました。
でもなんか間違ってるよね
折れの使い方。
板変更
ログ移行
参照先移行
自動で出来ると思うんですが
そうですよね。
ありがとうです。正常に動いてる様子です。
calmemo (・∀・)イイ!
xyzzyにはシェルスクリプトを編集するモードはないのでしょうか?
emacsにはshell-script-modeがありますよね。
css-modeでプロパティと値両方に出てくるようなもの(例えばtopやbottomなど)
をプロパティか値かによって正しく色分けする方法ってどうやればいいのでしょうか?
grepの検索結果は、first-error/next-errorでファイルを
開くことが出来ますが、一つのバッファだけで見るようにするには
どうすれば、良いんでしょうか?
プレビューとして使いたいんす。
例えば、diff.exeだとパスの通し方として、
(setq ed::*diff-command-name*
(map-slash-to-backslash (merge-pathnames "diff.exe"...
てな感じの設定が検索するとでてくるのですが、
ispell.exeだと、
(setq *ispell-command* "ispell.exe"...
てな感じになってます。
・ed::をつけた方がいいのか。(両方のlispを見たのですが、違いがよくわからない...)
・map-slash-to-backslashは入れたほうがいいのか。(入れなくても動くみたいですが)
教えてください〜。
594 :
名無しさん@お腹いっぱい。:2005/09/13(火) 00:28:44 ID:CwYS3cOb0
ageてみます
こちらも質問なんですが、
最近使い出して大体Emacsと同じというのは分かったんですけど
*.cppなファイル開く際デフォルトでabbrev-modeを有効にしたいので
(defun my-c++-abbrev ()
(interactive)
(abbrev-mode)
(c++-mode))
(setq *auto-mode-alist* (append (list
'(".cpp" . my-c++-abbrev)
'(".h" . my-c++-abbrev)
*auto-mode-alist*)))
こんなもんを書いたはいいんですが、
実はもっとまともなやり方があるんじゃないかと夜も眠れません。
aproposしてもドキュメントが出るわけでない中、
みなさんlispディレクトリを読んで調べてるんでしょうか?
>>595 (add-hook '*c++-mode-hook* 'abbrev-mode) かな
確認して無いけど
hexl で sample format にあるように、
HEX ADDR: 0001 0203 0405 0607 0809 0a0b 0c0d 0e0f ASCII-TEXT
-------- ---- ---- ---- ---- ---- ---- ---- ---- ----------------
の行を表示させるにはどうすればいいのでしょうか。
>>597 そんなコード何処にも無いので _
emacs からの移植のときに削られたんだと思う
>>593 質問の意味がよくわからないが、editor packageでなければ"ed::"はいらない
setq perl-indent-level 4 としても2のままなんですが、perlモードでのインデント指定
は別の名前だったりしますか?
>>600 perl も c も c-indent-level で設定する.
602 :
600:2005/09/13(火) 14:54:33 ID:89PSeZZ20
ありがとうございました。
>>593 説明を書いてたんだけど長文になったので貼り付けるのがためらわれる…
結論だけ言うと
・*ispell-command* はそのままでOK。
・ed::*diff-command-name* の ed:: は必要。
ただし、この設定より前に (require "diff") なり (load-library "diff") なりしてあれば不要。
・コマンドプロンプトに送ってるみたいなのでスラッシュでもバックスラッシュでもどちらでもOK。
>>596 それでうまくいきました。
reference.txtというのがあったんですね。
おべんきょしてきます。んでは
605 :
597:2005/09/13(火) 19:26:04 ID:rsFRSQrs0
>>598 そうですか。
hexl.elを眺めてみたのですが、
それらしいのがなさそうというかわからなかった。
HEX ADDR:とその下の行があれば使いたかったけど残念〜。
606 :
593:2005/09/13(火) 22:10:40 ID:+CEyb6/H0
>>599 両方 editor package だと思います。
>>603 どちらも require しているので、ed:: は不要と考えていいのでしょうか。
siteinit.l の中も、editor package になっていると思うものでも、
(in-package "editor")
(autoload ***)
(pushnew ***)
(in-package "user")
となっているモードとなっていないモードがあったり違いがいまいちピンとこないので、
説明を書いていただけたのでしたら読みたいです。
607 :
603:2005/09/14(水) 00:16:48 ID:uLELS/sA0
>>606 それじゃあ長くなりますが貼ります。
大前提として user パッケージでない場合は "ed::" なり "lisp::" なりのプリフィックスが必要です。
ただし
1. user パッケージから use されているパッケージに登録されている
2. そのパッケージから export されている
の両方を満たせば、プリフィックスは必要ありません。
1. の方はデフォルトでは editor パッケージと lisp パッケージが当てはまります。
2. については各ファイルを見れば export コマンドのところに羅列してあるのでわかると思います。
注意しなければならないのは export されるのはそのファイルが読み込まれた時だということです。
たとえば autoload の場合、.xyzzy に書いておいても起動時にそのファイルが読み込まれることはありません。
長すぎると怒られたので続く↓
608 :
603:2005/09/14(水) 00:18:40 ID:uLELS/sA0
たとえば
(autoload 'diff "diff")
(setq *diff-command-name* ...)
のような設定だけ .xyzzy に書いたとします。
*diff-command-name* は diff.l の中で export するように設定されているので
プリフィックスなしで使えるように見えますが、実際はうまくいきません。
これは xyzzy を起動するとき(.xyzzy を読み込むとき)に diff.l がまだ読み込まれていないので、
*diff-command-name* というシンボルがどこにも定義されておらず、
setq コマンドは新しいシンボルとして *diff-command-name* を user パッケージに登録してしまうからです。
この後実際に diff を起動しようとすると、その段階ではじめて diff.l が読み込まれ、
同時に *diff-command-name* というシンボルを editor パッケージに登録します。
そして export しようとしたところで先ほど user パッケージに登録されたシンボルと衝突するわけです。
あらかじめ ed:: をつけるなり (in-package "editor") と書くなりして editor パッケージに変数を登録しておけば
diff.l を読み込んだときにそのシンボルを見つけてくれるので衝突が回避できます。
また、require などで明示的にファイルを読み込んでおけば、export されたシンボルを
見つけることができるので、やはり衝突を回避できます。
最後に、見分け方としては *scratch* バッファに変数名を貼り付けて C-j してみれば、
変数がプリフィックスなしで使えるかわかりやすいと思います。
609 :
名無しさん@お腹いっぱい。:2005/09/14(水) 17:04:02 ID:rFfT3bKqO
おまいら、WinShellがめんどくさくなってきた俺がきましたよ。
よしxyzzy使いはじめるぞ。
つーことでがんがるからサポートしる。
質問です。
Perlで言う
$str =~ s/before/after/;
みたく、変数strにバインドされた文字列を
正規表現で置換するような関数ってないんでしょか?
なんだかregexp関係で調べてると相手がbufferなものばかりで
変数相手なものがみつからんとです
611 :
609:2005/09/14(水) 17:23:32 ID:rFfT3bKqO
よくわかんねーけどxyzzyにKaTeXって拡張いれたら
なにこれテラヨサスってなるんだよな?
replace-match replace-string あたりだと...
substitute-stringじゃね?
string-replace-matchかも
616 :
610:2005/09/14(水) 19:33:35 ID:LFYUwvxc0
あれこれありがトン。
string-replace-matchでうまくいきますた。
へい。わかっとりやす。
これからはもっと調べておかにゃ…
CとかJavaとかのソースでインデントするときはタブ文字を使いたいので、
(setq indent-tabs-mode t)
としています。しかし、HTMLやlispなどではスペースを使いたいので、指定したモードでは
スペースを使うように
(defun indent-with-space ()
(interactive)
(setq indent-tabs-mode nil))
という関数を作って、
(add-hook '*html-mode-hook* 'indent-with-space)
のように add-hook を並べています。これが最善かどうかわからないんですが、もっとスマートな
やり方をしている人いますか?もしいたら教えてほしいです。
>>617 C も java も使ったことないので試してないけど。
C なら
(setq *c-indent-tabs-mode* t)
java なら
(setq *java-indent-tabs-mode* t)
たいていの mode で indent-tabs-mode はローカル変数にしてあるよ。
619 :
611:2005/09/14(水) 21:08:02 ID:rFfT3bKqO
なに動かないこととかあんの?!
今まだ外だから家に着くまでにみなさんアドバイスください。
>>618 なるほど、調べてみたら自分が設定したいモード全てに indent-tabs-mode がありました。
siteinit.l もすっきりしました。ありがとうございました。
亀本みて、バックアップファイルの保存場所を指定したんだけど、
sssnファイルから起動させると、うまくバックアップファイルが生成されないんですが
なにが悪いんでしょうか?
パス構成はこんな感じです
@/aaa/bbb/*.ssn
A/aaa/ccc/*.txt
B/aaa/ccc/bak/*.txt1
Aにあるテキストファイルをxyzzyで開くと設定どおりBにバックアップができるんですけど
Aのファイル群を編集している途中で作成したssnからAにあるファイルを開くとBにバックアップが作成されないんです。
ちなみにAとBのパスはフルパスで.xyzzyに書いてあります。
622 :
593:2005/09/14(水) 23:00:14 ID:SIf5ZT1H0
>>607-608 (゚∀゚) thx!
わかりやすくて目から甲羅です〜。
何処かからこぴぺした html+-mode のキーが
(define-key ed::*html+-mode-map*...
になっていたので混乱してました。
editer パッケージで、export されてて、
siteinit.l の中で require しているから不要ってことすね。
lisp のなかを見ると、たしかに ***-mode-map でも export されているのといないのと、
混在しているのですね。
それらを見ながら、
siteinit.l を整理してなんか気分的に少しすっきりしました〜。
623 :
609:2005/09/14(水) 23:07:23 ID:nIWkntH00
家に帰ってきたお。
とりあえず本体落として、.xyzzyってファイルとsiteinit.lってファイル作って
.xyzzyがあるとこにパス通してみた。
625 :
609:2005/09/14(水) 23:50:33 ID:nIWkntH00
そりゃそこからでしょw
netinstallerとかいうのいれたほうがいいんかな??
てかキーバインドとかいうのがWindowsと全然違うから使いにくすw
>>608 質問者ではないですがとっても役に立ちました。このあたりはいつもよく悩むのですが
おかげさまで対処できそうです。これからもよろしくお願いいたします。
627 :
名無しさん@お腹いっぱい。:2005/09/14(水) 23:58:55 ID:NB6AcKJl0
607-608を読んでも一向にわからない俺様が来ましたよ。
.xyzzy で hoge という関数を定義したんです。
そして site-lisp/mylisp.l で hoge を使おうとしたら
"定義されていない関数です" で怒られた。
やってみたけどだめだったこと
.xyzzy に (export 'hoge) を追加する
mylisp.l の (hoge) を (ed::hoge) だったり (user::hoge) だったりに変える
mylisp.l に (use-package "user") を追記する
なんとかなったもの
わけもわからず書いてた mylisp.l の (in-package "editor") をコメントアウトする
.xyzzy を (in-package "editor") (defun hoge ..) (in-package "user") に書き変える
(defun hoge ..) を siteinit.l に書いてもいいかもしんない
というわけで意味がわかりませんでした。
1.
ttp://kadd.hp.infoseek.co.jp/foomode.html なんかで (in-package "editor") を
当然のように入れてるのはなぜか。
2. mylisp.l に (in-package "editor") したまま .xyzzy に(in-package "editor") を
追加しないで mylisp.l から hoge を使うにはどうしたら?
3. .xyzzy に書いたものは user package に入るの?だとしたら (export 'hoge) して
(use-package "user") したら使えるはずでは?
4. .xyzzy には普通 (in-package "editor") とかは書かないよね?
辺りが疑問なんだけど教えてください
628 :
603:2005/09/15(木) 02:42:52 ID:1Hg3DALb0
>>627 すいませんがちょっと状況がよくわかりません。
この辺は hoge を定義したタイミングと hoge を使おうとしたタイミングにも依ります。
定義さえしてあれば (user::hoge) でうまくいくと思います。
hoge の定義より前に (require "mylisp") とか書いてあったら当然ダメですが。
あと sitelisp.l に書いたことは .xyzzy より先に読み込まれるので、sitelisp.l で mylisp.l を読み込むのもダメです。
あと、試してみたことが、一回一回再起動しながらやったのかそうでないかでも
挙動が変わってくると思うのでなんともいえません。
一度変数が登録されてしまうと再起動するか makunbound などで解消しない限り、残って邪魔をすることがあるので。
1. 特に深い意味はないと思います。おそらく lisp ディレクトリに入っているファイルに
あわせたのでしょう。どのパッケージに登録するかとかは↓の下の方が参考になるかもしれません。
http://xyzzy.s53.xrea.com/qanda/wiki.cgi?w=%3Csection%3ELisp+%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%3C%2Fsection%3E&a=show editor パッケージに登録しない方がいいというようなことも書いてありますが
個人的にはそんなに気にしなくてもいいと思っています。
2. (user::hoge) で問題ないと思います。ただし、mylisp.l の読み込みは hoge の定義より後にして下さい。
3. 何もしなければ "user" パッケージになるはずです。
4. 私はよく書いてます。一般的にどうなのかは知らないです。
629 :
609:2005/09/15(木) 13:21:42 ID:GtBnaj2S0
netinstallerとかいうのいれた。
M-x netinstallerって打ち込んでEnter→何も起こらない ヽ(`Д´)ノ
で一時間くらい奮闘してた俺ギガアホスwww
キーバインドとかいうやつか。。。とわかるも、
雄猫のガラクタ置き場のURL入力→Lispの数0ヽ(`Д´)ノ
で、30分くらい奮闘してた俺テラアホスwww
無事KaTeXをインストール。
630 :
名無しさん@お腹いっぱい。:2005/09/15(木) 13:51:55 ID:CufzTjsNO
M-x shell ってやるとcmd.exeのウィンドウが開くんだけど非表示にできない?
632 :
609:2005/09/15(木) 14:28:30 ID:GtBnaj2S0
え、このスレsageたほうがいいの?
とりあえず、.xyzzyに必要な記述をして、
バイトコンパイルとか言うのしてみた。
けど、これって\begin{eqnarray}のキーバインドないの??
てかキーバインドって変えられる??
では、亀本読みつつRomってろ!
634 :
609:2005/09/15(木) 14:36:30 ID:GtBnaj2S0
なにおまえ励ましてくれねんだったらおまえがROMってろよ
日記は別なところに書こうな。
調べる能力はあるみたいだから
無駄カキコせず調べてれば分かるよ。たぶん
636 :
609:2005/09/15(木) 15:37:59 ID:2f7P8xuKO
じゃ日記書くのやめるわ。。
てゆか調べる能力もクソもWikiに丁寧に書いてあるじゃん。
亀本買うかな。。。
>>609 日記に謝れ!
お前のはタダの独り言以下の戯れ言。
638 :
609:2005/09/15(木) 20:39:43 ID:2f7P8xuKO
はいはいわろすわろす
>>64 今頃なんだが、(command-execute "^C,,") "^C"はコントロールコード
.xyzzyの最後に書く
えと、必要に迫られこういうコード書いたんだけど
なんかlispっぽくないので叩いてくんろ
(defun bufname-exist-p (str)
"strと同じ名のバッファがあればt、なければnilを返す"
(let ((bufl (buffer-list)))
(loop
(setq bufname (pop bufl))
(if (equal str (buffer-name bufname))
(return t))
(if (eq bufl nil)
(return nil)))))
ついでに、同じような働きの関数が見つからなかったんだけど、ある?
find-buffer
あったかorz
スマンコ
.が「改行以外の任意の一文字」なら
[.\n]+ですべてにマッチする正規表現になると思いきやうまくいかん。
途中に\nがある文字列は一気にマッチできないのでしょうか?
\\(.\\|\n\\)+ とか [\X0-\Xffff]+ とか?
\(.*\n\)*
とか。
置換ダイアログにて。
ミニバッファはC-jで改行できる, \nは使えない
648 :
643:2005/09/17(土) 19:36:21 ID:qcdqgAkA0
>>645さんのやり方がちょうどよかったんで使わせてもらいます。
[]の使い方がいまいち掴みきれてないんだな、おいら。
ありがとうございます。
ついでといってはなんですが、re-builderのlisp-reの使い方教えてください
650 :
643:2005/09/17(土) 21:58:46 ID:qcdqgAkA0
、、なんかオレが書いたみたいでヤだなあ。
lisp-re.lの説明では足りないってこと?
xml-modeを使っていると、abbr要素やsummary属性が
ほかの要素や属性とは違う色で表示されるんですが、
どうすれば直りますか?
/etc/HTMLにはabbrもsummaryも書いてあるみたいでした。
>>651 M-x re-builder[RET]
C-c C-i[RET]lisp-re[RET]
で使えます。
'(seq wordlimit "buffer" wordlimit)
なのを書くと
"\\bbuffer\\b"
という正規表現になる
というものです。
あとは lisp-re.l のコメントから察してください。
>>651 ども。
re-builder 使用される方がいらっしゃるとは珍しいですね (^^;;
version 0.2.2.234 の xyzzy を使用している場合、 "0.2.2.234" が入力されている
バッファで、以下の用に実行すると、期待の動作を確認できると思います。
----------------------------------------
M-x re-builder
C-c C-i
Select syntax: lisp-re
(concat (software-version))
----------------------------------------
表示が更新されない場合は C-c C-u してみてください。
655 :
651:2005/09/18(日) 16:00:06 ID:jGpwKJCd0
C-c C-i
Select syntax: lisp-reした場合
'() となっていていたのでそのまま使っていました。
'を外さなくてはいけなかったのねorz
コメント部分をしっかり読んでみます
結構便利ですよ re-builder /
656 :
627:2005/09/18(日) 18:08:30 ID:tIC+R/+I0
思い切り require してた・・・
というか、require とか、さっきの in-package とか、package 関連は意味わからずどこかから全部丸写ししてるだけだから大変なことになってるのか。
で、require を消して autoload だけにしたらうまいこと逝きました ヾ( ゚д゚)ノ゛ありがと
すごく勉強になった。
今まで何もわからなかったのが、require とか export とかが何なのかわかった。
質問したことは自分でも考えてみます
>>655 ども。
> '() となっていていたのでそのまま使っていました。
> 'を外さなくてはいけなかったのねorz
Meadow で確認した動作がそうなっていたので、そのまま移植してみました。
lisp-re, sregex, rx の使いどころは難しいですね。
658 :
名無しさん@お腹いっぱい。:2005/09/18(日) 21:18:19 ID:p0zCM0lP0
根本的な質問で申し訳ないのですが。
xyzzyって何ができるんでしょうか?
メジャーモードのキーバインドをメニューに自動?で表示できる lisp ありませんか?
>>660 describe-binding かな?
違った。describe-bindings (最後に s がいる)
>>660 「メジャーモードのキーバインドをメニューに自動で表示」というのは、
どういった動作で、どういった出力を考えていますか?
え〜と、CSV-mode みたいな感じです。
例えば、バッファが html+-mode になると html+-mode の local-keymap を取得して
標準ツールバーのメニューに登録する、といった感じです。
短い行にカーソルがあるとき、横スクロールしてくれないのですが、これは仕様
で仕方がないのでしょうか?
バッファをfoldして使わないの?
たいていその方が便利だけど
>>664 こんな感じ?
(defun create-mode-menu (&optional (keymap (local-keymap)) menu)
(let ((menu (or menu (create-popup-menu 'mode-menu)))
symbol)
(dolist (key-symbol (rest keymap))
(setf symbol (rest key-symbol))
(if (eq (safe-car symbol) 'keymap)
(create-mode-menu symbol menu)
(add-menu-item menu nil (symbol-name (if (symbolp symbol) symbol)) symbol)))
menu))
(add-popup-menu *app-menu* (create-mode-menu) "Key bindings")
いらなくなったらこれで。
(delete-menu *app-menu* 'mode-menu)
いい感じです。これをモードにフックすればいいのですか?
それと .xyzzy に書き再起動すると
不正なデータ型です:nil:menu
となります。
>>670 エラーが出るのは .xyzzy が読み込まれるときにまだメニューが作られていない(?)から。
(add-popup-menu *app-menu* (create-mode-menu) "Key bindings")
をモード毎のフックに引っ掛ければいいと思う
フックじゃなくてカレントバッファのモードを取得してメニューを変えられませんか?
フックだと増えすぎます;
(buffer-local-value (selected-buffer) 'mode-name)使ってメニュー名を
変えるようにできましたが、それ以降がわかりせん。
use-local-menu でバッファローカルなメニューが作れます。
今日初めて2chモード入れてみたんだけど
書き込む時妙なHTMLソースが出てきて止まるのは俺だけでつか。
文字化けしてるけどformとsubmitがあるから
書き込み前の注意のやつだと思う。www-modeも入れたんだけどなあ
675 :
669:2005/09/19(月) 20:38:35 ID:uLuriK4/0
>>672 じゃあこれで。ただしそのモードが独自のメニューを作ってた場合、消してしまうので注意。
あと、
>>669 に書いたのは結構適当なのでモードによってはうまく動かないこともあるかも。
(add-hook '*xxx-mode-hook*
#'(lambda ()
(use-local-menu
(let ((menu (copy-menu-items *app-menu* (create-menu))))
(add-popup-menu menu (create-mode-menu) mode-name)
menu))))
676 :
672:2005/09/19(月) 21:16:51 ID:QBMJ9Pk80
思っているのとは少し違いますけど、モードが独自のメニューを作ってた場合、消してしまうと
いゆうことみたいなので、一つずつフックさせていきます。
できたら、私みたいな初心者のために完成させてくれるネ申が現れるのを期待して、wikiの方に
揚げていいものか悪いものか・・・
keybindすべて覚えている人いる?
教えてください。
ある関数の中から、他の関数をcall-interactivelyで呼ぶとき
C-uを一緒に渡したいんですけど、どうすればいいのでしょうか?
callする関数内の(eq ed::*prefix-args* 'universal-argument)を
成立させたいんです。
こんな感じかなのかな
(let ((*prefix-args* 'universal-argument)
)
(call-interactively 'hoge)
)
なんかどこにも書いてないので教えてください。
gendicってのはPDIC一行テキスト形式をxyzzyで使える形式に
変換するプログラムなのですか?
README.gendic読め
>>682 もう一度読み直しましたが、とりあえずGENEとEDICTと英辞郎
の3つを扱う旨書いてありました。PDICテキスト形式のすべてを
扱えるかどうかは分からないということなのでしょうね。
ともかく暇なときに自分で実際に試して調べてみるしかなさそうで
す。ありがとうございました。
# うまくいかなければDDWinをxyzzyから起動するマクロもありますし。
>>683 それは扱えないと読むべきだと思うんだが・・・
昔のことでよく覚えてないがPDIC形式から
何かで変換して使えるようにできた気がする。
もし思い出したら書き込みます。
.xyzzyを開いたときにlisp-modeにするにはどうしたらいいの?
688 :
685:2005/09/20(火) 21:39:53 ID:z1musimd0
確かそんな感じ。
英辞郎形式に変換したような気がするが・・・
とりあえずググったらどうか
; ■.xyzzyを開くときlisp-modeにする
(setq *auto-mode-alist* (append *auto-mode-alist*
'(("\\.xyzzy" . lisp-mode))))
>>689 > とりあえずググったらどうか
> ; ■.xyzzyを開くときlisp-modeにする
> (setq *auto-mode-alist* (append *auto-mode-alist*
> '(("\\.xyzzy" . lisp-mode))))
あっているけどバックスラッシュが...
(pushnew '("\\.xyzzy$" . lisp-mode) *auto-mode-alist* :test #'equal)
>>690 .xyzzy の先頭に
;;; -*- Mode: Lisp -*-
と書いて済ます手もある。
ものすごーく単純なつまづきなんですが
reference.txtのlooking-atの例に出てくる関数rrrが
なぜかきちんと働かないっす。
ポイントのある行の行頭が"("ならokを表示するんですよね?
どこでM-x rrrしてもbadが出る。
ちなみに*scratch*バッファにて。
>>693 > ポイントのある行の行頭が"("ならokを表示するんですよね?
ちゃいます。
現在位置が行頭かつそこに"("がある時ok
それ以外はbad
という動作です。
「現在のカーソル位置で前方向に」
~~
ですから。
できやしたorz
日本語、ムズカシイネ
xyzzyって背景に壁紙は無理?
698 :
681:2005/09/21(水) 17:42:21 ID:vitMswJV0
>>684-686 返事が遅れました。どうもありがとうございました。ふかふかさんのページ
も見てましたが話半分に読んでいたorz...
gendicが「PDIC一行形式から変換するもの」というのは私の書き間違いで、
正確には「PDIC一行形式からGENEなどの形式にしてそこからgendic
で辞書生成する」ということでした。
PDIC一行形式にこだわったのは、Meadowにgene.perlというスクリプト
が付属しており、そのようにしてPDIC一行テキスト形式から変換する
ことができないかと思った次第です。
なお、仮に上の方法で変換できるとすると、EPWING→PDICテキスト形式
と変換する方法さえ分かれば(確立できれば)、CD-ROMで提供されている
多種の辞書をxyzzyで扱うことができるということになります。(さまざまな独
自形式の辞書も、既にEBStudioを用いてEPWING化できるようになっているため。)
何とかならないことはないのでしょうが、DDWinを起動するか、xyzzy buffer中にどうし
ても出したい場合はDDWinのコマンドライン出力機能を作者に出してもらってxyzzy macro
をでっちあげて実装するほうが早いかもしれませんね。
699 :
685:2005/09/21(水) 18:10:30 ID:BP9peajh0
思い出したが
>>686の方が簡単な気がする。
一応書いておくとPersonal Dictionaryで
PDIC形式から一行テキスト形式に区切り「 : 」で変換して
各行の先頭に「■」を追加し「英辞郎-A.txt」のように
リネームしてgendicを使うというものでした。
>EPWING→PDICテキスト形式と変換する方
これはxyzzyでやるよりperlに用のスクリプトがあるんだし
他のソフトでやってから持ってきた方がよくない?
>>649-651 >>653-655 >>657 [re-builder, lisp-re]
ども。
補足します。
> (concat (software-version))
> C-c C-i
> Select syntax: lisp-reした場合
>
> '() となっていていたのでそのまま使っていました。
> 'を外さなくてはいけなかったのねorz
上記の (concat (software-version)) は、lisp-re によって解釈されて
いるのではなく、lisp-re に渡される前に eval で評価しています。
つまり "0.2.2.234" が lisp-re に渡されており、lisp-re 自体は何も
処理していません。
lisp-re でシンボルを処理する場合は、やはり '(.....) として入力
しておいてください。
コマンドライン前提のソフトウェアにC-c(割りこみ)をかけたいんですが
どないしたらええでしょ。
Linuxでよくつこてたmpg123なんですが、
(shell-execute "C:\\xyzzy\\mpg123.exe" "C:\\music\\kaeru-no-uta.mp3")
だとそもそもDos窓が一瞬出るだけで鳴らないので
(pipe-command "C:\\xyzzy\\mpg123.exe C:\\music\\kaeru-no-uta.mp3")
とやらかすと歌が終わるまでなんもできんとです。
Linux(bash)上ではC-cすればすんなり止まってくれるのですが。C-gもダメでした。
Windowsのことよくわかってないんでお馬鹿なこと聞いてる気がするんですが
よかったらヒントくださいまし。
と思ったらcall-processというのがあるんでつね。
いや申し訳ない
質問ばかりですみません。
ダイアログを作るべく、dialog.lを見てみたのですが、コードが複雑で
よくわかりません。具体的には、フォームに記入されたデータの取得
方法が良く分かりません。たとえば、
|-------------------------------
| ----------------| |
| | | |
| ---------------- |
| |
| |--------- ----------- |
| | OK | | キャンセル | |
| --------- ----------- |
--------------------------------
のように、一つの記入欄があって、OKを押すとそこに記入した文字を
bufferにinsertするようなもの、上の記入欄の位置にプルダウンメニュー
みたいな選択式のリストを下に出すようなダイアログ、上の記入欄の位置に
二つの、黒丸を付けて選択する方式のものをおいたダイアログ、チェックボックス
にチェックを付けたかどうかを見るダイアログなど、どのようにして変数を取得して
いるのかがよくわからないのです。
どなたか分かる方お願いします。
>>704 ずれました。すみません。
|-------------------------------
| ----------------| |
| | | |
| ---------------- |
| |
| |--------- ----------- |
| | OK || キャンセル | |
| --------- ----------- |
--------------------------------
みたいなフォームです。汚くてすみません。
>>700 あ、変換に関してはもちろんそうする予定です。あくまで
辞書検索後の出力結果をバッファに出したいということだ
けですので。
>>704 したの礼だと,:listbox の値は list という変数にバインドされ,
:edit の値は mask という変数にバインドされる.
(defvar *filer-mark-mask-dialog-template*
'(dialog 0 0 219 115
(:caption "まとめてマーク")
(:font 9 "MS Pゴシック")
(:control
(:listbox list nil #x50a10111 7 7 150 82)
(:static nil "マスク(&M):" #x50020000 7 97 24 8)
(:edit mask nil #x50810080 33 94 124 14)
(:button IDOK "OK" #x50010001 162 7 50 14)
(:button IDCANCEL "キャンセル" #x50010000 162 24 50 14))))
(defun filer-mark-path-mask ()
(multiple-value-bind (result data)
(dialog-box *filer-mark-mask-dialog-template*
(list (cons 'list *filer-path-masks*))
'((list :column (50))))
(when result
(let ((mask (cdr (assoc 'mask data))))
(filer-mark-match-files
(or (and mask
(split-string mask #\; t " "))
(cddr (assoc 'list data))))))))
>>700 がんばれば,ddwinでの検索結果をバッファに表示できるし,
pdic.lがどこかに落ちていればバッファに表示できなくても十分便利だけどね.
もう手に入らないと思うけど.
>>707 バインドっていうと意味が違うような……
alist のキーとデータってことだよね
>>708 確かに,ぜんぜん違った.
連想リストで値が返ってくるんだった.
>>707-709 ありがとうございました!早速勉強してみます。
>がんばれば,ddwinでの検索結果をバッファに表示できるし,
ど素人の考えで申し訳ないですが、GUIアプリの出力もバッファに出力できるのですか?
正規表現を使って行を削除するのはどうやればいいのでしょうか?
現在replace-dialogで置換項目を空白にすると該当行が削除される
のですが出来れば、ダイアログを出さずに行いたいのですが、
replace-regexpだとなぜかダイアログのようにうまくいきません。
よろしくお願いします。
>>711 バッファの先頭から(O) にチェックをいれると?
713 :
712:2005/09/22(木) 18:09:21 ID:qL2Uojky0
確かめずに書き込みごめんなさい
できなかった ;)
¥nをやめる
>>710 > ど素人の考えで申し訳ないですが、GUIアプリの出力もバッファに出力できるのですか?
ddwinは検索結果をクリップボードに張るオプションがある.
>>711-714 > 正規表現を使って行を削除するのはどうやればいいのでしょうか?
以下は、空白文字を含む行も、削除対象の空行とする場合の方法です。
□replace-regexp 実行
M-x replace-regexp
□Replace-regexp: (以下で改行は C-j で入力)
-------- ここから --------
\( *
\)+
-------- ここまで --------
□with: (以下で改行は C-j で入力)
-------- ここから --------
-------- ここまで --------
改行のみの行を削除対象の空行とする場合はよりシンプルになります。
□Replace-regexp: (以下で改行は C-j で入力)
-------- ここから --------
+
-------- ここまで --------
\nで改行のエスケープが出来ないと思ったら
C-jで直接入力なのか・・・
*drag-and-drop-hook*から得たファイルのパスって
C:\xyzzy\xyzzy.exe
みたいにバックスラッシュがひとつなんで
map-backslash-to-slash使っても
C:xyzzyxyzzy.exe
みたくなっちゃうんですけど
これ、どうすれば/xyzzy/xyzzy.exeみたく変換できますか?
なんか正規表現だとお手上げ感が…
>>718 状況がよくわからず
とりあえずこんなんやってみたらちゃんとスラッシュに変換されたけど……
(setq *drag-and-drop-hook*
(lambda (w f) (msgbox
(format nil "~A" (map-backslash-to-slash (car f))))))
>>719 あああああ…。
間にformat噛ませてたこと忘れてました。
大馬鹿でした。ありがとう。
721 :
711:2005/09/24(土) 05:16:33 ID:fCeohqhn0
>>716 なるほど。その方法でできました!丁寧な説明ありがとうございました。
Hyper-estraierの検索結果を読み込もうとしてハマってます。
よろしければ知恵貸してください。
検索結果を表示するコマンドラインツールestcmdの出力はUTF-8です。
(defun mkbuf ()
前処理
((set-buffer-fileio-encoding *encoding-utf8n* (selected-buffer))
)
(defun estsearch (str)
(mkbuf)
(make-process (concat "estcmd search -sf -ic shift-jis -vx -max -1 C:/www/casket " str)
:OUTPUT (selected-buffer)
:INCODE *encoding-sjis*
:OUTCODE *encoding-utf8n*
)
)
これでいいと思ったんですができた*search-result*バッファは
しっかり文字化けします。どこで間違ってるんでしょう。
cygwin上で
$estcmd search ...... |nkf --sjis
すればちゃんと化けないし
$estcmd search ...... > hoge.txt
してxyzzyで開けば問題ないのですが。
>>717 >>721 > \nで改行のエスケープが出来ないと思ったら
> C-jで直接入力なのか・・・
xyzzy の minibuffer からの入力全てで \n \t \r \v あたりの
エスケープシーケンスをあえて解釈するようにはされていないですね。
# するべきではないですし。
replace-regexp のコードを書き換えて、decode-escape-sequence
処理を追加するかどうかを切り替える変数と、処理自体を加えるのが
よいかもしれませんね。
>>724 そういうことでしたか。動きました。thx!
メニューバー上のカーソル(「選択された項目」と言うのかな)を
カーソルキーの替わりにC-n, C-pで動かすことはできませんか?
728 :
726:2005/09/24(土) 23:52:34 ID:oBTvcVG50
clickable-uriで、ローカルなファイル
file://C:/hoge/fuga.html
みたいなやつでもブラウザで開く設定が
どうしてもわからんです。ボスケテ……
>>728 窓使いの憂鬱とかXKeymacsみたいなソフトを使えばあるいは
タイトルバーに今開いているもののフルパスを表示ってできませんか?
>>733 ヒント: title-bar-format をリファレンスで引く
ありがとうございました
ついでなんですがそのフルパスの/を\に変換してタイトルバーに表示ってできませんか?
>>735 > ついでなんですがそのフルパスの/を\に変換してタイトルバーに表示ってできませんか?
(add-hook '*find-file-hooks*
#'(lambda ()
(make-local-variable 'title-bar-format)
(setq title-bar-format (format nil "~A" (map-slash-to-backslash (get-buffer-file-name))))))
>>736 ありがとうございますなんてお礼を言ったらいいか
QuickDirってソフトとポチエスってソフト使ってタイトルバーのアドレスのファイルをどうこうするってことを
やりたかったんです
ありがとうございました
howm-wrapに新展開キタコレ
>>730-731 [clickable-uri]
ども。
> clickable-uriで、ローカルなファイル
> file://C:/hoge/fuga.html
> みたいなやつでもブラウザで開く設定が
> どうしてもわからんです。ボスケテ……
file スキームの形式は、以下の通りです。
file://ip_server/path_segments
file:path_segments
そのため、上記は、ip_server を空文字列とした以下か、
file:///C:/hoge/fuga.html
もしくは、直接パスを記載した以下となります。
file:C:/hoge/fuga.html
Windows が解釈してくれるため、以下の形式でもたまたま通ります。
file:/C:/hoge/fuga.html
clickable-uri での実装が適当なので、今のところ以下の Windows の形式は
サポートしていません。
file:///C|/hoge/fuga.html
file:C|/hoge/fuga.html
あー、ホームディレクトリて何ですか?
>>741 %XYZZYHOME% のことじゃないか?
C:\Documents and Settings\user ?
C:\Program Files\xyzzy ?
>>745 ttp://megahurts.bblog.jp/
>>746,747
サンクス
grep.exeが使えるようになってるみたいだけど、
俺の環境だとgrep出来たり出来なかったりとイマイチ安定しなかった。
メニューの「済み」が消せるようになるのはイイね。
grep.exe使うのに文字コードの設定が必要なんだね、気づかなかった。
>>751 すみません。つっこまれる前に書いておきます。
・・・これ、移植するのは相当時間がかかりそうだ。てか漏れには多分無理。
>>750 (defvar howm-view-grep-encoding *encoding-utf8n*
"メモの文字コード。*encoding-sjis*, *encoding-utf8n*など。")
↑howm-init.lに追加したここの部分、俺の環境だとメモのtxtにsjis使ってるから
(defvar howm-view-grep-encoding *encoding-sjis*
"メモの文字コード。*encoding-sjis*, *encoding-utf8n*など。")
にしないと日本語が通らなかった。そんだけ。
754 :
729:2005/09/26(月) 14:23:50 ID:BSX+aPqE0
>>740 あーどうもありがとうございます。
estraier捨てちゃったんですが、改めて導入してみます。
初心者ですのにすごいですねー、今後も期待してますね。
Meiryoいいね〜
(qでヌケます)
にドキッとした。
本スレ落ちた
mapaeでカテゴリーモードにできません。
範囲外の値です-1というエラーが出てしまいます。
一応そのエラーのあとにカテゴリーの一覧は表示されるのですが、
肝心のカテゴリーの選択ができません。
(カテゴリーなしの状態でのエントリーの投稿は一応できます)
あと、タイトル一覧を取得しようとしても同じエラーがでてしまいます。
(エラーのあとに一応一覧は表示されます)
誰か回避する方法をご存知の方はいらっしゃいませんでしょうか。
そんなこんなでうっかり朝方です。ヒントでもいいのでご教授願いたいです。orz
立てるの早くないか???
よく読め
質問。
(find 'a '(a b c))がaを返すのに
(find "a" '("a" "b" "c"))がnilなのは
どういう理屈なんでしょう。
また、要素が文字列のリストにある要素が含まれるかどうか調べる時は
dolistとかして調べるしかないんでしょうか。
> # 思いっきり Lisp の話題なので Win 板でやるべきですよ
むしろこっちでやってくれてよかった.
>>765 即レスどうもです。やっと謎が解けました。
>Win 板でやるべき
普通にエディタとして使ってる人が遠慮するようになっちゃうか。
向こうは向こうでついてけないくらいレベル高いんで気がひけてました。
気をつけます。
>>766 俺もそう思う
やってることは初心者向けなんだし
このスレのほうが妥当だと思う。
765は何が気に入らないんだろう・・・
> 何が気に入らないんだろう
わかって書いてるだろw
>>730-731 >>739 [clickable-uri]
「ブラウザで開く」が重要だという点にいまさらながら気がつきました。
file: から始まる uri 指定を Windows に (ほぼ) 丸投げすれば希望の
動作になると思いますので、以下はどうでしょうか。
(push (cons "^file:"
#'(lambda (uri)
(shell-execute uri)))
*clickable-uri-open-command-alist*)
この設定の場合では、shell-execute の成功/不成功は以下のとおりでした。
○ file:////C:/hoge/fuga.html
○ file:///C:/hoge/fuga.html
○ file://C:/hoge/fuga.html
○ file:/C:/hoge/fuga.html
× file:C:/hoge/fuga.html
質問です。
ファイラーでルートディレクトリを表示している時にBSを押すと,
ドライブ選択画面になるような設定はありませんか?
>>771 こんなかんじかなあ
(defun filer-up-directory ()
(let ((p (filer-get-directory)))
(filer-chdir "..")
(if (path-equal p (filer-get-directory))
(filer-change-drive))))
auto-space-mode で書いていて、C-xsでセーブすると
モードが解除されてしまい、その都度auto-space-mode
をしています。解除されないようにする方法ありますか?
774 :
名無しさん@お腹いっぱい。:2005/09/28(水) 11:46:59 ID:6jykiLyx0
質問です。
Ctrl-数字キーでバッファを切り替えられればと思い、以下のようなマクロを
書いてみました。
(defun set-buffer-index (n)
(let (l)
(dolist (x (buffer-list))
(unless (string-match "^ " (buffer-name x))
(setq l (cons x l))))
(set-buffer (car (nthcdr n (reverse l))))))
(global-set-key #\C-0 #'(lambda () (interactive)(set-buffer-index 0)))
(global-set-key #\C-1 #'(lambda () (interactive)(set-buffer-index 1)))
(global-set-key #\C-2 #'(lambda () (interactive)(set-buffer-index 2)))
(global-set-key #\C-3 #'(lambda () (interactive)(set-buffer-index 3)))
切り替わることは切り替わるのですが、buffer-listが返すリストがソートさ
れているため、バッファバーに対応するキーでの切り替えができません。
なにかいい手があったら教えていただけると助かります。
>>773 (require "auto-space")
(add-hook '*text-mode-hook* #'(lambda () (auto-space-mode t)))
でうちでは問題なしだが・・・
>>774 iswitchb.l とかの方がよくないか?
776 :
774:2005/09/28(水) 14:02:28 ID:6jykiLyx0
>>775 回答ありがとうございます。
iswitchb.l使ってみました。これはこれで便利なのですが、複数のタブ
をすばやく切り替えたいなあと思いまして。Ctrl-数字でのタブ切り替
えはWindowsだと一般的な操作っぽいですし。
kahtml-modeが読み込まれません。
.xyzzyに
(setq *auto-mode-alist*
(cons (cons "\\.html$" 'kahtml-mode) *auto-mode-alist*))
(autoload 'kahtml-mode "kahtml" "Yet Another HTML mode" t)
と書いてみましたが、「不正な関数です:kahtml-mode」とエラーが出てしまいます。
また、あるサイトを参考に
(load-library "kahtml")
(push '("\\.s?html?$" . elisp::kahtml-mode) *auto-mode-alist*)
(autoload 'elisp::kahtml-mode "kahtml" "Yet Another HTML mode" t)
のように書きましたが、「パッケージが存在しません"bx:"」と表示されます。
kahtml 1.67.1.11, xyzzy 0.2.2.234です。
どなたか解決法をご存知でしたらご教示ください。
>>777 ちなみに、
(setq *auto-mode-alist*
(cons (cons "\\.html$" 'elisp::kahtml-mode) *auto-mode-alist*))
(autoload 'elisp::kahtml-mode "kahtml" "Yet Another HTML mode" t)
としてみても、「不正な関数です:elisp::kahtml-mode」と表示されます。
ちなみにKaTeXは問題なく起動します。また、以上の設定はKaTeXの後ろに書きました。
>>777 > パッケージが存在しません"bx:"
これは browserex のことじゃないの?
kahtml は使ったことないから browserex.l が必要なのかどうか知らないけど。
>774
こんなかんじかな
(defun set-buffer-index (n)
(interactive "nIndex: ")
(let* ((list (delete (find-buffer " *Minibuf0*") (buffer-list :buffer-bar-order t)))
(index (rem (abs n) (length list)))
)
(set-buffer (nth index list))
))
(global-set-key #\C-0 #'(lambda () (interactive)(set-buffer-index 0)))
(global-set-key #\C-1 #'(lambda () (interactive)(set-buffer-index 1)))
(global-set-key #\C-2 #'(lambda () (interactive)(set-buffer-index 2)))
(global-set-key #\C-3 #'(lambda () (interactive)(set-buffer-index 3)))
>>777-778 > kahtml-modeが読み込まれません。
とりあえずこのように記述してみてください。
アーカイブに同梱されているsample.xyzzyより。
; ■ kahtml
(push '("\\.html$" . elisp::kahtml-mode) *auto-mode-alist*)
(autoload 'elisp::kahtml-mode "kahtml" t) ; "Yet Another HTML mode"
> また、あるサイトを参考に
あるサイトってどこやねんって感じですが、
それらの設定はxyzzy用ではありません。
782 :
774:2005/09/28(水) 20:44:45 ID:6jykiLyx0
>>780 回答ありがとうございます。まさにそんな感じです!
以下のような感じで使わせていただきます。
(defun set-buffer-index (n)
(interactive "nIndex: ")
(let* ((list (delete (find-buffer " *Minibuf0*") (buffer-list :buffer-bar-order t))))
(set-buffer (nth n list))))
(let ((k (char-code #\C-0)))
(dotimes (i 10)
(let ((b i))
(global-set-key (code-char k) #'(lambda () (interactive)(set-buffer-index b))))
(setq k (1+ k))
(when (= k (char-code #\S-XBtn1Down)) (setq k (char-code #\C-3)))))
KaMailで+trashに振り分けられたメールを自動的に既読にすることは
できますか?
>>779,
>>781 ありがとうございました!browserexを入れたところうまくいきました!
(ちなみにexbrowserdllもインストールしましたが、私の環境では、UNLHA32.DLLがインストール
され、xyzzyから認識されているにもかかわらず、なぜかexbrowserのlzh書庫が解凍されないとい
う不具合がありました。そこで、C:\xyzzy\site-lisp\archive内のbrowser_.lzhを解凍し、xyzzy.exeと
同じ場所にBrowser.dllをコピーしました。)
それにしてもxyzzyはすごいですね・・・。エディタ内部でブラウザ表示できるとは。
PHSに画像を添付してもPHSでは表示できません。
友人の携帯にも添付してみましたが表示できませんでした。
私のメール作成のやりかたに問題があるのでしょうか?
宜しくお願いします。
(KaMail-0.0.2.7、 xyzzy 0.2.2.234)
そもそもそのPHS/携帯は添付ファイルを開けるのかと
ヤフーから送った添付画像は見れましたよ
788 :
771:2005/09/30(金) 14:13:58 ID:3xlkJZAD0
>>772 早速御返答いただき,ありがとうございました。風邪で伏せっておりまして,大変失礼を致しました。
ばっちり動きました。感謝感謝です。
なんで他のメーラ試してみるって発想がないのだろう
KaMailの使い方の質問なんだから他のメーラー試すもクソも。
他のメーラでOKなのとNGなのでは状況が変わってくるでしょ
基礎的な質問。
(setq こぶた '(たぬき きつね ねこ))
(setq たぬき '(きんたま たいこ ぽんぽこ))
みたいにしたとき、こぶたからきんたまの位置を割り出すのはできるんですけど
きんたまからこぶたとの関係を掴む方法がわからないのです。
木構造というそうですが、そういうことはROOTな位置から順に検索していくしか
ないんでしょうか。
>>792 まず、それじゃ木構造にならないっす
こうですかな
(setq たぬき '(きんたま たいこ ぽんぽこ))
(setq こぶた `(,たぬき きつね ねこ))
他のメーラでも状況は同じだ
答えるスキルもないくせにゴチャゴチャヌカすなチョン野郎
>>792 で、具体的に何をやりたいのかがよくわかんないけど
葉っぱが与えられたときに根っこを見つけたいってことなら一般には無理かと
どもです。最初よくわかんなかったけど、(\が表示されてなかった)
バッククオート構文というのはこうやって使うのですか。勉強になりますた。
けどやりたいことがまさに「葉っぱから根っこをみつける」ことだったので残念。
親を記憶してるオブジェクトを作るしかなさげですな。ありがとうございます
えーと、get-system-directoryみたいなかんじで
xyzzy自体をインスコしたディレクトリを得る関数ってないんでしょうか
aproposでdirとかやっても出てこないんだけど
事故レス。si:system-rootですね。スマソ
xyzzyを再起動させるコマンドを作ることってできますか?
siteinit.lを再ダンプ→xyzzy終了→再起動を一発でできるようにしたいです。
>>800 > xyzzyを再起動させるコマンドを作ることってできますか?
> siteinit.lを再ダンプ→xyzzy終了→再起動を一発でできるようにしたいです。
ダンプを消す→(siteinit.lをバイトコンパイル)
→もう一個xyzzyを起動(この時ダンプ再生成)→前のxyzzyを終了
という手順でやればよいかと。
ttp://aploda.org/dat1/upload47096.bmp のようなツールバーを使って、
(provide "wu-tagtool")
(require "wu-html/wu-instg")
(defun wu-tag-tool-bar ()
(create-tool-bar 'wu-tag-tool-bar
(merge-pathnames "wu-tagtool.bmp" (etc-path))
'(("H1タグを挿入" 0 (wu-testtag "h1"))
("H2タグを挿入" 0 (wu-instag "h2"))
("H3タグを挿入" 0 (wu-instag "h3"))
("H4タグを挿入" 0 (wu-instag "h4"))
("H5タグを挿入" 0 (wu-instag "h5"))
("pタグを挿入" 0 (wu-instag "p"))))
(define-command-bar 'wu-tag-tool-bar "HTMLタグ挿入")
(show-command-bar 'wu-tag-tool-bar))
(wu-tag-tool-bar)
(defun wu-delete-tag-tool-bar ()
(interactive)
(when (find-command-bar 'wu-tag-tool-bar)
(delete-command-bar 'wu-tag-tool-bar)))
のようなLispを作ったところ、
ttp://aploda.org/dat5/upload47097.png のように、一番左のアイコンが並ぶという結果になってしまいました。
これを修正するにはどうすればいいのでしょうか?ご教授お願いします。
804 :
803:2005/10/03(月) 15:16:21 ID:bqCIaGWg0
文法間違えていました。wu-h1などの関数を作ったうえで次のように直しました。
(provide "wu-tagtool")
(require "wu-html/wu-instg")
(defun wu-tag-tool-bar ()
(create-tool-bar 'wu-tag-tool-bar
(merge-pathnames "wu-tagtool.bmp" (etc-path))
'(("H1タグを挿入" 0 wu-h1)
("H2タグを挿入" 0 wu-h2)
("H3タグを挿入" 0 wu-h3)
("H4タグを挿入" 0 wu-h4)
("H5タグを挿入" 0 wu-h5)
("pタグを挿入" 0 wu-p)))
(define-command-bar 'wu-tag-tool-bar "HTMLタグ挿入")
(show-command-bar 'wu-tag-tool-bar))
(wu-tag-tool-bar)
(defun wu-delete-tag-tool-bar ()
(interactive)
(when (find-command-bar 'wu-tag-tool-bar)
(delete-command-bar 'wu-tag-tool-bar)))
でも症状は同じでした。ボタンを押すと、それぞれのボタンで適切にタグが出てきます。(一番右はPタグが挿入される。ボタンは「1」なのに。)
そういえば、「へなちょこリファレンス」には縦15x横16ではなく、16x16でしたが、仕様が変わったのでしょうか?それとも単なる誤記?
805 :
803:2005/10/03(月) 15:34:57 ID:bqCIaGWg0
>>804 さらにしつこく自己レスすみません。
BMPが256色であったので16色に直し、さらに縦が15と16の両方を作ってみました。
しかし、どちらでもまったく表示は変わりませんでした。
>>804 > '(("H1タグを挿入" 0 wu-h1)
> ("H2タグを挿入" 0 wu-h2)
> ("H3タグを挿入" 0 wu-h3)
> ("H4タグを挿入" 0 wu-h4)
> ("H5タグを挿入" 0 wu-h5)
> ("pタグを挿入" 0 wu-p)))
第2引数は画像番号ですから、全部0ならそりゃ当然全部左端の画像になるんでは?
以下リファレンスより:
形式:
((ツールチップ1 アイコンの番号1 実行する関数1 状態制御用1)
(ツールチップ2 アイコンの番号2 実行する関数2 状態制御用2)
...
(ツールチップN アイコンの番号N 実行する関数N 状態制御用N))
補足:
アイコンの番号:
16x16の領域をひとつのアイコンとみなして、ビットマップファイルの左から0ベースの番号で指定します。
>>806 ぐわ。そんな凡ミスやらかしてたとわ・・・。
どうもありがとうございました!そして頭を冷やしてきます・・・。
HDDすっ飛んで、何を突っ込んでてどこをどう弄っていたか
さっぱり記憶にない俺様の登場ですよ・・・orz
call-processの:inputオプションで標準入力とする対象を
ファイルではなくバッファにすることは出来ないでしょうか。
一時ファイル作るとか
make-processしてprocess-send-stringする以外の方法を探してます
Ctrl+Sで上書き保存とか
Windowsみたいなショートカットキーにする方法を是非ご教授おねがいしたい
このスレのテンプレとgoogleを活用すると良いよ
>>810 情報を出し惜しみせず初めから書きましょう。
> call-processの:inputオプションで標準入力とする対象を
> ファイルではなくバッファにすることは出来ないでしょうか。
やりたいことは何でしょうか。
> 一時ファイル作るとか
> make-processしてprocess-send-stringする以外の方法を探してます
やりたいことに対して、上記2点がダメなのはどういった点でしょうか。
814 :
810:2005/10/04(火) 01:11:50 ID:SdFqGJPV0
>>813 メンボクない。ちとややこしくなるのですけど。
http://hyperestraier.sourceforge.net/ という全文検索システムをxyzzyで扱えるようにして遊んでるんですが、
検索対象ファイルの登録に使うestcmdっちゅうのは
1)対象ファイルが入ってるフォルダを指定する。
2)対象ファイルのフルパスを列挙したテキストファイルを指定する。
3)GNU findなどの出力からパイプで渡されたパス群(中身は 2)と同様)を受け取る
という三つの機能を持っていて、1) 2)は簡単なんですが3)をやる際
(findは使わずxyzzyでdirectoryしたパスを渡したい)
[1]一行一行process-send-stringするのではなくバッファごと渡せるなら話は単純。
[2]一時ファイルつくって問題ないけど、[1]がやれるのなら無駄なことになる。
ということです。referenceにはないプロセス関係のコマンドがあるようなので
そういうやり方があるなら知りたい、なければいい。という程度なんですが。
ファイラにおいて,enterやBS,またはjunp-dir等で,ディレクトリを移動したときに,
自動的にisearchになるようにしたいのですが,どのように設定したらいいのでしょうか?
検索結果をリストとして出力したいと考えています。そこで、たとえば
(progn
(goto-char 1)
(while (scan-buffer "match-string\\(.+\\)\n" :regexp t)
(print (match-string 0))
(print (match-string 1))
(print (match-string 2))))
というコードを書いてC-jしてみたところ、最初の結果のみをえんえんと無限ループでprintしてしまいます。
これを最初から最後まで一回ずつ検索して出力させるには、どのようなコードに直すべきなのでしょうか。
どなたかご教示ください。
(scan-buffer 略 :regexp t :tail t)
:tailをtにしないと、見つけた範囲の先頭にカーソルが来るためそれがずっと検索結果になってしまいます。
>>815 すごく単純に考えたらこんなんとか?
もうちょっといい方法あったら知りたい。
(in-package "ed")
(defun filer-chdir (dir &optional s)
(when (filer-set-directory dir s)
(filer-reload nil s)
(add-history (filer-get-directory s)
'*filer-directory-history*)
(filer-isearch-forward)))
(in-package "user")
>>817 :no-dup や :tail に何を指定するか否かは、どう検索したいかによります。
検索パターン "abcabc" の場合
abcabcabcabcabcabc
****** 1回目マッチ
****** :no-dup t :tail nil で検索した場合
****** :no-dup nil :tail t で検索した場合
バグっぽいもの見つけたんだけどこれって私だけ?
previous-xyzzy-window をS-F1にキーバインドして
xyzzyを二つ開いてS-F1押しっぱなしで行ったりきたりしてたのですが
しばらくすると「忙しいみたいなので後にしましょう」のダイアログが出
OKを押して継続してまたS-F1押しっぱなしで行ったりきたりしていると
xyzzyが固まりました。
タスクマネージャーから片方落としたらもう片方は正常に動いていましたが
これって私だけでしょうか?
まぁこんな運用滅多にしないから良いといえばよいのですが
>>821 押しっぱなしって文字通り押しっぱなしですよね。
一分くらい試してみましたが、私の環境では大丈夫でした。
固まるかはマシンパワー、あるいは OS に拠るんじゃないかなと。
というか、そんな負荷耐久試験みたいなことしないでも。
823 :
821:2005/10/06(木) 10:00:30 ID:9Wmd2EAq0
>>822 検証どもです。
なんともないですか・・・
ということはこちらの環境の可能性が高いですね
うちでは押しっぱなしにして5秒もしないうちに毎回固まるので
不具合かなぁと思いつつも色々とlispいれてるから自分の環境を疑ってはいるのですが
調査し辛いので聞いてみたしだいです。
元々間違えて押しっぱなしにして気づいたものですし、やらないのが一番ですね
ありがとうございました。
今ふと思ったのだが、作者は亀井さんだから、
'(("亀" . "じじぃ"))
という連想リストを構築し、xyzzyという名前をつけたのではなかろうか?
すまん。ふと思っただけだ。許してくれ。
マインスイーパーの秘密の呪文なことを今日知って感動した
けどなんかこの流れだと書き込みにくかったから黙ってたんだけど
↑タイムリーなレスありがとう!
KaTeX-modeでdviを作った後、dvipdfmxを実行してpdfをつくり
さらにlogやauxファイルを削除してくれる機能がほしいんですが、
誰か暇な人書いてくれませんか
スレ違いです。
>>826 > さらにlogやauxファイルを削除してくれる機能がほしいんですが
この辺は latexmk でできる。
ファイルを開いているバッファで変更アリだけどセーブされてないものを
一気にセーブするような処理をlispで書いたらどうなるでしょ。
buffer-local-valueとか使えばいいのかと思ったら
第二引数に渡すものが何だか分からんのですが。
save-some-buffers?
あったのね、そういう関数orz。
アフォでした。さんくすこ
>>828 ありがとうございます。latexmkをインストールして
(define-key elisp::*KaTeX-mode-map* '(#\C-c #\f)
#'(lambda ()
(interactive)
(call-process "latexmk.bat -c" :wait t)))
とやったらできました。
更新がどっさり来ててビクーリ
2ch-modeのポップアップモードで,マウスではなく,キャレットでポップアップさせる設定はありますか?
p
836 :
834:2005/10/09(日) 02:27:27 ID:R10zcB2x0
>>835 即レス感謝!
とりあえず回線吊って氏んで来ます
ちくと質問なのですが、C-x `の逆のprevious-errorというのはないものでしょうか?
あるあ……ねーよww
(defun previous-error ()
(interactive)
(next-error t))
839 :
837:2005/10/09(日) 11:06:25 ID:s8uuolZ40
>>838 即レスでありがとうございます。
まさしくこんなヤツを求めてました。
>>837 F11 : next-error
S-F11 : previous-error
macro-generate.elみたいな奴どこかにありますか
あっ、ファイルに保存でいいか
843 :
名無しさん:2005/10/10(月) 03:31:42 ID:3OrSecC70
最近howmをインストールしてウホウホいいながら色々試してるのですが,
*howmS:*や*howmC:*などの通常利用上不要(と思われるバッファ)を
どうにかキレイに処理する方法はありませんでしょうか。
(正しく言うと,一度使ったら不要,かな)
www-modeなどみたいに表示されないのも困るような気がするので,
キー一発でKillしたいのですが,claanup-windowでは
肝心のメモファイル(自分は2005-10-04-220549.howmという書式です)が
どうしても一発で消せません。
どなたかいい手法をご存じないでしょうか。
(setq howm-view-summary-name " *howmS:%s*")
845 :
名無しさん:2005/10/10(月) 13:52:11 ID:3OrSecC70
>844
ありがとうございました。
最初まったく機能せず,おかしいなぁと思ってたのですが,
これhowm-init.lに書くんですよね・・・
思い込みで.xyzzyに書いてました。
バッファリストおかげさまですっきりしました。ありがとうございます。
セレクションの行頭に
>
を付加するための命令ってありますか?また、それはどんなの
ですか?
よろしくお願いします。
>>846 こうかな?キーは適当に変えて。
(global-set-key '(#\C-x #\M-C-x)
(lambda () (interactive)
(string-rectangle (selection-point)
(selection-mark)
">")))
string-rectangle-selection を使えばいいのかと思ったけどうまくいかなかった。
半年前にHDDがすっ飛んで以来放置だったxyzzyをもっかい入れてみようと思いついて
シコシコと設定しているのですが、かつて使っていたlispファイルが見つかりませぬ。
popup-mode-memoみたいな感じでキーバインドを表示するやつなんですが、
popup〜とは違ってダイアログ?に表示するやつです。
もし心当たりがある方がいらっしゃいましたら、名前かURLかを教えていただけないでしょうか?
つpopup-mode-memo-box
851 :
848:2005/10/11(火) 16:42:52 ID:GtgZGr+Z0
>>849 ぉ〜、これです。
ありがとうございます。
854 :
名無しさん@お腹いっぱい。:2005/10/12(水) 13:17:09 ID:KHDC1Zli0
最近使ったファイルをミニバッファから
Find-Fileみたいに開くLispってありませんか?
>>854 C-f C-a C-k C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p
856 :
名無しさん@お腹いっぱい。:2005/10/12(水) 19:35:54 ID:KHDC1Zli0
>>855 最初よくわからなかったけど、やってみたらわかりました。
初期表示を消してしまえばいいんですね。
ありがとうございました。
howmを使っているんですが,メモを編集していてセーブすると
一瞬howmメニューが点滅するようにチラついて出てきて邪魔なんですが
これって何とかならないんですかね?
>>858 (setq howm-menu-refresh-after-save nil)
かい?howm-initに書いてあるじゃん。
ってちがったらごめん。
>>859 ありがとうございます!それでうまくいきました。
howm-init.lには書いてなかったので自分で加えました。
消した覚えもないのになんでだろう。
ファイラで,
ディレクトリだったら中に入る
その他の拡張子だったら,filer-shell-execute
ってできませんか?
他のファイラだと結構一般的な挙動だと思うんだけど・・・
tp://blue.ribbon.to/~aotororo/prog/200311.html#d14_t1
を参考に色々いじってみたんだけど,よう分からんかったっす。
>>861 > ファイラで,
> ディレクトリだったら中に入る
> その他の拡張子だったら,filer-shell-execute
こんな?
(in-package "editor")
(defun my-filer-shell-execute ()
(let ((file (filer-get-current-file)))
(if (file-directory-p file)
(filer-chdir file)
(when (or (null *filer-query-before-process*)
(yes-or-no-p "~A~%を実行しますか?" file))
(filer-forward-line 1)
(shell-execute file (filer-get-directory))))))
(define-key filer-keymap #\X 'my-filer-shell-execute)
CLCLでと言う文章を貼り付けるようと思ってCLCLこのスレを見て設定してみたのですが
一応何もなかったのが、ミニバッファの所に
Eval : 田中、初号機出る!俺の後ろに立つんじゃねぇ!!逝くぜ!グゥレイト!!
という風に出るようになったのですが
貼り付けようとした文字:田中、初号機出る!俺の後ろに立つんじゃねぇ!!逝くぜ!グゥレイト!!
OS:XP、SP1
xyzzy version 0.2.2.234
XYZZYのタイトル:「CrazyTotal」が原因かと思いましたが標準の設定でも変わりませんでした。
CLCL Ver 1.1.2 (2005/02/11)
常駐ソフト:窓使いの憂鬱、jetico PF
です。素敵なお兄様ご指導願います。
バイトコンパイルする前の文章をお願いします。
窓使いの憂鬱を導入していないので分かりませんが
CLCLのオプション→キーの所の設定の問題では無いかと思います。
864>>
出来ました!864様の言う通りに設定を見直していたら
間違えてCLCLの設定ウィンドウを開いたままショートカットを押した時に
ミニバッファにEval :とだけ表示され、なんとなくショートカットキーが被ってるのかと思い
調べてみた所Ctrl-Alt-WinというキーでEvalになりミニバッファにフォーカスが移行してしまう事が分かりました。
他のキーではそんな事ないのでWinキーは動きが違うのかな
判明方法が微妙でしたが理由もしっかり分かってすっきりしました。
864様ありがとうございます!
866 :
864:2005/10/15(土) 22:40:04 ID:Lf7sP5Qb0
予期してたのと違う…。
CLCLを呼び出す、CLCLオプションの「動作」に割り当てられている
呼び出しホットキーが(例えばCtrl+Alt+Winになっていて)被っていると言うことだったのでしょうか?
そこの呼び出しキーをshift+shift等に変更すればいいのかもしれません。
私もCLCL使っているのですが
履歴と登録アイテム両方を呼び出すのにShift+Shift
登録アイテムのみを呼び出すのにCtrl+Applicationキー
CLCLMenu.dllをつかった履歴メニューを呼ぶのにShift+無変換キー
などと言った使い方をしています。
868 :
863:2005/10/16(日) 23:40:31 ID:7UblPS4L0
ショートカットキーからWinキーを外してCTRL+ALT+Vにして解決しました
CTRL+ALT+WIN+Vキーだとxyzzyのショートカットと被り誤作動するみたいです
昨日は感動のあまり危険な文章かいてしまってすいません。
Altキー押して離すとどうしても一番上のメニューがベコっと行くんですが
こればっかりは抑制できないカナ?
M-xしようとしてやめた時激しくうざいことになる
メニュー出してないので勘ですが、
共通設定 > いろいろ > なんで ALT でメニューが開かない? のチェックを外す、
で多分大丈夫。
TAALTでも使えばいいじゃないかな?
clickable-uriを使って、たとえば
<img src="foo.jpg">
をダブルクリックして、foo.jpgを関連付けされたソフトで開けるように出来ますか?
もちろんコードをコピペして改変しまくって一から作ったほうが早いかもしれませんが、コードが長くて
大変そうなので、clickable-uriの機能を使って何とかできればと思うのですが・・・。
>>869 Altもう一回押せば だけど確かにイライラするかも。
>>872さんの薦めてるTAALTがそれっぽい。
TTBaseスレでTAALT機能をプラグイン化した人が居る。
他にも、そこそこ痒いところに手が届くプラグインが出てるから
この際導入するとか…。
875 :
869:2005/10/17(月) 21:00:11 ID:zhe0CjqX0
レスどーも。遅レススマソ。
TAALTとかTTBaseとか知らなかったんで試してみます。
2ch-modeで板を更新したら、板が全て消えてしまいました...
878 :
名無しさん@お腹いっぱい。:2005/10/17(月) 22:06:32 ID:GNKFe1Xo0
とか言ってたらできたんだね。
245 hogehgoe AAA
123 BBB
というバッファを
AAA
BBB
というようにしたくて(replace-buffer ".* " "" :regexp t)としてみたんですが、
↓みたいな行があるとその行まるごと消えちゃいました。
C-. AAA
こういう場合どうしたらいいんでしょう?
883 :
882:2005/10/19(水) 16:00:56 ID:ZvGPxyxm0
あああああああ、すみません。
勘違いしました。
別のところに問題がありました。
16進数で得られた数字(具体的にはRGB値)、たとえばFF00FFを、
FF,00,FF
のようにカンマで二桁ずつ区切り、さらにそれぞれを10進数に変換して
256,0,256
のような文字列として得たいと考えています。
へなちょこリファレンスを見た限りではformat命令において:Dが3桁ずつ10進数でカンマ区切りで出力する
もののようですが、10進数で区切るわけには行きません。
上記の目的を満たす方法はないでしょうか?ご教授ください。
parse-integerがあるからとりあえずそれでガンバレー。
FF00FF -> 256,0,256
これを満たすのはなかなか勇気もいるぞ。
>>885 どうもありがとうございました。
なるほど、16進数を文字列にしてから何らかの関数(それすらわからない・・・。)で二文字ずつ区切り、
カンマをつけて、さらに区切った文字列を16進数に直して10進数に直すというわけですね。
まずは文字数を指定して区切るための関数を探さなければ・・・。
教えてください。
一画面ファイラを開くときにファイルマスクを指定したい
のですが、どうすればよいのでしょうか?
二画面ファイラのときは、*filer-primary(secondary)-file-mask*で
できるんすけど。
>>887 *filer-last-file-mask*
>>886 部分文字列はsubstringで取れる。
カンマつけるとかは一番最後でいいと思うよ。がんばれぇ。
891 :
887:2005/10/22(土) 00:08:29 ID:lwgohQja0
www-modeでw3mを使うようにした『はず』なのですが、
どこが変化したのかさっぱりわかりませんでした…
本当に変わっているのかどうか確認したいので
差異の見られるサイトや見分け方など教えてください。
テーブルを使っているサイトとか
厨質ですいませんが,2ch-modeで,.2chに溜まるログの保存場所を変更する方法を教えてください。
895 :
592:2005/10/22(土) 11:55:58 ID:XylKRIPK0
どなたか教えてくださいm(__)m
*error-list*がMarkerで管理されているからダメなのかな?
>>894 ;; 2ch-mode log保存場所
(require "2ch/main")
(setq 2ch::*base-directory* "c:/usr/log/xyzzy")
>>895 find-fileとマーカまわりをトラップしたらできるんじゃないかな
>>895 first-error, next-error を元に,ファイルを開く前に
前のファイルを閉じるようにすればいいんじゃないか
899 :
895:2005/10/22(土) 18:55:46 ID:XylKRIPK0
最初はそう思ったんですが、前のファイルを閉じた時点で
*error-list*(*rerror-list*)のなかのMarkerがdeletedに
なってしまうんです。
そうすると、deletedされたMarkerを再び参照しようとした時に
エラーになってしまいます。
ん? そのエラーをトラップして、再度first-errorを投げれば
いいのかな?
半分カンで書いてみた。危険かも。
(require "encap")
(defun my-trap-marker ()
(encapsulate 'find-file 'my-trap-marker
'(let ((buf (get-buffer-create "*ErrorView*"))
(fn (truename (car argument-list))))
(set-buffer buf)
(delete-region (point-min) (point-max))
(insert-file-contents fn)
(set-buffer-file-name fn)
t))
(encapsulate 'make-marker 'my-trap-marker
'(cons
(get-buffer-file-name (car argument-list))
(list nil)))
(encapsulate 'set-marker 'my-trap-marker
'(let ((f (caar argument-list))
(m (cdar argument-list))
(r (cdr argument-list)))
(setf (car m) (or (car r) (point)))
(cons f m)))
(encapsulate 'goto-marker 'my-trap-marker
'(let ((buf (get-buffer-create "*ErrorView*")))
(set-buffer buf)
(delete-region (point-min) (point-max))
(insert-file-contents (caar argument-list))
(set-buffer-file-name (caar argument-list))
(goto-char (cadar argument-list))))
(encapsulate 'marker-buffer 'my-trap-marker
'(get-buffer-create "*ErrorView*")))
(defun my-untrap-marker ()
(mapcar (lambda (x) (unencapsulate x 'my-trap-marker))
'(find-file make-marker set-marker goto-marker marker-buffer)))
(while (some #'identity (my-untrap-marker)))
(while (unencapsulate 'ed:first-error 'my-trap-marker))
(while (unencapsulate 'ed:next-error 'my-trap-marker))
(encapsulate 'ed:first-error 'my-trap-marker
'((interactive "p")
(my-trap-marker)
(unwind-protect (apply basic-definition argument-list)
(while (some #'identity (my-untrap-marker))))))
(encapsulate 'ed:next-error 'my-trap-marker
'((interactive "p")
(my-trap-marker)
(unwind-protect (apply basic-definition argument-list)
(while (some #'identity (my-untrap-marker))))))
;; owari.
こんな感じの動作なのかな?
こればっかりになると困るだろうから、切りかえる仕組みも要るね。
902 :
895:2005/10/22(土) 21:01:05 ID:lwgohQja0
>>900 おぉ〜出来ました!
ありがとうございます。
ソースまで提示してもらっているのに恐縮なんですが
バッファの再利用(ファイルを開きなおす感じ)は
無理っすかね?
元々、参照用と書いていて、あれなんですが・・・(^^;
>>902 意味がわかりません。
既に開いているファイルであればそのバッファを使えってことでしょうか。
だとしたら出来なくはないんじゃないかと思いますが、
私はもうアレがアレですので、あしからず。
上のやつの要点はマーカーの代わりにファイル名とポイントを押し込んでいるところです。
904 :
名無しさん@お腹いっぱい。:2005/10/22(土) 22:36:34 ID:GQWKYlG40
xyzzy + katex環境です。
katexで、dviファイルの作成までは出来るようになりました。
dviファイルまでxyzzy上で作成出来るようになったのですから
いっそpdfまで作成したいと思いました。
秀丸上では祝鳥を利用して、pdfを作成しているので
それがxyzzyでできればxyzzyに移行するつもりです。
そこで質問ですが、xyzzyでdviからpdfに変換する
いい方法はないでしょうか?
Alt + Xでshellと打ち込み、そこからコマンドでコンパイルするという
手段で作成できるのは確かですが・・・
どなたかご存じの方がいらっしゃればご教示下さい。
>>904 この話題よく出るね.とりあえず自分が使っているサンプルおいておくのでご自由に.
;;. menu
(in-package "elisp")
(defun KaTeX-typeset-menu (arg &optional char)
"Typeset, preview, visit error and miscellaneous convenient menu.
Optional second argument CHAR is for non-interactive call from menu."
(interactive "P")
(message
(concat "J)latex R)egion B)ibtex mk(I)ndex "
(if (fboundp 'start-process) "K)ill-latex ")
"P)review "
(and (boundp 'window-system) window-system "S)earch ")
"V)iewerr L)pr D)vips dvipdF)m"
))
(let ((pre-ime (and (get-ime-mode) (toggle-ime)))
(sw (selected-window)) (c (or char (read-char))))
(require "katexprc") ;for Nemacs's bug
(select-window sw)
(cond
((= c #\j) (KaTeX-typeset-buffer))
((= c #\r) (KaTeX-typeset-region))
((= c #\b) (KaTeX-call-command-on-file
bibtex-command "*KaTeX-bibtex*"))
((= c #\i) (KaTeX-call-command-on-file
makeindex-command "*KaTeX-makeindex*"))
((= c #\k) (KaTeX-kill-typeset-process KaTeX-typeset-process))
906 :
905:2005/10/22(土) 23:27:10 ID:HyFuL/YO0
((= c #\p) (call-interactively 'KaTeX-preview))
;((= c #\q) (KaTeX-system "lpq" "*Printer queue*"))
((= c #\v) (KaTeX-view-error))
((= c #\l) (KaTeX-lpr arg))
((= c #\m) (KaTeX-switch-mode-menu arg))
((= c #\b) (KaTeX-insert-string "\\")) ;???
;((= c #\s) (KaTeX-xdvi-remote-search arg))
;------------------------------------------------------------
; added command
((= c #\d) (KaTeX-dvi2ps))
((= c #\f) (KaTeX-dvipdfm))
)
(and pre-ime (not (get-ime-mode)) (toggle-ime))))
(KaTeX-define-key #\t 'KaTeX-typeset-menu)
(defvar dvips-command "dvipsk -Pdl")
(defun KaTeX-dvi2ps ()
(interactive)
(KaTeX-save-buffers)
(KaTeX-call-command-on-file dvips-command KaTeX-typeset-buffer))
(defvar dvipdfm-command "dvipdfm ")
(defun KaTeX-dvipdfm ()
(interactive)
(KaTeX-save-buffers)
(KaTeX-call-command-on-file dvipdfm-command KaTeX-typeset-buffer))
(in-package "user")
907 :
名無しさん@お腹いっぱい。:2005/10/22(土) 23:34:39 ID:GQWKYlG40
>>906 thnx!
それをベースに弄ってみるよ。
908 :
895:2005/10/23(日) 00:40:55 ID:gJJNYDyT0
>>903 意味不明でしたね。すみません。
教えて頂いたので機能十分なので、気長に
拡張してみます。
ありがとうございました。
>>904 うちはlatexmkをインストールして、
(setq elisp::dviprint-command-format "latexmk.bat -pdfdvi %s") を設定して
C-c t l でpdfに変換してる。tex→pdfに一発変換できるのがよい。
外部アプリに,開いているファイルのディレクトリを""で囲んで引数にして
渡すことは出来ますか?
具体的には,開いているファイルのディレクトリを外部のファイラで開きたいんです。
ファイラがc:/windows/explorer.exeの場合
(call-process (concat "c:/windows/explorer.exe \"" (map-slash-to-backslash(directory-namestring(get-buffer-file-name))) "\""))
TeXのPDF変換の話とか見てると、最近使い方の分かる人が増えてきたよね。
当初のスレなんかは手取り足取りだったけど。
俺はまだその頃のままよ。
ファイルの拡張子が .java なら UTF-8、
.rb なら EUC-JP、それ以外なら SJIS のように
自動で文字コードを設定してほしいんだけど
どうしたらいいの?
>>913 こんなようなのを *find-file-hooks* かモード毎のフックに引っ掛けるべし
(set-buffer-fileio-encoding *encoding-euc-jp*)
(set-buffer-fileio-encoding *encoding-utf8*)
>>884-886 > 16進数で得られた数字(具体的にはRGB値)、たとえばFF00FFを、
> FF,00,FF
> のようにカンマで二桁ずつ区切り、さらにそれぞれを10進数に変換して
> 256,0,256
> のような文字列として得たいと考えています。
>>885 は FF,00,FF を「255,0,255」でも「256,1,256」でもなく「256,0,256」に
にするのは大変だよね、という話。
>>915 たぶんこんなかんじ
(add-hook '*find-file-hooks*
(lambda ()
(let* ((name (get-buffer-file-name))
(type (pathname-type name)))
(cond ((string-equal "rb" type)
(set-buffer-fileio-encoding *encoding-euc-jp*))
((string-equal "java" type)
(set-buffer-fileio-encoding *encoding-utf8*))
(t
(set-buffer-fileio-encoding *encoding-sjis*))))))
>>916 >
>>885 は FF,00,FF を「255,0,255」でも「256,1,256」でもなく「256,0,256」に
> にするのは大変だよね、という話。
そうか。こんなかんじ?
(let ((tmp (parse-integer "FF00FF" :radix 16))
mod
pushed)
(while (> tmp 0)
(multiple-value-setq (tmp mod) (truncate tmp 256))
(push (if (> mod 127) (1+ mod) mod) pushed))
(format nil "~{~D~^,~}" (nreverse pushed)))
>>919 >>916が言いたいのは
FF=255, 00=0だから「FF00FF -> 255,0,255」ということでは
ネタの解釈で一日引っ張るんか。。。
>>911 thx!explorerで動作確認しました。
使おうとしているファイラ(DFなんだけど)では,そのままではうまく動かなかったけど,
ちょっといじってみます。
>>922 単にファイラで開きたいなら, netinstaller で explorer を入れて,
;;.. exploer を mameで
(let ((mame "c:/software/mame4/Mame4.exe"))
(and (find "explorer" *modules* :test #'equal)
(file-exist-p mame)
(setq *explorer-file-cmd* (concat mame " ")
*explorer-dir-cmd* (concat mame " "))))
と設定して使っている.DF使ったことないけど,自分はマウスでmameを
操作してるので,ツールボタンがついてくるのがいいよ
>>923 下のだけで大丈夫かな。
(require "explorer")
(setq *explorer-cmd-hook*
#'(lambda (path) "c:\\software\\mame4\\MameFile4.exe "))
>>889 ありがとうございました!「256」は単なる書き間違えなので、ネタだと思った人すみませんでした。
以下commdlgを用いたカラーダイアログから十進数を得るためのサンプルです。
(defun rgb<->bgr (col)
(+ (ash (logand col #xff0000) -16)
(logand col #x00ff00)
(ash (logand col #x0000ff) 16)))
(require "winapi/commdlg")
(defun sample-choose-color-dialog ()
(interactive)
(let (color custom-color-list)
(loop
(multiple-value-bind (color1 custom-color-list1)
(win-user::choose-color-dialog
:color color
:custom-color-list custom-color-list)
(setq color color1
custom-color-list custom-color-list1))
(if color
(progn
(setq colorstr (format nil "~6,'0X~%" (rgb<->bgr color)))
(setq colors1 (substring colorstr 0 2))
(setq colors2 (substring colorstr 2 4))
(setq colors3 (substring colorstr 4 6))
(setq clrstr1 (format nil "~D" (parse-integer colors1 :radix 16)))
(setq clrstr2 (format nil "~D" (parse-integer colors2 :radix 16)))
(setq clrstr3 (format nil "~D" (parse-integer colors3 :radix 16)))
(insert clrstr1 ", " clrstr2 ", " clrstr3)
(refresh-screen))
(return-from sample-choose-color-dialog nil)))))
926 :
名無しさん@お腹いっぱい。:2005/10/24(月) 12:24:50 ID:AT4iFvLB0
>>925 (defun rgb<->bgr (col)
(+ (ash (logand col #xff0000) -16)
(logand col #x00ff00)
(ash (logand col #x0000ff) 16)))
(require "winapi/commdlg")
(defun sample-choose-color-dialog ()
(interactive)
(let (color custom-color-list)
(loop
(multiple-value-bind (color1 custom-color-list1)
(win-user::choose-color-dialog
:color color
:custom-color-list custom-color-list)
(setq color color1
custom-color-list custom-color-list1))
(if color
(progn
; (format t "#~6,'0X~%" (rgb<->bgr color))
(insert (hex2dec-color (rgb<->bgr color)) "\n")
(refresh-screen))
(return-from sample-choose-color-dialog nil)))))
(defun hex2dec-color (hex)
(format nil "~D,~D,~D"
(ash (logand #xff0000 hex) -16)
(ash (logand #x00ff00 hex) -8)
(logand #x0000ff hex)))
>>926 ありがとうございます。このような方法もあるのですね。
;;もしかしてこの方法でないとまずいことがあるのですか?
>>905 すみません。これをそのまま書いてみたのですが、
関数が定義されていません: elisp::KaTeX-define-key
というエラーが出てしまいます。Stack Traceを見ると、
>CALL STACK 5: (load "C:/otomo/.xyzzy" :if-does-not-exist nil :verbose nil :print nil)
>CALL STACK 4: (system:*byte-code ...)
>CALL STACK 3: (editor::startup)
>CALL STACK 2: (system:*byte-code ...)
>CALL STACK 1: (system:*startup)
関数が定義されていません: KaTeX-define-key
とあります。
(add-hook 'elisp::*katex-mode-hook* #'KaTeX-typeset-menu)
をその記述の前あるいは末尾に書いても同じエラーが出てしまいます。
どのように回避すればいいのでしょうか。どうかご教示ください。
>>928 (require "katex")を書いたら変わる?
>>927 colorstr colors1 colors2 colors3 clrstr1 clrstr2 clrstr3 を
(let (...)) で宣言しておかないと、関数外でもそれら変数に値が
残ってしまい行儀が悪いですね。
このサンプルだと multiple-value-bind でなくてもよいようなので
multiple-value-setq にしました。
(defun sample-choose-color-dialog ()
(interactive)
(let (color custom-color-list)
(loop
(multiple-value-setq (color custom-color-list)
(win-user::choose-color-dialog
:color color
:custom-color-list custom-color-list))
(if color
(progn
(insert (hex2dec-color (rgb<->bgr color)) "\n")
(refresh-screen))
(return-from sample-choose-color-dialog nil)))))
>>929 ありがとうございました。それでうまくいきました。
>>930 解説ありがとうございました。なるほど、参考になりました。
932 :
名無しさん@お腹いっぱい。:2005/10/24(月) 20:05:43 ID:x7nU/1kK0
lispを載せるときインデントされてないと見つらい。
(ぽぴぺして indent-sexp すればインデントされるけど)
で、例えば930様のレスなんかは、2ch-mode で見ると
ちゃんとインデントされてるんだけど、opera とかの
汎用ブラウザで見るとされてない。
行頭からの半角スペースは無視して表示される、
連続する半角スペースは一個とみなされる、という
仕様だからだろうけど、たまにこれをうまいことやれてる
レスがあった気がする。
何か裏技が?
半角空白を&nbsp;に(一つおきに)変換する。
2ch-modeだと自動でやってくれる。
文字数が増えるから長いコードだとたまに制限されることもあるけど。
>>933 > 2ch-modeだと自動でやってくれる。
自動でやってくれていなさそうな気がするので、手動でテスト。
(defun sample-choose-color-dialog ()
(interactive)
(let (color custom-color-list)
(loop
(multiple-value-setq (color custom-color-list)
(win-user::choose-color-dialog
:color color
:custom-color-list custom-color-list))
(if color
(progn
(insert (hex2dec-color (rgb<->bgr color)) "\n")
(refresh-screen))
(return-from sample-choose-color-dialog nil)))))
手動で半角空白を一つおきに にしたらうまくいきましたね。
>>935 > 手動で半角空白を一つおきに にしたらうまくいきましたね。
再度ちゃんレンジ
手動で半角空白を一つおきに にしたらうまくいきましたね。
自動というか C-c A でやってくれるね。
で、
>>936 の ampersand が表示されてないのはなんでだろ。
2ch::*special-string-list* で amp が nbsp より前にあるせいかと思ったけど
そうでもないみたいだし。
>>937 > 自動というか C-c A でやってくれるね。
ホントですね。
> で、
>>936 の ampersand が表示されてないのはなんでだろ。
> 2ch::*special-string-list* で amp が nbsp より前にあるせいかと思ったけど
> そうでもないみたいだし。
直接的には amp が nbsp より前にあるせいでしょう。
amp と nbsp の順番を逆にしても同じように不具合表示となるのは
thread-parse-special-strings の処理が複数回実行されてしまって
いるのではないですかね。おっていませんが。
少し高度な質問かもしれませんが、
xyzzyってなんて読むんですか?
( ゚д゚) < xyzzy
>>939 作者は何でこんな名前をつけたんですかね?永遠の謎だ。
放浪爺でどう?
xyzzyは、fooとかbarみたいな、適当な名前のプレースホルダ
(メタ構文変数: metasyntactic variables) の一種らしい
特に意味はないんだろうな
バッファを切り替えたときに処理を行いたいんですが、
切り替えられたのを知るにはlispフォルダ内のファイルをいじるしかないですか?
それは止めた方が(ry
>>947 何にも考えずにフックを仕掛けるならこんな感じでできます。
(require "encap")
(in-package "editor")
(defvar *before-set-buffer-hook* nil)
(defvar *set-buffer-hook* nil)
(export '(*before-set-buffer-hook* *set-buffer-hook*))
(encapsulate 'set-buffer
'hook
'((if *before-set-buffer-hook*
(funcall *before-set-buffer-hook* (selected-buffer)))
(apply basic-definition argument-list)
(if *set-buffer-hook*
(apply *set-buffer-hook* argument-list))))
(setq *buffer-bar-hook* #'set-buffer)
使い方はこんな感じ。
(setq *set-buffer-hook* #'(lambda (buffer)
(msgbox "~Aに移動したよ♪" buffer)))
ただし、裏でバッファ移動するのにも反応するので使い方には注意。
つーかこのままでは使い物になりません。
キーボードでバッファを移動したときだけなら,
専用のコマンド群を作ってキーを割り当てればすむんだけどね.
あとフレームなら,ちゃんとhookがあるけど.
なかなか落としどころが難しそう
>>949 どうもです。便利な関数があるんですね。
set-bufferとdelete-bufferとload-sessionと起動時に色々と仕掛けたら何とかなりました。
phpを編集してセーブしたら
ブラウザにそのphpの実行結果を吐き出すことってできますか?
phpはローカルでちゃんと動くようにしています。(xampp使った)
フックとかを使うのかな?
>>952 *after-save-buffer-hook* あたりにひっかけてコマンド実行させればよいかと
コマンド実行時にセーブしてなかったらセーブするってほうが良くやるけど
>>953 ありがとう。
初lisp書きになりそうだ…
>>952 保存済みか判断して実行するならこんな感じで
(defun do-comment-exec ()
(interactive)
;;保存済みか判断
(if(need-buffer-save-p (selected-buffer))
(if (yes-no-or-cancel-p
(concat "~Aの内容は変更されています。\n"
"変更を保存して実行しますか?")
(buffer-name (buffer-name (selected-buffer))))
(save-buffer-dialog)
t)
)
(execute-shell-command "実行するコマンド" nil "*output*")
)
フックだと コマンド実行する関数作って add-hook で引っ掛ける
956 :
952:2005/10/26(水) 20:36:57 ID:MYLtWUn90
こんなの見つけた。
これを改造したら行けないだろうか…
;;;■CSS-modeで保存すると browserex で今開いているファイルを更新。
;;;
http://pc8.2ch.net/test/read.cgi/hp/1005046309/348,354 (load-library "browserex")
(defun save-with-refresh ()
(define-key ed::*css-mode-map* '(#\C-x #\C-s)
#'(lambda ()
(interactive)
(save-buffer)
(bx:refresh-browser))))
(bx:browserex-set-focus-editor)
(add-hook 'ed::*css-mode-hook* 'save-with-refresh)
957 :
952:2005/10/26(水) 20:44:07 ID:MYLtWUn90
…置換したら行けるのでは?
;;;■php-modeで保存すると browserex で今開いているファイルを更新。
(load-library "browserex")
(defun save-with-refresh ()
(define-key ed::*php-mode-map* '(#\C-x #\C-s)
#'(lambda ()
(interactive)
(save-buffer)
(bx:refresh-browser))))
(bx:browserex-set-focus-editor)
(add-hook 'ed::*php-mode-hook* 'save-with-refresh)
958 :
952:2005/10/26(水) 20:54:52 ID:MYLtWUn90
動かない…失敗のようだ。
それは「Ctrl+x→Ctrl+s」キーで保存したら更新されるってことだよ。
たとえばあなたがCtrl+sで保存してるなら
(define-key ed::*php-mode-map* '(#\C-x #\C-s)
↑を↓に書き換えればたぶん動く
(define-key ed::*php-mode-map* #\C-s
960 :
952:2005/10/26(水) 22:12:31 ID:MYLtWUn90
「Ctrl+x→Ctrl+s」で保存しているのですが、
そもそも.phpファイルがうまくブラウザに表示されない(ソースが表示される)ので
それも考えないとだめなようです。
Common lispの本読んで出直してきます。
xyzzyとか関係無しにブラウザでphpを動かすことはできるんだよね?
ためしに書いて見た。以下の箇所の修正が必要です。
"c:/bin/xyzzy/" → ファイルのパス
"
http://localhost/" → ローカルサーバのパス
;;;■php-modeで保存すると browserex で今開いているファイルを更新。
(load-library "browserex")
(defun save-with-refresh ()
(define-key ed::*php-mode-map* '(#\C-x #\C-s)
#'(lambda ()
(interactive)
(save-buffer)
(let ((url (get-buffer-file-name)))
(setf url (substitute-string url "c:/bin/xyzzy/" "
http://localhost/" :case-fold t))
(bx:navigate url)
(bx:browserex-set-focus-editor)
))))
(add-hook 'ed::*php-mode-hook* 'save-with-refresh)
バッファを新規作成する際に、エンコーディングを特に指定しない場合に
必ずUTF-8で開く、というような芸当は出来るでしょうか?
もしできたらやり方を教えていただけるとうれしいです。
>>963 こんなの?
(setq *default-fileio-encoding* *encoding-utf8*)
965 :
952:2005/10/28(金) 08:00:43 ID:hIifQ3ww0
>>962 ありがとうございましたm(__ __)m
見ることができました。
とりあえずこのlispの動きがわかるように勉強します。
>>964 ありがとうございました!UTF-8で開くことが出来るようになりました!
ただ、残念ながら望みのことは出来ませんでした。(これはこれで使えますのでうれしいのですが。)
aspell.l
ttp://www.geocities.jp/shido_takafumi/xyzzy/aspell_l.html とAspell for Win32でUTF-8の文書をスペルチェックする際に、
なぜか上や下に記号(ウムラウトとかセディーユとか)の付いた文字やロシア語などはスペルチェック
できなかったのです。そこで、aspell.lの新たに開くバッファをUTF-8にすればうまくいくかと思い、質問
したのでした。(なお、何も着いてない普通のアルファベットの単語のミススペルはは普通に反応しました。)
ちなみにコマンドプロンプトでは一応ミススペルには反応していたようですが、文字化けしていたようです。
.xyzzyの設定ですが、
;; default encoding is UTF-8
(setq *default-fileio-encoding* *encoding-utf8*)
;; aspell
(import '(ed::aspell ed::*aspell-command*))
(autoload 'aspell "aspell" t)
(global-set-key #\M-a 'aspell)
;(setq *aspell-command* "C:\\Program Files\\aspell\\bin\\aspell.exe -a")
(setq *aspell-command* "C:\\Program Files\\aspell\\bin\\aspell.exe -a --lang=ru --encoding=utf-8")
;(setq *aspell-command* "C:\\Program Files\\aspell\\bin\\aspell.exe -a --lang=fr --encoding=utf-8")
のような感じです。aspell.lを書き換える必要があるでしょうか?