xyzzyの使い方が分からぬやし 励ましあえ その9
1 :
ミスターエックスワイジー :
2006/03/29(水) 17:45:19 ID:zT2Re5UE0 xyzzyってさ、一見さんお断りの京都料亭みたいでさ、何から手をつけていいのかわからないでしょ?
とりあえず,初心者同士で解決できる問題はまず過去ログ・グーグルで検索した後ここで相談しましょう
たとえば
・ここのHPに書いてある通りにやりましたができません.
・xyzzyが起動しなくなりました.
・キーバインドってどうやって変更するの?
初心者の私が答えられるのはこの程度です.
自分でlispが書けるような方,こんな機能が欲しいのですが
だれか作ってくださいという方は Win板本スレへ。
xyzzy Part13 @Win板(通称:本家)
http://pc8.2ch.net/test/read.cgi/win/1127783135/ 過去ログ & 関連リンクは
>>2-5 あたりに。
2 :
ミスターエックスワイジー :2006/03/29(水) 17:46:18 ID:zT2Re5UE0
3 :
ミスターエックスワイジー :2006/03/29(水) 17:47:12 ID:zT2Re5UE0
↑乙
>>1 乙です
早速質問です
アパッチのログを眺めてニヤニヤしたいんですが、
wikiのログなのでURLエンコーディングされて一般人には読めません。
で
;;; *scratch*の内容を*Output*に吐き出す。
(with-output-to-buffer ((switch-to-buffer "*Output*"))
(with-input-from-buffer ((switch-to-buffer "*tail-f*"))
(setq line (si:www-url-decode *standard-input* nil))
(princ line)
(princ "\n")))
こんなの書いたんですけど出力が
/index.php?ホ�スャヘム・レ。シ・ク HTTP/1.1" 200 25699
こんなかんじで文字化けてるわけです。
全部クリップボードにいれてクリップボードエンコーディングすれば読めるようにはなるんですが、
コードのなかで実現できないものでしょうか?
7 :
5 :2006/03/29(水) 21:43:59 ID:bEsxqXT70
>>6 おおお出来ました!
ありがとうございます。
map-xx-to-yyの形式の関数のドキュメントがうまく探せなくて使い方わからなかったんです。
助かりました。
もう少し勉強してみます。
水平方向のスクロールって、カレントの行の幅までしか動かないですよね。 開いた時点で、テキスト内で最大幅をもつ行の幅まで拡張させることはできないんでしょうか。 (ノートパッドみたいに) 折り返すとインデントが乱れて、見にくくなるので何とかしたいです。
>>1 おつかれどえす
extern-C-tab みたいに拡張キーとかいいはるもんは
どないしたら使えますんやろか?
よろしかったら教えておくれましやろか?
自分も調べさせてもろたんやけども、
xyzzyやあらへんソフトのサイトか
その拡張キー使うてはるlispのSampleのサイトしか
見つけられやしまへんかったんや。
どうかよろしゅう頼んますさかいに
exkey-C-tab とかのことかな
>>8 メニューから 表示 - 折り返さない を選択
すればいいんじゃないのかな
(または 共通設定- 表示 の同じ項目)
13 :
8 :2006/03/30(木) 18:13:38 ID:bftfaCF20
>>11 すみません。
説明するの難しいなコレ。
41|abababababababababababababa
42|cdcdcdcdcdcdcdcdc|(←カーソル)
43|efefefefefefeefefefefefefefefef
44|........
. . . .←――――――――→
. . . .(この範囲しか動かない)
こんな感じです。
>>12 有難うございます、仕様ということですね。
スッキリしました。
秀丸の作者さんも折り返しの仕様は匙投げてたし。
作る側にとって折り返し関係は大変なんですよね、多分。
16 :
8 :2006/03/31(金) 22:13:49 ID:jn0WTVyD0
>>15 力技ですね。
良くこんなの思いつくなー。
…(;^ω^)あっ、発想は参考になります。
行揃えとかも面白いです。
17 :
名無しさん@お腹いっぱい。 :2006/03/32(土) 04:57:59 ID:4qynRJdX0
ドイツ語のウムラウト(Üなど)をコピペする時 IE→xyzzy Uになる IE→秀丸 Üのまま 秀丸→xyzzy Üのまま xyzzy→秀丸 Uになる と俺にはよく分からない変換規則があるんですが xyzzyでも可能な限りウムラウトを保持する設定は何かありませんか? あと、ドイツ語、ロシア語入力の時にアルファベット配列が異なるので Ctr+何かキー 関係がめちゃくちゃになってしまうんですが 日本語入力に切り替える以外で対策は何かないでしょうか…。
html+-modeモードで ”編集中のページを指定したブラウザで開く” 探しているんですが中々見つからなくて ご存じないですか?
>>17 ウムラウトに関しては右クリック->クリップボードエンコーディング->urf-8nでどうでしょう。
>>18 標準のブラウザでなら↓みたいなので。
(define-key *html+-mode-map* #\C-o (lambda ()
(interactive)
(let ((f (get-buffer-file-name (selected-buffer))))
(if f
(shell-execute f)))))
日付が
23 :
名無しさん@お腹いっぱい。 :2006/03/32(土) 09:02:56 ID:GA1xZrou0
24 :
17 :2006/03/32(土) 17:29:02 ID:zd4EegAn0
>>19 そんなところに設定が…。
共通設定をずっと見てました
これで、標準でクリップボードのエンコードが
utf8nになってくれたんですがあってます?
(change-clipboard-encoding *encoding-utf8n*)
ただ、IEからのコピーの場合はこれでも上手く行かないです
どのソフトの問題かわからないので
クリップボードの仕組みから勉強しなおしてきます(`・ω・´)
*encoding-utf16* のほうが良いような気がする
>>25 今、わかりました。
utf16に設定するとIEからのコピーでも上手く行きました
んで、クリップブックでクリップボードの中身を見てみたけども
秀丸とIEの渡されるデータ形式の違いが全然分からない
何でutf16だと上手くいくんでしょう?
バックアップファイルが貯まってきて重くなってきたので、 一応圧縮して保存し、バックアップファイルのフォルダを 空にしようと思ったのですが (create-archive "backupfiles.lzh" (directory "~/backupfiles" :absolute t :recursive t) (user-homedir-pathname)) としら、nilになります。 パスを指定してやらなければいけないのですか?
nil が返るのは既定の動作だけど。 実際に作られてないの?
はい、作られていません リファレンスをみるとFILESの所に ' がありますが なにか関係あるのですか
>>30 > リファレンスをみるとFILESの所に ' がありますが
> なにか関係あるのですか
これはその直後の括弧内をリストとして扱うって意味だから、directory 関数使ってる分には関係ないよ。
(directory "~/backupfiles") が nil 返してない?
あと Unlha32.dll は入ってる?
UNLZH32.dll 2.2.5.23 が入ってます (directory もリストを返します
UNLZH32.dll ってまだあったっけ。 とりあえず xyzzy は defs.l 見る限り unlha32.dll しか対応してないようだよ。
UNLZA32.dll 2.2.5.23 でした すみません
別にLispでやらんでも、ファイラから作るなり別のアーカイバから作るなり
すればいいじゃん。
>>28 について気になるのはスペースが変ってことかな。
何でU+00A0なのかな〜とか思う。
ん、どうなのぉ?いいのぉ?
>>34 さんいいのぉ?UNLZA32でいいのぉ?
どこにあるのぉ?ん、ねぇ、なんてDLLなのぉ?
言わないのぉ?言わないと立てないよぉ?立てないでいいのぉ?
ん、どこなのぉ?ん、なんてDLLなのぉ?ねぇ?
ん、そこに立ててほしいのぉ?ここぉ?ここぉ?
ここでいいのぉ?ねぇ?内容書かないでいいのぉ?ねぇ?
それじゃ立てれないよぉ?ん、エラー出ちゃうよぉ?ねぇ?
立てていい?スレッドたてちゃっていいのぉ?ねぇ?
あー、すごい。ねぇ?すごいよ?ねぇ?
ダメだよぉ?ちゃんと自演しなきゃ?
自演しなきゃ埋まっちゃうよぉ?ねぇ?いいのぉ?
ねぇ?埋まっちゃっていいのぉ?
あー凄い、こんなに煽られちゃって、煽りがすごいよぉ?
いいのぉ?いいのぉ展開しちゃっていいのぉ?
ここで展開しちゃってもいいのぉ?まだDLLも行ってないよぉ?
いいのぉ?解凍していいのぉ?それじゃ解凍するよぉ、解凍するよぉ、
あっ・・・
C:\Documents and Settings\ユーザー名に作られていました
>>37 (user-homedir-pathname) はどこなの?
環境変数 XYZZYHOME は?
(defun xyzzy-backup-files-delate() (setf dir "~/backupfiles") (create-archive (merge-pathnames "backupfiles.lzh"(user-homedir-pathname)) (directory dir :absolute t :recursive t) (user-homedir-pathname)) (unwind-protect (when dir (directory dir :absolute t :recursive t :callback #'(lambda (f) (if (file-directory-p f) (delete-directory f :if-access-denied :force) (delete-file f :if-access-denied :force)))) (delete-directory dir :if-does-not-exist :skip :if-access-denied :force))) (create-directory dir)) すみませんでした、もっと勉強します。 user-homedir-pathnameは si:system-rootでも
ruby-mode使ってるのですが、 C-C Wや、C-C Xやで、スクリプトの実行を行ったときに、 ・画面下部に、Checkという確認を出さずいきなり実行する方法 ・出力バッファにフォーカスを持っていかず、 元のバッファにフォーカスを戻す方法 ってないでしょうか。
41 :
40 :2006/04/04(火) 03:03:24 ID:PQ+UvDVm0
42 :
40 :2006/04/04(火) 21:22:08 ID:PQ+UvDVm0
ruby-mode使ってて、キーマップを変更したいのですが、 ruby-mode.lを変えずに変更できますでしょうか? 具体的には、shift+Spaceを割り当てを解除したいのですが・・・
exkey-S-space あったのか……。 (undefine-key *ruby-mode-map* #\F20) .xyzzy に、load-library (とかrequire とか)のあと書けばいいはず。 // sitelisp.l でロードしてるなら .xyzzy のどこででも。
44 :
40 :2006/04/05(水) 14:10:14 ID:VEG0wA0i0
うーん。 駄目でした。 ruby-mode.lの (set-extended-key-translate-table exkey-S-space #\F20) コメントアウトしてしまいました。
>>44 > ruby-mode.lの
> (set-extended-key-translate-table exkey-S-space #\F20)
> コメントアウトしてしまいました。
S-Space のキーテーブルを戻したなら,keyboard.l によると
(set-extended-key-translate-table exkey-S-space #\SPC)
すれば,元に戻る.
これでコメントアウトしなくてもすむけど,まぁどっちでもいいかも
戻したいなら,
最近色々検索してて ctagsやらgtagsやらでてきたけど、xyzzyはXTAGSを作るうえで何を使って生成してるんですか? etagsってやつですか?それとも自前?
maketags.l とか lispfns.l を見た感じだと自前っぽい。
階層付テキストの拡張子を.ktxtとして Outline Treeで自動的に認識(アウトラインタイプを階層付テキストに)させたくて get-outline-function.lを弄くれば出来ることがわかりました でもこれじゃ問題ありなんで.xyzzyやsiteinit.lを弄くって設定したいんですが 皆目見当もつきません。どうすればできるんでしょうか?
exel-demoに感動した
excel-demoだったスマソ
ファイルの先頭に -*- ・・・・・・・・・・ -*- の記述で modeやencoding、foldなどの設定ができますが タブ幅の設定は、どう書けばできるんでしょうか?
>>53 これでできてるっぽいのだが、他のバッファの表示も変わってしまう。
バッファごとには設定できないかも。
(defun find-file-set-tab-columns (col)
(ignore-errors (set-tab-columns (parse-integer col))))
(pushnew '("Tab" . find-file-set-tab-columns)
*auto-mode-parameter-alist*
:key 'car :test 'string=)
>>49 .outline-tree/config.lの書き方と同じだけど
何かしらのメジャーモード使ってるのなら
(add-hook 'hoge-mode-hook*
#'(lambda ()
(setq outline-tree-create-outline-function
'outline-tree-create-outline-hoge)))
拡張子に対応させるなら*auto-mode-alist*にpushして追加すればいいんじゃないかな。
あ、ファイル先頭には Tab: 4; とか書く。
57 :
53 :2006/04/09(日) 00:47:39 ID:/dmNsioy0
>>54 ありがとうございます。
set-tab-columns の引数に selected-buffer を指定したら
うまくいきました。
>>55 レス、ありがとうございます。
>outline-tree/config.l
それデフォルトでは入ってないようです…。
拡張子に対応させるのはこれで出来ました
(push '("\\.ktxt$" . text-mode) *auto-mode-alist*)
アウトライン生成の設定をしてみましたが、全く動作してないようです
(add-hook 'text-mode-hook*
#'(lambda ()
(setq outline-tree-create-outline-function
'outline-tree-create-outline-hierarchy-dot)))
それと恐ろしく基本的な事だと思うんですが
"#"が何を意味するのかわからないんです
検索しようにもキーワードをどうすればいいのか…。
なんなんでしょうか、これ?
>>58 > "#"が何を意味するのかわからないんです
#'car = (function car)
#はデフォルトのマクロ文字
text-mode-hook* -> *text-mode-hook* で如何? #' は続く式や変数が関数であることを示すおまじないだと、 とりあえずは思っとけばいいんじゃないでしょうか。
xyzzyでバイナリエディタモードがあったらな・・・ どうもhexl-modeだとほかのバイナリエディタと比べると見劣りするし。 何かよい方法ってあります?
>>49 >>55 >>58-60 ども。
>>49 > 階層付テキストの拡張子を.ktxtとして
> Outline Treeで自動的に認識(アウトラインタイプを階層付テキストに)させたくて
> get-outline-function.lを弄くれば出来ることがわかりました
>
> でもこれじゃ問題ありなんで.xyzzyやsiteinit.lを弄くって設定したいんですが
> 皆目見当もつきません。どうすればできるんでしょうか?
get-outline-function.l を変更するのと同程度のことをする最良の方法は
*outline-tree-get-default-create-outline-function-advice-func* に、
「buffer を与えると『アウトライン作成関数』の関数名(シンボル)返す関数」を
設定することです。
その設定は、~/.xyzzy または $XYZZY/site-lisp/siteinit.l または
>>55 に書か
れているとおり、~/.outline-tree/config.l に設定するのが適当です。
$XYZZY/site-lisp/outline-tree/config.l ではありません。
今後の追加を考慮しつつ、拡張子「ktxt」に「階層付テキスト」を設定するには 以下のような定義がよいかもしれません。 (in-package "outline-tree2") (defun my-outline-tree-get-create-outline-function (buffer) (let ((buffer-name (buffer-name buffer)) (buffer-mode (save-excursion (set-buffer buffer) buffer-mode)) (mode-name (save-excursion (set-buffer buffer) mode-name))) (cond ((and (symbolp 'outline-tree2::outline-tree-create-outline-hierarchy-dot) (fboundp 'outline-tree2::outline-tree-create-outline-hierarchy-dot) (string-matchp "\\.ktxt$" buffer-name)) 'outline-tree2::outline-tree-create-outline-hierarchy-dot) (t nil)))) (setq *outline-tree-get-default-create-outline-function-advice-func* 'my-outline-tree-get-create-outline-function)
cygwinのホームディレクトリとXYZZYHOMEを一緒にしたいんだけど C:/cygwin/home/hogeでは階層が深すぎる気がしたんで C:直下にホームディレクトリのシンボリックリンク(ショートカット)を置いたんです。 その上でXYZZYHOMEをC:\hogeにすりゃいいかなと思ったらやっぱダメなのね…。 ファイラでC:を見てみたらC:/hogeは見えないし。 xyzzyでディレクトリのショートカットを普通のディレクトリとして扱う方法とか ないものでしょうか?
質問です。 *buffer-bar-selected-buffer-to-first* を non-nilにして (set-buffer hoge-buffer)とかするとhoge-bufferがタブの先頭に来ます。 これを利用して連続で任意のバッファを順に先頭に置いていけないかと 思ったんですが、例えば (progn (set-buffer hoge1-buffer) (set-buffer hoge2-buffer)) とかすると、最後にset-bufferされたhoge2だけ先頭に来ます。 これを順に先頭にこさせるにはどうすればよいでしょうか? もしくは仕様上できないのでしょうか。よろしくお願いします。
>>66 おもしろそうなので調べてみた.
いろいろやってもだめだったので,ソースコードを見ると
buffer-bar.cc の buffer-bar::update_ui() でその変数が使われていて,
以下の条件を満たすときに,タブの順序が変わるらしい.
フォーカスがバッファ以外に無いとだめなのかな.
if (cur >= 1 && xsymbol_value (Vbuffer_bar_selected_buffer_to_first) != Qnil
&& GetFocus () != b_hwnd)
{
Buffer *bp = selected_buffer ();
if (!bp->internal_buffer_p ())
どうやってフォーカス移せばいいのか・・・
68 :
66 :2006/04/10(月) 10:05:11 ID:RTewcpii0
>>67 ありがとうございます。自分でも調べてみました。
自分はソースを見てもあまりよくわからないんですが、
恐らく "GetFocus () != b_hwnd" の部分は OChangeLog.html にある
>*buffer-bar-selected-buffer-to-first*がnon-nilでも、キーでタブを移動した場合はタブを移動しないようにした。
に対応した部分だと思います。なのでフォーカスではなくて、
そもそもbuffer-bar::update_ui()の関数が呼ばれていないのではと考えます。
これには理由があり、以前start-timerを使ってバッファ移動を試みたときバッファタブ
が切り替わりませんでした。どこのタイミングで呼ばれているのか詳しくわかりませんが、
恐らく処理が終わった前後だろうと思います。
なのでbuffer-bar::update_ui()をlispで呼ぶ方法があれば解決できるかと思うのですが
実際のところそのような関数はというと・・・。
作者に refresh-buffer-bar みたいな関数を作ってもらうしかないですかね。
文字列に"(ダブルクォート)を使いたいときはどうすればいいですか?
>>69 こんなふうにエスケープする
"これは\"を含む文字列です"
>>70 ありがとうございます。
"C:/home/xyzzy.exe "C:/hoge.txt""
っていう結果を得たいんですが
(concat (namestring "xyzzy.exe") " \"" "C:/hoge.txt" "\"")
ってやると
"C:/home/xyzzy.exe \"C:/hoge.txt\""
ってなってしまいます。
\の記号をとりたいんですがどういう書き方をすればこの場合うまく
いくんでしょうか?
>>71 insert とかに渡してみればわかると思うけど、
その \ は表示するときにつけられてるだけだよ。
>>72 実際に利用したらうまく動いてました。
表示するときだけ\がそのままついてくるんですね。ありがとうございました。
74 :
67 :2006/04/11(火) 07:44:30 ID:G5l/mI0v0
75 :
49 :2006/04/11(火) 17:13:18 ID:0fplQOS00
>>59 >>62 レスサンクスです
クロージャで調べてみたけど、よくわかんない
Rubyのブロックつきメソッド呼び出しみたいなものと理解したんだけどあってます?
>>60 ダメでした
>>63-64 ありがとうございます!
したかった通りの動作になりました
わからない関数を全部調べてみたけども、わかったようなわからないような…
多分、全くわかってません。
色々書き換えて試してみます。 がんばろう。
76 :
68 :2006/04/11(火) 17:45:51 ID:VZ+e9J/z0
>>74 おお、独自ビルドですかね?それとも、LISPの関数が見つかったとか。
とりあえず、タブの並び替えなど意図するような動作になりそうですか?
refresh-screen の &optional f って何の意味があるの。
outline-tree2便利に使わせてもらってます。作者さんありがとう。 作者さんここ見てるみたいなんで要望なんですが、defpackage するとき (:nicknames "olt2") みたいにニックネームをつけてくれないでしょうか? outline-tree2::hogeを短くできればいいなーと思ったのでよろしくお願いします。
縦にスクロールする場合、段差があるとガクガクして見づらいんですが、 これを回避する方法はないでしょうか。
81 :
79 :2006/04/12(水) 22:52:50 ID:tS5B03no0
>>80 その方法を使ってもマウスを使ったスクロールの場合等だめっぽいですね。
仕方ないので、バッファ内の最長桁に合わせてそれぞれの行末にスペース
を挿入してガクガクならないようにしました。
>>81 goal-column? を保存しなければ,ガクガクはしなくなると思います.
でも何列目にいるかを保存しなくなるけど.
>>77 nil と t と それ以外で挙動が違うけども,どう違うのかは
よく分からないです.ソースコード読んでとしか・・・
83 :
67 :2006/04/13(木) 01:51:44 ID:NSVR1/Np0
>>82 goal-columnを保存しないっていうのはどうすればいいんでしょうか?
>>84 ごめん適当言ってた。
下のがホイールを使ったスクロールの定義。
(defun mouse-wheel-scroll (window n lines)
(or lines
(setq lines (window-lines window)))
(with-selected-window
(set-window window)
(scroll-window (* n lines))))
詳しくはソースコード見ないと何ともいえないけど、
scroll-window の定義を変えると、マウスホイールと
スクロールバーによる移動のどちらも変わるんじゃないかと予想する。
でも変えたところで、カーソル位置はだんだんと左によって行っちゃう
ものになるから使いやすいかは知らない。
抜本的な対策は、xyzzy を修正&コンパイルのみだと思う。
# 元の定義を利用して、関数定義をしなおすライブラリって何だっけ?
誰かが作ってるfoldingらしきものは、使えるの?
>>83 見てまとめると
>>66 のは
・interactiveでset-bufferしないと駄目。
・(refresh-screen 1)がないと駄目。引数はt以外のnon-nilにしないと駄目。
ってことね。
下手にccのソースの話出されても混乱するだろ。
ccは俺にはさっぱりわからんが
refresh-screenはnilとtとそれ以外で処理が分かれてるのだけわかった。
ちがうnilとt以外のnon-nilとそれ以外か。ってまあいいやw
M-x life ってどう楽しむもの?ハノイみたいに見て楽しむの? 一応キーマップがあるんで何かできるのかな
> # 元の定義を利用して、関数定義をしなおすライブラリって何だっけ? encap
ファイルを開いた時点で
>>83 のバッファバーの並び替えを実行する
方法ってないものでしょうか?
>>91 (add-hook '*find-file-hooks* 'hoge) とか。
違和感あるなー。
ども。
>>78 > 作者さんここ見てるみたいなんで要望なんですが、defpackage するとき
> (:nicknames "olt2")
> みたいにニックネームをつけてくれないでしょうか?
> outline-tree2::hogeを短くできればいいなーと思ったのでよろしくお願いします。
ニックネームを付けた場合、ヒストリーファイルとの絡みで問題がありそうだ、
と過去に思ったことがあるような記憶があるので、ニックネームはつけません。
ニックネームをつけても問題はないかもしれません。
outline-tree2 のコードでニックネームをつける予定はありませんが、
outline-tree/defs.l の内容が評価される前に、ご自身で、ニックネームを
付けた outline-tree2 パッケージを定義すれば希望の設定が可能です。
というか興味がないだけだろう。
しかも本スレとこことほとんど住人同じなんじゃないの?
>>94 自分で作ってみればいいんじゃない?
移植ツールもあるよ。
>>96 そのせいでこっちでも LISP 書け、みたいな話でしょんぼり。
LISP 書けない奴がここで、
LISP 書ける奴が本スレ、という住み分けがいいなぁ。
>>98 そんな住み分けなんてできてないし、
lisp書けないやつが答えるスレがこっち
じゃないのか
C-s ^ すると >CALL STACK 5: (system:*byte-code ...) >CALL STACK 4: (editor::pickup-pattern-set #S(editor::pickup-pattern-item pattern "^" name nil foreground :default background :default bold :default underline :default strike-out :default regexp t) t t) >CALL STACK 3: (system:*byte-code ...) >CALL STACK 2: (#<lexical-closure: isearch-forward>) >CALL STACK 1: (command-execute isearch-forward) Quit でした
>>98 今までも「住み分けしよーぜ」と言う話はあったけど、結局ぐだぐだになってるんだよね。
質問する側は、その問題の解決に lisp が必要かどうかもわからないことが多いのに対し、
答える側はこっちのスレでも気にせず lisp コードを貼り付けるわけで。
で、それにつられて lisp に関する質問がこっちのスレでも増える、と。
んじゃ、テンプレにlispコードのレス禁止とか。 流量が多いわけでも無し、そもそも住み分けの必要性を感じないけど。
数行の Lisp で解決できることをわざわざ本スレに誘導するのは馬鹿っぽいと思うのだが。 もちろんコードだけ書くとかはどうかと思うけど。 使い分けはどっちかって言うと質問する側の Lisp に対する態度に依るんじゃね?
つられてlispに関する質問をするな、ということ。
オレのかわりにlisp書いて、という書き込みがスレ違いだということ。
lisp の質問をするのはいいと思うけど、 何かの質問に対して「lisp 書けば」という回答は ここでは相応しくないと思うのです(分からぬやしのスレなので)。 親切な人はそこで lisp を書くなり、別の方法を提示するなり、 スルーすればいいと思いました。
「Lisp 書けば」って、要は回答する側が乗り気じゃないってことでしょ? Lisp 書かなきゃダメそうだけど、めんどくさいとか時間がないとか。 それでも一応 Lisp を書けば解決できそうだという情報は提示してる。 それとも、分からぬやしに対して突き放しすぎなのが問題?
なにいったところで、基本は、なくて欲しいものは、自分でつくれ。だよ。 残りは、善意に甘えさせてもらうか、だね。
統合しちゃえば?
それがいいよね。
www-searchのツールバーのボタンを押すと 「初期化されていないメニューです」とエラーが出るんですが 何が悪いんでしょうか。
2, 3 スレ前は親切な lisp 書きが多かったけど、 最近はイヤ〜な奴が増えたなぁ。
そうか? ざっとこのスレ見たけど大体の質問には答えてるようだけど。 誰か移植してください、はともかくとして。
shell3 で、"bash -i"と設定し、 bashを使おうとしているのですが、 なぜかヒストリーと補完が使用できません。 一応、shell modeのプロンプトはbash-3.00$と表記されます。 cygwinでは使えるのに、 対策をご存知の方、 いらっしゃいましたら教えて頂けないでしょうか?
xyzzyをソースレベルで改造して使ってる人っているの?
>>116 過去にそんな書き込みあったね。
多色印刷をできるようにしました、っていうのがあったけど
そのときは再配布はまずいだろうということで公開しなかったと思う。
そろそろ、そういうのも公開してもらえないかなぁ・・・
ところで今、亀井さんに機能追加お願いメールを出しているんだけど、
忙しいのか、読んでないのか、実装中なのか。とにかく返事が返って
こないのでしょんぼり中。
Windowsプログラミング知らないんだけど、自分で xyzzy をコンパイル
してみる所から始めようかとも思う。
どこかにコンパイルする手順って載っているところあったっけ?
ttrem.l+cygtermで1年ぐらい使ってるけど快適だよ navi2chとscreenも入れればxyyzy内で暮らしていける
>>116 かな入力状態でも Alt + ... を効くようにしてる(というか Alt + タ
が来たらAlt + q に変換させるようにしている)。
>>117 自分は上のパッチを送ったが、なんの音沙汰もなし。おそらく自
分のコードがへちょかったのだろう…('A`)
121 :
114 :2006/04/18(火) 23:07:35 ID:FO1/5Zcj0
よく使う特定のディレクトリを別名で指定することってできますか? 例えばデスクトップにファイルを保存したい時 $desktop = c:/Documen~/username/デスクトップ として、ファイルを開く時に $desktop/foobar.txt で開けるようしたいです。
>>123 >>123 自分は、よく使うディレクトリをキーに割り当ててる。
x-key-macro も使っているので、 wikiから持ってきておいて、下のコードを追加。
;;-----------------------------------------------------------
;;.. minibuffer で補完時に固定文字列挿入
;; C-x C-f (ファイルを開く)時などにショートカットで固定文字列を挿入
;例では C-x C-f のときさらに C-s で ~xyzzy/site-lisp/ を挿入
;;... その他のディレクトリを設定
(defmacro set-dir-shortcut (key dir funname &optional (msg "") dir2 shift-key-funname (msg2 ""))
"ミニバッファでキーにディレクトリを割り当て."
`(when ,dir
(defun ,(intern funname) () (interactive "*") ,msg
(replace-directory-path-only ,dir))
,(if (and dir2 shift-key-funname)
`(progn
(defun ,(intern shift-key-funname) () (interactive "*") ,msg2
(replace-directory-path-only ,dir2))
(define-key minibuffer-local-completion-map ,key
(x-key-macro 16 (intern ,funname) (intern ,shift-key-funname)))
;(define-key minibuffer-local-map ,key (x-key-macro 16 ',(intern funname) ',(intern shift-key-funname))
;(define-key minibuffer-local-must-match-map ,key (x-key-macro 16 ',(intern funname) ',(intern shift-key-funname))))
)
C直下にデスクトップへのショートカットを置くのじゃダメか?
126 :
124 :2006/04/19(水) 07:58:52 ID:PGz4AC750
`(progn (define-key minibuffer-local-completion-map ,key ',(intern funname)) ;(define-key minibuffer-local-map ,key ',(intern funname)) ;(define-key minibuffer-local-must-match-map ,key ',(intern funname)) )))) ;;... directory settings (set-dir-shortcut #\C-\; (si:system-root) "@ home directory ") (set-dir-shortcut #\C-\l "c:/Documen~/username/デスクトップ" "@ desktop ") でどのキーに割り当てたか忘れるので、popup-mode-memo を導入して、次のようにも設定している。 (define-key minibuffer-local-map #\C-\F12 'popup-mode-memo) (define-key minibuffer-local-completion-map #\C-\F12 'popup-mode-memo) (define-key minibuffer-local-command-line-map #\C-\F12 'popup-mode-memo) (define-key minibuffer-local-must-match-map #\C-\F12 'popup-mode-memo)
ミニバッファのabbrev設定すればいいだけじゃん、 とか思ってやってみたがまったくだめだったorz
こんな感じかな (defvar *my-directory-list* `( ("site-lisp(&S)" . ,(append-trail-slash (merge-pathnames "site-lisp" (si:system-root)))) ("lisp(&L)" . ,(append-trail-slash (merge-pathnames "lisp" (si:system-root)))) ("desktop(&D)" . ,(append-trail-slash (map-backslash-to-slash (get-special-folder-location :desktop)))) )) (defun my-insert-directory-menu () (interactive) (if *my-directory-list* (let ((menu (create-popup-menu))) (dolist (l *my-directory-list*) (let ((menu-item (car l)) (dir (cdr l))) (add-menu-item menu nil menu-item #'(lambda () (interactive) (my-insert-directory dir))))) (track-popup-menu menu)) (plain-error "ディレクトリが設定されていません"))) (defun my-insert-directory (dir) (interactive) (delete-region (point-min) (point-max)) (insert dir)) (define-key minibuffer-local-map #\M-d 'my-insert-directory-menu) (define-key minibuffer-local-command-line-map #\M-d 'my-insert-directory-menu) (define-key minibuffer-local-completion-map #\M-d 'my-insert-directory-menu) (define-key minibuffer-local-must-match-map #\M-d 'my-insert-directory-menu) lisp 書くと怒られるのかな
>>125 ショートカットだとなぜかファイラが認識しない…と思ったら
ファイルタイプが*.lnkになってアイコンがフォルダじゃないだけなのね。
ただしミニバッファからfind-fileする場合
C:/hoge.lnk
な状態で
C:/hoge.link/fuga.txt
みたくしても読んでくれないな。(ファイラならOK)
Windowsの仕様か…
130 :
名無しさん@お腹いっぱい。 :2006/04/19(水) 16:25:00 ID:JOzI8rGC0
あなた達はなぜ普通に Emacs を使わないのでしょうか?
私たちには Emacs よりも xyzzy が使いやすいからです。
132 :
114 :2006/04/19(水) 22:42:11 ID:AcSId0Bg0
>>122 cygtermのmakeが出来なくて、
諦めそうにになったときに、
バイナリーを差しだしてくれるなんて、
ありがたいっす。
現在、設定が終り、
Bash上で補完と履歴を味わっています。
うーん、便利。
あなたはなぜ普通ではない Emacs を使うのでしょうか。
みんなへ この程度のことも分からない頭の人が 説明を受けても理解できるはずがないので説明不要です。
失礼な質問合戦が失礼なよびかけで終結しましたね。 めでたしめでたし。
diff-buffer.lを使いたいんだが見つからない。 どうしたらいい?
my-buffer-bar-context-menu.l で代用するか自分で作るしかないかな
138 :
123 :2006/04/22(土) 02:15:30 ID:bClzN6cS0
>>124 >>126 せっかく書いてもらったのに
wikiが落ちててx-key-macroが使えないので試せません…。
申し訳ないです
>>128 おおうっ、こんな事もできるんですね!
早速使わせてもらってます。
ありがとうございます!
正規表現について質問なんですが、 秀丸の\fみたいな後方参照を区切る書式ってない?
>>140 もちっと詳しく。
秀丸の〜とか言われても使ったことないからわからん。
具体例plz
>>141 すまそ
afd[HOGE]dsfe
みたいに、[HOGE]を挟んで先頭、末尾それぞれが1文字以上含んでいるときに
.+\f\[\fHOGE\f\].+ <-検索文字列
Start\0\2 <-置換後
てやって
StartafdHOGE
のように一部文字の削除、挿入をやりたいんだが、\fにあたる部分が分からなかった。
仕方ないので正規表現の時は他のエディタ使ってるんですが、xyzzy一本でできないかと疑問に思ったので。
144 :
名無しさん@お腹いっぱい。 :2006/04/22(土) 22:10:06 ID:mucpoc/r0
>>142 ,144
なんとか出来ました、これでxyzzy一本でいけそうです。
有難うございました。
howm-wrapのaction-lockを便利に使わせてもらっています 質問ですがhowm-init.lに (setq action-lock-default-rules (cons (action-lock-switch (adjoin "abs/" (directory (default-directory) :absolute t :file-only t :recursive nil ))) action-lock-default-rules)) としてもカレントバッファのパスじゃなくて、~/のパスしか返ってきません。 同じバッファでdefault-directoryをevalするとカレントバッファのパス が返ってきます。なぜ?
>>146 それを実行しているバッファと、カレントバッファが違うとか?
(setq action-lock-default-rules (cons '("abs/" (lambda (&optional dummy) (delete-region (match-beginning 0) (match-end 0)) (insert default-directory))) action-lock-default-rules))
いつの間にかC-x C-fをしたらファイラが起動するようになってしまった。 .xyzzy にも siteinit.l にも open-filerに関する記述を書いてないのに。 おまけに直ったと思ったら今度はhtmlがC-x C-fで開けなくなった。 もはや意味不明。
kamail v3で返信がうまくいかない。 bad addrと出て送信が失敗する。どうしたものか
>>150 "hoge.huga"@hoge.com
なんて風にくくってもダメ?というかどういうメアドで失敗するのか
例を出すと答えが分かる人が出てくるかも
バイトコンパイルってxyzzyの状態によって動作が変わるもんなんですか? 例えばtest.lに以下を書いて (add-hook 'ed::*view-mode-hook* '(lambda () (define-key ed::*view-mode-map* #\q 'hoge))) バイトコンパイルしtest.lcの中身を見ると (add-hook 'editor::*view-mode-hook* '(lambda nil (define-key editor::*view-mode-map* #\q 'hoge))) ってなりますが、バイトコンパイル前に M-x view-mode としてからバイトコンパイルすると (add-hook '*view-mode-hook* '(lambda nil (define-key *view-mode-map* #\q 'kill-buffer))) というふうに、ed::の部分が消えてしまいます。 他にもxyzzyの状態によって書きかわってしまうことってありますか? また、今は新規にxyzzyを起動してからバイトコンパイルして回避していますが、 それ以外に回避する方法ってありますか?
すいません 最後のkill-bufferのところは他と同様hogeとして読んでください
>>152 バイトコンパイル時に read してるみたいだから(compile.l の l.225)
影響が出るのは仕方ないような。
他で影響するのはマクロ呼び出しかな。
コンパイル時に定義されていれば展開される。
>>152 パッケージ修飾子をつけるんじゃなくて
(in-package "editor")の後に続くように書くというのが
一般的な回避法。
(eval-when (:compile-toplevel :load-toplevel :execute)
(require "viewmode"))
な感じでバイトコンパイル時にロードさせるという方法でも
大丈夫のはず。やったことないけど。
>>154 なるほど仕方ないっぽいですね。
>>155 他のパッケージを使用中のためed::と修飾子つけるので
in-pacakgeは使えなさそうです。
requireだとauto-loadしてる場合意味がなくなっちゃいますよね。
とりあえず、新規xyzzyを立ち上げてコンパイルして回避していこうと思います。
マクロのことも覚えておきたいと思います。ありがとうございました。
ed:: つけるんじゃなくて (intern "*view-mode-hook*" "ed") みたいにすると add-hook の場合は回避できそう。 ただし特殊形式に渡したい場合は使えないからいまいちかも。
ほんとだ。siteinit.l に書いた (add-hook 'ed::*lisp-mode-hook* ... は siteinit.lc では (add-hook '*lisp-mode-hook* ... となってた。 compile.l をみると add-hook の時に *package*(実行中のパッケージの値)がうまく取得できていないから 起こるバグのような気がするんだけどどうなんだろう。
>>156 > requireだとauto-loadしてる場合意味がなくなっちゃいますよね。
そうかな?
test.lをいつロードするかに依存するだけで、
必要なときにロードされるという意味ではautoloadと似たようなもんという感覚なんだけど。
ロードするのは大げさということなら同意。
他のパッケージを使用中ということなら、
そのパッケージがeditorパッケージをuseしている場合は
exportを先に済ませればよさそうな気がする。
useしていない場合はimportを使うのかな。
>>152 からの話題は本スレ向けな気がするが、それはさておき。
結局 export されたシンボルをパッケージ名なしで使える
というのが裏目に出ちゃうって事だろうから、
パッケージを強制するという意味なら
>>157 のやり方が一番確実な気はするけど、
> ただし特殊形式に渡したい場合は使えないからいまいちかも。
この辺よくわからないので教えて欲しい。
>>160 > > ただし特殊形式に渡したい場合は使えないからいまいちかも。
> この辺よくわからないので教えて欲しい。
(setq (intern ...) t) みたいなのは書けないってこと。
setq-default とかもだけど、それは set, set-default を使えばいいから
考えてみたらたいした問題ではないかもしれない。
pushnew あたりが使いたいこともたまにあるかもしれないけど、
defsetf を使えば何とかなるのかな?
>>162 こんなかんじかなぁ。
(add-hook '*init-app-menus-hook*
#'(lambda ()
(add-popup-menu *app-menu*
(define-popup-menu
(:item nil "2ch-mode (&2)..." '2ch)
(:item nil "www-mode (&w)..." 'www)
)
"MyMenu (&M)")))
164 :
162 :2006/04/27(木) 12:24:56 ID:VZg+88JY0
>>163 できました。
本当にありがとうございました!
感謝感謝です。
いつの間にかxyzzyでタグ打ってる人の数→スレがなくなってる。。 どなかたdatください うっかりweb制作フォルダ捨てちった。。
つ にくちゃんねる
それがにくちゃんねるにないんですよ みみずんでも途中までのログしかないし。。。
>>165 自分が持ってるやつをWikiにあげときました。
xyzzyの解説本が出てるらしいんですけど評判はどうでしょうか
素晴らしいの一言だと思いますが
英語版のバイナリ配布っていつから始まったの?
172 :
165 :2006/05/01(月) 10:33:47 ID:l8dqhN600
migemoの辞書が、上のやり方だと読み込めなくて下だと大丈夫です。 ~と表記するのはあきらめるしかないですかね。 (setq *migemo-dict-file* "~/migemo/dict_sjis/migemo-dict") (setq *migemo-dict-file* "f:/home/migemo/dict_sjis/migemo-dict")
追記。 環境変数は設定済み。
>>174 試してないけど。
(setq *migemo-dict-file* (merge-pathnames "migemo-dict" "~/migemo/dict_sjis"))
>175 出来ました。どうもありがとうございます。
一度xyzzyを使っていて、OS(XP)を再インストールしたので環境変数の設定をしたところ、 「バイトコードが壊れています」というエラーがでてxyzzyが起動することができませんでした。 再インストール前と同じ場所を指定しており、.xyzzyも変更していないのですが、 どの辺りに原因があるのでしょうか? 環境変数を設定せずに起動した場合は問題なく起動できました。 iniファイルでの[init]homeDirによる設定でも同じ エラーで落ちてしまいます。
xyzzy.wxp を削除してから起動したらどうなる?
grepみたいな感じでファイル検索って出来ますか? ファイラー使えば出来るっぽいですけど・・・
M-x から、grep-dialog デフォルトではキーバインドは無しらしい
>>179 削除してみたら
「/xyzzy/site-lisp/php-mode.lc: 19: 不正な文字です」
というエラーが出てしまったので、php-modeをロードしている箇所をコメントアウトして
同じように起動してみましたが、今度は先述の「バイトエラー〜」がでてしまうようになりました。
もうちょっと色々試してみます。
>>181 書き方が悪かったですね・・・
GREPみたいな表示のさせ方で、*.xlsとか、ファイルを探す方法です。
>>183 拡張子が xls のファイルをざっと出すって言うだけなら、
directory 使うか、 ファイラーのコマンドを ファイラーを介さずに
呼び出せばいいだけじゃないの。
まぁ自分で作る気はなさそうなので、これ以上は言わないけど。
outline-tree2でoutline-treeの終了にキーバインドを割り当てたいんですけど どんな関数よんだらいいんでしょうか? ちょくちょくC-RETを押してしまってoutline-treeがうざったいんですよね
>186 outline-tree2::outline-tree-delete かな。
すいません、あらかじめ設定した色設定を切り替えることってできますか? chiniっていうlispでできるかなと思ったんですが、再起動が必要みたいでした。 再起動なしで色設定の読み込みは出来ないのでしょうか?
chcolor.lかな
>>189 ありがとうございます。
これでうまく切り替えができそうです。
>>186 (defun toggle-outline-tree ()
"outline-tree: アウトラインツリーのトグル"
(interactive)
(if (outline-tree-exist-p)
(outline-tree-delete)
(progn
(outline-tree-create)
)))
(global-set-key '(#\C-c #\C-o) 'toggle-outline-tree)
こんなのを .outline-tree/config.l に書いておくとか。
>>185 目的はそんな感じです。
ファイラーコマンドは、ファイラを起動させてないとエラーが出たので・・・
directoryは良く分からないので、今から調べてみます。
>191 outline-tree.lにoutline-tree-toggle()ていうそのものずばりのがあった。
194 :
188 :2006/05/02(火) 17:17:51 ID:ueUvEK3f0
chcolor.lなんですが再起動すると元の設定に戻ってしまいます。 これを再起動しても設定を維持させるにはどうすればいいでしょうか?
(defun test () (interactive) (save-excursion (set-mark))) これ、マークが動いちゃうんですけど、どっか間違ってますか?
2ch の過去ログを 2ch-mode で読もうとするときにエラーが出てしまいます
もう2chには残ってなく, 過去ログ倉庫にはまだないログを
いろんな過去ログ保管庫から落としてきて, HTML形式からDATに変換
(htmltodat (
http://mukiyu.hp.infoseek.co.jp/ ) を使用)
M-x 2ch::thread-open-local-dat で読めるまではわかったのですが,
毎回指定するのはめんどうなので, 追っかけスレに追加しました.
でも, 追っかけスレ一覧から開こうとすると,
"Socket error .... Host not found" とエラーになって開けません.
「スレを過去ログにする」にしても同じでした.
どうすれば追っかけスレ一覧から読めるのでしょうか.
php-modeでswitch文書くと オートインデントがおかしくなるのはなぜ?仕様? たとえばこんな感じ switch($a) { case 1: $result = "1です"; case 2: $result = "2です"; default: $result = "でふぉると"; } caseの部分がかっこからはみ出してしまう。
>>199 switchなんか使うなという神からのお達し。
もしくは単なるバグ。
もしくは、お前が直せという暗黒神さまの御命令。
201 :
199 :2006/05/03(水) 19:15:26 ID:u1eFHQ3d0
203 :
196 :2006/05/04(木) 00:02:40 ID:MYkP1UUS0
>>198 ありがとうございます
ローカルdat を追っかけスレに追加すると, ドメインのデータが入らないのが
いけないんですね
> を追加。…もっと簡単な方法がないものか。
たしかにめんどうですね. 自動処理できないかと思ったんですが, DATファイルって
ドメインやスレタイトルのデータはついてないので, 少なくともそのへんは
手作業で追加してやらなればいけなそうですね
perlでヒアドキュメントを使った場合のインデントってperl-modeじゃやってくれないんですがどうにかならないでしょうか
>>204 ヒアドキュメントを使わない。
xyzzyを使わない。
perl-modeを自分で何とかする。
さあ、好きな方法を選べ。
どなたかpov-rayモードお持ちじゃないですか?
なんか本スレ並みに殺伐とした意見がw kamail v3 Toを編集出来ないのがつらい。追加ばかりじゃなくて、 間違えたら変更出来るようにならないかな
209 :
208 :2006/05/07(日) 23:19:14 ID:WvTROlU70
outline treeを使わせてもらっているんですが Tree表示部をUTF8に変更することはできますか? ハングルや中国語を表示させたいのです…。
>209 御親切にありがとうございます。 実はchez sugiさんのところで pov-mode.lzhをダウンロードしたのですが 書庫ではなく中味は空っぽでした それでお尋ねしたのですが。
たびたびスイマセン pov-mode.el使います。 お騒がせしました。
>213 送り先が一つなら問題ないけど、山ほどあるときはちょっと不便です
コメントとキーワードの背景色を設定したいのですが無理ですか?
Tab幅を32以上に設定することはできませんか? 何でそんな意味わからない設定にしたいかというと 単語 word みたいな感じで単語帳を作ろうとしていて この単語とwordの間のスペースをTab一発で入れたいんです 希望のTab幅は80程度です 何かいい解決策はないでしょうか?
csv-modeのダイアログで単語を入力しておいて、HTML変換、好みのスタイルをあてる じゃ駄目なの?
(defun tangocho-mode () (interactive) (text-mode) (local-set-key #\TAB 〜〜〜))
>>217 > 何かいい解決策はないでしょうか?
ようはwordが80桁で揃えばいいんでしょ。
こんな。
(setq *tab-stop-list* '(80))
(define-key *text-mode-map* #\TAB 'tab-to-tab-stop)
>>218 できれば編集中も距離をおいておきたいのです
>>219 〜〜〜の部分はどう入力すればいいんでしょうか…?
\t '(#\TAB #\TAB) "\t\t"等を試してみたのですが動きません
>>220 書き込み前に更新してませんでした…。
希望どおりの動作です
ありがとうございます!
text-mode全体に影響があるので
tangocho-modeの時だけ変えるように調べてみます
できましたー!
レスくれた
>>218-220 さんありがとうございました!
;単語帳mode
(defun tangocho-mode ()
(interactive)
(setq *tab-stop-list* '(64))
(local-set-key #\TAB 'tab-to-tab-stop))
>>224 (pop-window-pop "英和")
226 :
名無しさん@お腹いっぱい。 :2006/05/12(金) 00:25:54 ID:LM4ioNiL0
*scratch*を、終了時に保存、起動時に復元してよろこんでいました。 ある日、*scratch*をtext-modeにしたく思いました。 そこで、(setq *initial-buffer-mode* 'text-mode) という方法を学んだのですが、 これだと、終了時に「一個のバッファが変更されています・・・」 と出てしまいます。 このダイアログを出さないようにして、 起動時に*scratch*をtext-modeにしておく方法はないでしょうか。
(setq *initial-buffer-mode* '(lambda () (text-mode) (setq need-not-save t))) とかかな
skkで複数の辞書を使うにはどうしたらいいでしょうか .skkはこのようになっています。 (setq *skk-large-jisyo* "C:/Program Files/xyzzy/skk/SKK-JISYO.L") ;(setq *skk-large-jisyo* "C:/Program Files/xyzzy/skk/SKK-JISYO.assoc") ;(setq *skk-large-jisyo* "C:/Program Files/xyzzy/skk/SKK-JISYO.edict") ;(setq *skk-large-jisyo* "C:/Program Files/xyzzy/skk/SKK-JISYO.itaiji") skk.lの追加の記述がわかりません。 よろしくお願いします。
229 :
名無しさん@お腹いっぱい。 :2006/05/12(金) 14:09:16 ID:qRIZ3XVk0
>>227 できましたー(゚∀゚)
lambdaとneed-not-save使うのかー勉強になりました
>>228 *skk-search-prog-list*を書き換えるんじゃないですか?
ながれぶった切って恐縮ですが教えてください。 WikiにUSBメモリで使う方法が載っていますが、 XYZZYHOMEを環境変数に書き込まない方法(iniの編集)で使う envlnc.exeってどこにありますか? コメント欄で跡で削除、みたいな書き方がされていますが、 現状、環境変数に書き込まないで使うのは不可能なのでしょうか?
233 :
名無しさん@お腹いっぱい。 :2006/05/12(金) 15:10:40 ID:qRIZ3XVk0
>>231 おれは、xyzzy.bat作ってやってる
@echo off
set XYZZYHOME=なんとか
start xyzzy.exe
>>233-234 ありがとうございます!
おかげさまで設定・起動できました。
そこまで神経質になることでもないけど
他のエディタ同様、シングルユーザで使う限りは
環境変数を設定せずとも使えるバージョンも需要高いように思います。
>.236 なんと! 不勉強ですいません。 下のリンクの方、まさしく求めていた仕様です。 これでネカフェでも気にせず利用できます。 どうもありがとうございました。
238 :
名無しさん@お腹いっぱい。 :2006/05/12(金) 23:06:48 ID:LM4ioNiL0
>>230 この部分ですよね?
いろいろ試してみたんですけどダメでした。
251行目
(defvar *skk-search-prog-list*
'(
(j-search-kakutei-jisyo-file *skk-kakutei-jisyo* 10000 t)
(j-search-jisyo-file *skk-initial-search-jisyo* 10000 t)
(j-search-jisyo-file *skk-jisyo* 0 t)
(j-okuri-search)
(j-search-jisyo-file *skk-large-jisyo* 10000)
*(j-search-jisyo-file *skk-large-jisyo* "~/skk/SKK-JISYO.L")
*(j-search-jisyo-file *skk-large-jisyo* "~/skk/SKK-JISYO.assoc")
(j-search-server *skk-aux-large-jisyo* 10000)
)
*書き足した部分です。
単独だと切りかえても読み込みますが。
不正なデータ型です。"/skk/SKK-JISYO.assoc":real
のエラーがでます。
Meadowの解説ページでは
(setq skk-search-prog-list
'((skk-search-kakutei-jisyo-file skk-kakutei-jisyo 10000 t)
(skk-search-jisyo-file skk-initial-search-jisyo 10000 t)
(skk-search-jisyo-file skk-jisyo 0 t)
(skk-search-jisyo-file skk-large-jisyo 10000)
*(skk-search-jisyo-file "~/dic/SKK-JISYO.2ch" 10000)
))
*足す部分
どこが間違っているのでしょうか?
>>239 *skk-large-jisyo*にSKK-JISYO.Lが設定してあるとして、
たとえばこんな感じでどうでしょう。
(setq *skk-search-prog-list*
'((j-search-kakutei-jisyo-file *skk-kakutei-jisyo* 10000 t)
(j-search-jisyo-file *skk-initial-search-jisyo* 10000 t)
(j-search-jisyo-file *skk-jisyo* 0 t)
(j-okuri-search)
(j-search-jisyo-file *skk-large-jisyo* 10000)
(j-search-jisyo-file "~/skk/SKK-JISYO.assoc" 10000) ;; <-
(j-search-server *skk-aux-large-jisyo* 10000)))
>>240 うまくいきました。
5時間程試行錯誤で
諦めて合体を試みるところでした。
ありがとうございました。
xml-mode で guess-tag を設定したい壇けどどうやればいいの?
>242 xhtml-guess-list ならサンプルを提示できるけど
244 :
242 :2006/05/14(日) 20:08:39 ID:xolAz0t00
>>243 どうも。 xhtml の場合だと、そういう変数が用意されているし、 html+-mode
にもあったけど、 素の xml-mode だと見つからなかったんで質問したんですよね。
でも *xml-doctypes* のとこに書いてありました。
ありがとうございました。
245 :
名無しさん@お腹いっぱい。 :2006/05/14(日) 20:18:04 ID:bSX8M3Y+0
新規作成をCtrl+Nに割り当てたいんだけど、どうかけばいいんでしょ。
246 :
名無しさん@お腹いっぱい。 :2006/05/14(日) 20:19:18 ID:bSX8M3Y+0
(global-set-key #\C-n 'new-file) これか。 .xyzzyに書いてあったのに、なぜかコメントアウトされてたw
すみませんが、ちょっと教えてください。 しばらくxyzzyを使っているのですが、今一戸惑っている点が一つ。 最近使ったファイル、検索や置換などの「履歴」を「保存しない」、 もしくは「終了時に履歴を自動消去」する事はできないでしょうか? esc,esc…云々以外に何か良い方法があればご教示願いたく。
>>247 > 最近使ったファイル、検索や置換などの「履歴」を「保存しない」、
> もしくは「終了時に履歴を自動消去」する事はできないでしょうか?
[共通設定]→[いろいろ]の「保存するヒストリの個数」を0にするでいけるのでは。
試してないけど。
>>247 結果的には同じなのかもしれないだけど、一応そういうための変数として
*minibuffer-enable-add-to-menu* があって、
(setq *minibuffer-enable-add-to-menu* nil)
とすれば保存しなくなる。
c++(cpp)のインデントがうまくいかなくて困ってる。.xyzzyには以下のように記述してあるんだけど、 タブ幅が2文字分にしかならない・・・orz(ちなみに、cだとちゃんと4文字幅のタブになってる) (define-key ed::*c-mode-map* #\tab 'self-insert-command) (define-key ed::*c++-mode-map* #\tab 'self-insert-command) (setq *c-tab-always-indent* nil) (setq *c-indent-tabs-mode* t) (setq *c-comment-c++-style* t) (setq *c++-tab-always-indent* nil) (setq *c++-indent-tabs-mode* t) (setq c-indent-level 4) (setq c-continued-statement-offset 4) (setq c-argdecl-indent 4) (setq c-brace-offset -4) (setq c-brace-imaginary-offset 0) (setq c-label-offset -4) (setq c++-indent-level 4) (setq c++-continued-statement-offset 4) (setq c++-argdecl-indent 4) (setq c++-brace-offset -4) (setq c++-brace-imaginary-offset 0) (setq c++-label-offset -4) \→半角バックスラッシュ(半角¥) ちゃんとxyzzy.wxpを削除して再起動しなおしてるんだけど・・・ 何か足りないor間違ってるところあるのかな? それとも仕様? (検索するにも.xyzzyだとxyzzyでしかヒットしなくて途方に・・・)
>>251 俺はこれを.xyzzyに書いて4文字幅のタブにしてる。どこから拾ったかは忘れた。
;; TAB だぁー! TAB 持ってこいー!
(setq *c-indent-tabs-mode* t)
(setq c-indent-level 4)
(add-hook '*c-mode-hook #'(lambda () (set-tab-columns 4 (selected-buffer))))
(setq *c++-indent-tabs-mode* t)
(setq c++-indent-level 4)
(add-hook '*c++-mode-hook* #'(lambda () (set-tab-columns 4 (selected-buffer))))
(setq c++-continued-statement-offset 0)
(setq c++-label-offset -4)
みんな ed:: が必要なんでないの?
exportされているから良いんでない。 ちなみに*c-mode-hook*ね。
255 :
251 :2006/05/17(水) 10:58:02 ID:hwDX47cd0
結局、siteinit.lに各インデント記述して、 バイトコンパイルしなおしたらできました。 .xyzzyだけじゃだめなのか・・・
どういうことなのか、よくわからんな もしかして .xyzzy.lc が存在してたとか?
>>255 .xyzzyをHOMEディレクトリにおいてないんじゃないか。
異なるモードで共通のインデント幅を使用している場合に 各々のモードでのインデント幅を変更するには どうしたらいいんでしょうか? たとえばc-modeとphp-modeではともに c-indent-levelを使用してますが、 これをc-modeでは4に、php-modeでは2に という具合です。
(add-hook 'hoge-mode '(lambda () (make-local-variable 'c-indent-level) (setq c-indent-level 4))
上下のカーソル移動を 表示行単位にするのって ある?
262 :
名無しさん@お腹いっぱい。 :2006/05/18(木) 13:12:01 ID:WktQXHwn0
>>261 (global-set-key #\hogehoge 'previous-virtual-line)
(global-set-key #\hogehoge 'next-virtual-line)
ってこと?
バッファ一覧をメニューバーに追加するスクリプト、どなたかご存知ないですか。
コンテキストメニューでよければ bufmenu.l 。 これを適当に改造したらメニューバーに出せるのではないでしょうか。
ども。
>>210 > outline treeを使わせてもらっているんですが
> Tree表示部をUTF8に変更することはできますか?
> ハングルや中国語を表示させたいのです…。
(require "treeview/setup")
(require "treeview/unicode")
を試してみてください。
うまくいった/いかないなども教えていただければ。
>>265 レスありがとうございます。
早速、試してみました。
はじめ豆腐が出てきてしまったので
"Microsoft Sans Serif"にフォント変更したら上手く行きました。
中国簡体、ハングル、キリル、ウムラウトの4つで確認しました。
シェシェ!カムサハムニダ!スパシーバ!ダンケシェーン!
特に何もしてないんですが ファイルが見つかりません: "junk/http" というエラーがでて起動できなくなってしまいました。 誰か理由の分かる人いますか?
junk/httpを求められてるのになにもしてないわけがない。 Netinstallerで今まで入れたものの設定見直してみれ。 特にJunk Scriptsからいただいてきたものあたり。
>>268 どうやらrss-modeがおかしくなっていたようです。
どうもありがとうございました。
win版のスレが880でdat落ちしちゃった pc8全体がなんかおかしいらしい とりあえず保守
ん? 普通に881が書き込まれてるようだが
ありゃ、復帰してるね さっきはひどかったんだ、のきなみdat落ち(に見えた)
タブをBackspaceで消そうとすると半角スペースになって 空白分Backspace押す羽目になるんですが 一発でタブを消せるようにする方法って内でしょうか?
>>273 lisp-modeとかc-modeとかでのキーマップでのC-hのキーバインドを解除すればよい。
lispなら
(undefine-key *lisp-mode-map* #\C-h)
(undefine-key *lisp-interaction-mode-map* #\C-h)
c-modeなら
(undefine-key *c-mode-map* #\C-h)
*nantoka-mode-map*の名前はモードが書かれている.lファイルを覗いて探す。
あるいは↓みたいにすればたいていのモードでタブを丸ごと消せるようになる。
ただしこれは標準機能を書き換えてるので、ひょっとすると何かの副作用があるかも。
(defun ed::backward-delete-char-untabify-or-selection (&optional (n 1))
(interactive "*p")
(delete-backward-char-or-selection n))
>>274 > (defun ed::backward-delete-char-untabify-or-selection (&optional (n 1))
> (interactive "*p")
> (delete-backward-char-or-selection n))
これはよくないでしょ。
(define-key hoge-map #\C-h 'delete-backward-char-or-selection) とか、
あと M-^ や C-a C-k とか場合に応じて使い分ける事でタイプ数は減らせると思う。
276 :
名無しさん@お腹いっぱい。 :2006/05/21(日) 16:59:15 ID:m23fPcjC0
ん?
278 :
名無しさん@お腹いっぱい。 :2006/05/22(月) 01:40:23 ID:rkJx5cnL0
ちょっとわがままな希望なんですが、聞くだけ聞いてください。 現在、scratchを終了時に保存し、起動時に復元しています。 しかし、xyzzyか、OSが不正終了しないか、不安です。 そこで、保存操作(今は、#\C-Sでやってます)で、 scratchを終了時の保存のように上書き保存したいのですが、 どのようにしたらよいでしょうか。
>>278 > そこで、保存操作(今は、#\C-Sでやってます)で、
> scratchを終了時の保存のように上書き保存したいのですが、
> どのようにしたらよいでしょうか。
ファイル名とかいろいろ不明でよく分かりませんが、
勘でこういうこと?
(add-hook '*after-save-buffer-hook*
#'(lambda ()
(save-excursion
(set-buffer (find-buffer "*scratch*"))
(write-file "~/scratch"))))
280 :
278 :2006/05/22(月) 02:06:58 ID:rkJx5cnL0
なんか適当にやったらできちゃった ; C-Sでscratch保存 (define-key ed::*text-mode-map* '(#\C-s) #'(lambda () (interactive) (if (equal "*scratch*" (buffer-name (selected-buffer))) (write-file "~/scratch") (save-buffer-dialog))))
281 :
278 :2006/05/22(月) 02:07:28 ID:rkJx5cnL0
282 :
名無しさん@お腹いっぱい。 :2006/05/22(月) 17:59:19 ID:OL0V4DXY0
jbbs なら otherbbs でみれるでしょ?
>>282 extra_board.txt に記述すれば見られるようになります。
extra_board.txt にコメントアウトされているものしか記述されていない場合、
("追加板群" (("ラーメン二郎" "jbbs.livedoor.jp" "/sports/" nil "20390")) nil)
と追記すれば追加板群カテゴリが現れてそこから見られるようになると思います。
286 :
282 :2006/05/23(火) 12:39:28 ID:Wa+3Cmaa0
>>284 ありがとうございます。
extra_board.txt に、その一行を追加したところ、右側に『追加板群』という
表示はされたのですが、読もう(展開しようと)とすると
Status 404 のダイアログが表示されてしまいます…
何が悪いんでしょうか?
>>285 eval-after-load は前にちょっとだけ考えたんだけど
あまりきれいな書き換えは思いつかなかったなあ
;; ここから
(load "skk")
(define-key skk-j-mode-map sticky-key sticky-map)
;(define-key skk-jisx0208-latin-mode-map sticky-key sticky-map)
;(define-key skk-abbrev-mode-map sticky-key sticky-map)))
;; ここまでを ~/site-lisp/sticky-skk.l あたりに保存
で、設定の "skk" を "sticky-skk" に書き換えるとか?
>>288 出来ました。
これでMSIMEと訣別出来ます。
どなた様もありがとうございました。
>>286 >右側に『追加板群』という表示はされたのですが
これは板一覧に [追加板群] という行が追加されたということですよね?
右側というのがわからないのですが…左側の間違いですか?
>読もう(展開しようと)とすると
というのは、
[追加板群]
と書かれた所で Enter を押したということですか?普通そこで
404 のダイヤログが出ることはないと思うのですが…
それとも、[追加板群] を押して、その下に現れた
ラーメン二郎
のところで Enter を押したら 404 のダイヤログが出たということ
ですか?その場合、
>>282 に書かれている URL は Web ブラウザで
見られますか?自分の環境では問題なくスレ一覧が見られるので、
Web ブラウザでその URL が見られるにもかかわらず 2ch-mode で
見られないということはちょっと考え辛いのですが…。
それとも、手動で追っかけスレにスレを追加して、それを見ようと
していますか?その場合、extra_board.txt は存在してもしなくて
も関係ありません。追加した部分に誤りがないか確認してみてくだ
さい。
(global-set-key #\F9 'describe-bindings)とかやっておいて、 M-xしてからF9を押すとミニバッファのバインドが出てくるわけですが、 ミニバッファを抜けてもM-x:てのが消えずに残ってしまいます。 xyzzyを再起動する以外に消す方法はないでしょうか。 (clear-minibuffer-message)ではだめでした。
>292 消えた! どうもありがとうございます。
outline-tree2でバッファを選択したときタイトルバーとバッファタブを 更新させたいのですが、そういう設定ってありますか? なければどこかしらに(refresh-screen 1)を入れれば可能だと思うんですが、 どこに入れればいいのか見当もつきません。 もし、わかる方がいれば教えて下さい。
295 :
282 = 286 :2006/05/24(水) 12:37:10 ID:TcdjqDZ50
>>290 丁寧なレス、感謝します。
> 右側というのがわからないのですが…左側の間違いですか?
ゴメンナサイ、左の間違いです…orz
> それとも、[追加板群] を押して、その下に現れた
> ラーメン二郎
> のところで Enter を押したら 404 のダイヤログが出たということ
そうです。紛らわしい書き方で申し訳ありません。
しかし、ブラウザでは普通に見れます。
proxy経由なのですが、これが何か関係しますでしょうか?
ご存知かもしれませんが、2ch-mode をプロキシを使用するようにするには、 ; PROXY のホスト (setq www::*www-proxy-host* "your.proxy.server") ; PROXY のポート (setq www::*www-proxy-port* 8080) みたいに config.l に追記すればOKなはずです。ただし、この場合、2ch-mode を 使用した後は www-mode もプロキシを使用する設定になり続けるので、 www-mode も単体で使っている場合は一応気をつけてください。
298 :
295 :2006/05/25(木) 12:29:31 ID:P6GCu3AD0
>>296 ありがとうございます。
datファイルのURL、ブラウザで見れます。
2ch-modeで普通に2chやまちBBSは見れてるので、プロキシ設定は問題ないと思います。
以前教えていただいたextra_board.txtを書き換えるのでしょうか?
>>298 ブラウザ+プロキシ接続でdatファイルのデータは読める
2ch-mode+プロキシ接続では見られない
ということですか?
ブラウザでアクセスできる同じ URL、同じプロキシサーバで
2ch-mode では接続できない…となると、ちょっと自分ではわからないです…すみません。
>以前教えていただいたextra_board.txtを書き換えるのでしょうか?
?
これは何についての話ですか?プロキシ設定についての話ではないですよね?
リストの削除について質問です。 (setq hoge '((1 2 3) (3 2 1))) (delete (car hoge) hoge) =>((3 2 1)) (delete (car hoge) hoge) =>nil となり、hoge は nil になると思ったんですが、hogeを評価すると hoge =>((3 2 1)) という結果になりました。delete単体では最後の値は消せないんでしょうか? 今はsetqを使って回避しています。
>>300 多分消せない。setqを使うのが正解。
>>301 即答ありがとうございます。
setq を使ってこうと思います。
となると、removeとdeleteのどちらを使ってもかわりませんよね?
setqを使う場合はremoveを使ったほうがいいとかあるのかな?
>>300 リファレンスで「破壊的」とか「副作用がある」とか書かれている関数は
リストをうまい具合に変更することはない。
本当に破壊しちゃったり副作用があるだけ。
setqしないといけない。
なんでdeleteなんてものが存在しているのかというと
リストを保つ必要がなけりゃremoveより処理が速いから。
304 :
名無しさん@お腹いっぱい。 :2006/05/27(土) 01:55:40 ID:KmSv/+R20
うえーーーーん。 outlinexをバージョンアップしたら、 ; ウィンドウ位置を左に (1: 左側, -1: 右側, 0: 上側) (setq *outlinex-default-position* 1) で、アウトラインが左側に表示できなくなってしまいました・・・。 ソースを見たら、*outlinex-default-position*という設定はなくなっちゃてるようです。 誰か昔のソース持ってませんか?
>>304 作者に聞いてみるのがいいんじゃないの?
ひょっとしたら、 別の名前になってるだけかもしれないし。
モードラインやステータスバーに表示させるカーソル位置の桁数を 表示桁ではなく、論理桁?で表示させる方法ってありますか? 「行番号は表示行」の設定をオフにしているのですが、 桁の表示だけ表示上のままなのが気になったので。
>>306 モードラインなら↓でできた気がする。
format文やらなんやらの使い方よくわかんね。
プロポーショナルフォントだから半角スペース埋めただけじゃ綺麗に整わないみたいだし全然ダメ。
(defun my-mode-line-positon ()
(let ((string (format nil "~9,' D:~A"
(current-line-number)
(1+ (current-column)))))
(concat string (make-sequence 'string (- 19 (length string)) :initial-element #\SPC))))
(defun set-my-mode-line ()
(setq mode-line-format (format nil "--%*- %b (%M) [%k:%l] ~A %f" (my-mode-line-positon))))
(add-hook '*post-command-hook* 'set-my-mode-line)
>>307 おおっ、できました。
ありがたく使わせていただきます。
309 :
名無しさん@お腹いっぱい。 :2006/05/28(日) 01:40:21 ID:mGrDhBT00
2ch-mode で書き込めなくなったら .2ch/config.l に (defun form-format-post-vars (name email body bbs &key key subject) (let ((post
ども。
>>294 > outline-tree2でバッファを選択したときタイトルバーとバッファタブを
> 更新させたいのですが、そういう設定ってありますか?
> なければどこかしらに(refresh-screen 1)を入れれば可能だと思うんですが、
> どこに入れればいいのか見当もつきません。
> もし、わかる方がいれば教えて下さい。
そうしようと、そこそこ試した記憶がありますが、できていません。
できたらおしえてください。
>>310 タイトルバーについては多分こんなじゃないでしょうか?
(defun outline-tree-set-buffer-by-node (&optional node)
(treeview::with-app (*outline-tree-app-id*)
(unless node
(setq node (outline-tree-get-selected-node)))
(setq node (outline-tree-get-buffer-node-by-node node))
(let ((window-list (mapcar 'car (caddr (current-window-configuration))))
(buffer (outline-tree-get-buffer-by-node node))
(current-window (selected-window)))
(when (and (windowp *outline-tree-target-window*)
(not (eq *outline-tree-target-window* (selected-window)))
(not (minibuffer-window-p *outline-tree-target-window*))
(member *outline-tree-target-window* window-list))
(set-window *outline-tree-target-window*))
(set-buffer buffer)
(set-window current-window))
(winapi:InvalidateRect (get-window-handle) 0 1)
(winapi:UpdateWindow (get-window-handle))
(refresh-screen)
(refresh-title-bar))) ;+
こちら(
http://white.s151.xrea.com/wiki/index.php?memo%2Fxyzzy%2FOutline-tree2 )
も面白いと思いました。
312 :
311 :2006/05/28(日) 11:00:55 ID:kDKWCN0j0
バッファタブについても 上の (refresh-screen) を (refresh-screen 1) に変更すればいけるようです。
315 :
名無しさん@お腹いっぱい。 :2006/05/28(日) 15:43:01 ID:tgMe+fSk0
kamail3をインストールしたのですが、 な設定で
316 :
名無しさん@お腹いっぱい。 :2006/05/28(日) 15:48:42 ID:tgMe+fSk0
kamail3をインストールしたのですが、 "g"キーでfetchすると、「login nil error」ダイアログが出て、 メールをpop3で取ってくることができません。 .kamail3/config.lのpop3の設定は、 (setq *fetch-config-list* (list (cons *fetch-pop3-type* (make-fetchpop3 :host "127.0.0.1" :port 110 :user "test_user" :pass "test_password" :keep t)) )) で、pop3のテスト用に、netcatで127.0.0.1のポート110をリスンして見張っているのですが、 "g"を押しても、接続しに来る気配すらありません。 system-root/site-lisp/kamail3/fetch-pop3.lを見て、「login 〜 error」の部分を見つけたのですが、 ここで、原因追求が行きづまってしまいました。 いまのところ、kamail/importでインポートしたメールを、Queryして読むことはできています。
>>203 遅レスですが、
・追加したいdatファイルを、その板のdatフォルダに移動する。
(例)ソフトウェア板のdatファイルなら、
(C:/xyzzy/).2ch/pc7.2ch.net/software/dat/ に移動。
・2ch-modeでその板のスレタイ一覧を開きlを押して、先ほど移動したdatを一度開く。
・追っかけに追加して、過去ログにする。
とすれば直接ファイルを編集する必要はないです、が、手間は大して変わらないかも。
319 :
298 :2006/05/29(月) 13:10:39 ID:kAVomtVE0
>>299 亀レスすいません。
> ブラウザ+プロキシ接続でdatファイルのデータは読める
> 2ch-mode+プロキシ接続では見られない
> ということですか?
そうです。
> >以前教えていただいたextra_board.txtを書き換えるのでしょうか?
> ?
> これは何についての話ですか?プロキシ設定についての話ではないですよね?
>>284 と同じ方ではないのですね、失礼しました。
>>284 で最初に教えていただいた内容です。
>>296 で何か勘違いをされていたように感じたので、もしかして
>>284 での
内容も何か変わってくるのかな、と思いましたので…
そうですか、お手上げですか…何とかならないですかねぇ…?
>>319 >
>>284 と同じ方ではないのですね、失礼しました。
>
>>284 で最初に教えていただいた内容です。
いえ、同じ人です。
>
>>296 で何か勘違いをされていたように感じたので、もしかして
>>284 での
>内容も何か変わってくるのかな、と思いましたので…
なるほど、プロキシを使うようにしたら extra_borad.txt も変えないと
いけないかもしれないと思ったわけですね。
その必要はないです。特に変更しなくても動く…はずなんだけどなぁ…
>そうですか、お手上げですか…何とかならないですかねぇ…?
だれかへるぷみ〜('A`)
後は…そういえばスレ一覧取得をやってなかったですね。
板一覧で Enter を押して 404 だったらこちらを試さなきゃいけなかった。
http://jbbs.livedoor.jp/sports/20390/subject.txt これはスレ一覧の URL なんですが、これはブラウザでプロキシ越しに…とれますよね、やっぱり…。
他は othrebbs 以外の 2ch-mode に関する修正や拡張は全て外して試してみるとか
(otherbbs で修正している関数を元々の関数定義で再定義してしまっている可能性)、
横取り丸や ethereal でパケットキャプチャしてどういうリクエストが実際に発生しているのか
調べるとか…くらいでしょうか…
otherbbs.l の 2068 行目辺りに、
(if read-cgi-p
(progn
(setq url (board-url-cgi-data host path))
(http-get-thread url
file
force))
(progn
(setq url (board-url-data host path bbs))
(msgbox "~A" url) ;←この行を追記
#|
(http-get url
file
force
のように1行追記して、板一覧のラーメン二郎の板の所で
Enter を押すと、スレ一覧の URL が出ると思うのですが、
これは
>>320 に書かれた URL と一致しますか?
322 :
319 :2006/05/30(火) 12:59:57 ID:2IwwwtG00
>>320 >
http://jbbs.livedoor.jp/sports/20390/subject.txt > これはスレ一覧の URL なんですが、これはブラウザでプロキシ越しに…とれますよね、やっぱり…。
とれますね…
基本的に2ch-modeはデフォでotherbbsを入れてるくらいなのですが…
>>321 > (msgbox "~A" url) ;←この行を追記
> Enter を押すと、スレ一覧の URL が出ると思うのですが、
> これは
>>320 に書かれた URL と一致しますか?
一致しないですね。20390が抜けて
http://jbbs.livedoor.jp/sports/subject.txt となります。
extra_board.txtの書き方は
>>284 そのままです。
> otherbbs.l の 2068 行目辺りに、
少し気になるのが、上記部分、1733行目からになってて
行番号が全然違うのですが古いバージョンかな?
ファイル先頭の履歴の最新コメントは
;(2004/02/12 *thread-fgcolor-anchor* を設定することで、
>>1 のような数字アンカーに色をつけられるようにした。
; Part5 の 389 さんありがとうございます…m(__)m)
となってますけど、これは古い??
データ修正をするスクリプトがあったので、もしよろしければ使ってみてください。
ただし、動くかどうかわかりません(´・ω・`)
データが壊れたりする危険性もあると思うので、バックアップは忘れないようにしてください。
http://home.t04.itscom.net/poi/2ch_mode_enhance/file_convert_scripts.lzh 解凍してできたファイルのうち、replace_shitaraba_url.l がしたらばのドメイン名変更
に関する修正をデータに行うもので、convert_otherbbs_dat.l がIDフォーマットに関する
仕様変更に伴う修正をデータに対して行うものです。使用する場合はしたらばのドメイン変更の修正
の方を先に実行してください。その場合、すでに jbbs.livedoor.jp ディレクトリ
が ~/.2ch にあるとエラーになるので注意してください(今まで jbbs.livedoor.jp にある
スレは見られなかったわけなので、恐らく意味のあるデータはそのディレクトリには
存在していないと思います。一応それを確認した後に削除するということでいいので
はないでしょうか)
なんかキタ━━━━━━m9( ゚∀゚)━━━━━━!!
326 :
322 :2006/05/31(水) 13:40:01 ID:eTMF0CtJ0
>>323 > それだぁ〜!!
見れたぁ〜!!
ありがとうございます!!
まさかバージョンがあがってるなんてorz
もうしわけございませんでした。
2ch-mode本体は、作者様のページの
2ch-0.0.1.2 (2003/07/06 05:24:37)
から変更ないのですよね? たぶん…
> 履歴を見るとわかると思うのですが、最新版を使えるようにするには
> データを少し手で修正しなければならないです。お手数をおかけしますが、
データは要らなければ全部消しちゃっても構わないのですよね?
そのほうが安全かな、と。
これで快適な2chライフ?になりそうです。
涙でそうにうれしいです…
本当にありがとうございました!!!
マウスの 第4・第5ボタンに関数を設定するのって、どうやるんだった?
テキストファイルでカンマが二個以上続いたらその行の、そこから後を削除するにはどうしたらいいでしょう? たとえば 3.2.1 ○○ .....................5 3.2.2 □□ .....................6 ↓ 3.2.1 ○○ 3.2.2 □□ こんな感じです
>>331 何処にカンマがあるのかと小(ry
例のデータは間違っていないとして、
M-x query-replace-regexp
query replace from: \.\..*
with: なし
メニューの 検索 > 文字列の置換 で、正規表現にチェックして同じように
入力してもいい気がする。
333 :
329 :2006/06/01(木) 22:10:18 ID:y1LOIKKs0
>>330 サンクス。 ここにあったのかぁ。
> [ヘルプ]-[最近入力したキー]で確認できると思う。
こっちもどうも。長い事使ってるけど知らなかった。
>>332 > 例のデータは間違っていないとして、
> M-x query-replace-regexp
> query replace from: \.\..*
> with: なし
> メニューの 検索 > 文字列の置換 で、正規表現にチェックして同じように
> 入力してもいい気がする。
おぉ素晴らしいです!ありがとうございます。
正規表現とは便利なものですね
337 :
名無しさん@お腹いっぱい。 :2006/06/07(水) 02:50:44 ID:4yJ2tu/N0
開いているバッファをすべてインデントするlispがほしくて、 コピペで (defun indent-all-buffer () (interactive) (dolist (buf (buffer-list)) (switch-to-buffer buf) (indent-region (point-min) (point-max)) )) とかやってみたんですが駄目でした。分かる方がいらしたらお願いします。
>> 338 エラーが出て駄目ってことならきっとこんな感じ。 (defun indent-all-buffer () (interactive) (dolist (buf (buffer-list)) (set-buffer buf) (when mode-specific-indent-command (indent-region (point-min) (point-max)))))
できました!ありがとうございます。
>>341 PDSだったので改造したものをそこにおいてきた。
(format-drive #\c t)してもいい?
>>342 ありがとうございます
ただ、タブを消した時に再描画が呼ばれてないようでした。
自分で修正できるかと思って渡来してみましたが
コンパイルさえできませんでした…。orz
エラーメッセージ:
Error E2453 buffer-bar-mc-hook.c 98:
Size of the type 'void' is unknown or zero in function EnumChildProc
環境:
Windows2000 SP4
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
スレ違いかと思いましたが、何か解決のヒントを教えて頂けませんか
なぜ int i をHANDLE型にして使えるのかを調べてるところで挫折しました…。
345 :
342 :2006/06/10(土) 14:00:16 ID:vU/OzBIQ0
>>344 ごめんなさい。lispの側でrefresh-screenしてるから要らないと思って
再描画の所を削ってた。自分の環境だと再描画されてたので
見逃してたみたい。また置いてきたので試してみてください。
;; Wikiの古いファイルは消せないのね…
そのコンパイルエラーの個所は酷いな。
3つめの引数全体をキャストするといいのかな。
そのコンパイラは持ってないので直ったかどうかはわからないけど。
>>347 キーワードをカラー表示させたいんだが
どうすればできる?
ググってもよくわからない(>_<)
349 :
名無しさん@お腹いっぱい。 :2006/06/11(日) 22:17:26 ID:of1C/1TQ0
なんかすごい多機能&使いやすそうにみえるのに(ファイラーとかも) 難しくて解らないよーーーー わーーー
>>349 慣れればキーボードだけで済むのがすごく便利だと思うよ
がんばれー
未だに手が勝手に矢印キーの方へ行ってしまう俺は負け組。
>>351 無理にあわせる必要はない
自分の好きなように使うんだ
カーソルキーマンドクセって思うようになった時にでも
切り替えるなり、カスタマイズなりすればいい
html+mode の時、 Ctrl+x で切り取りにする方法を教えて下さい。 他の形式を開くときは gates が機能しています。
>>354 たぶんこんなの
(add-hook 'ed:*html+-mode-hook*
(lambda ()
(undefine-key *html+-mode-map* #\C-x)))
356 :
341 :2006/06/13(火) 04:41:22 ID:jckWeJhc0
>>345 再描画できました、コンパイルもOKです!
357 :
名無しさん@お腹いっぱい。 :2006/06/14(水) 12:50:09 ID:14YyOIv/0
MS UI Gothicがフォントの設定のところに表示されないのですが、選べないのでしょうか? ver0.2.2.235をWindowsXPで使っています 2ch-modeの時にAAが綺麗に表示されるので出来れば使いたいです
359 :
357 :2006/06/14(水) 20:06:51 ID:KBHDyna00
>>358 レスありがとうございます、環境のせいじゃなくてよかったです
さっそく導入してみたのですが、 パッケージが存在しません:"2ch"と出て先に進めません
2ch-mode入れなおしたり.xyzzy.history削除してみたりしたのですが、何かほかに必要なんでしょうか?
>>359 設定は ~/.2ch/config.l に書いた?
おしえてください。 ファイラでファイル削除するときにカーソルの位置を キープしたいんですが、どうすれば良いのでしょうか。
362 :
357 :2006/06/14(水) 21:37:56 ID:KBHDyna00
>>360 すいません言葉足らずでした
config.lに設定を書き足してバイトコンパイルし直すと上のエラーが出ます
364 :
361 :2006/06/15(木) 00:33:30 ID:IxrF7K+X0
>>363 おおぉーすばらしいっす。
ありがとうございます。
>>362 エラーが出るタイミングは?
M-x 2ch としたとき、みたいな感じで具体的に頼みます
366 :
357 :2006/06/15(木) 12:38:33 ID:Ymf0zuHV0
>>365 2ch-dialog.lと2ch-dialog.lcをsite-lispフォルダにコピーした後
~/.2ch/config.l の一番下の行に (require "2ch-dialog") を書き加えて上書きして
xyzzyを起動して M-x byte-compile-file :config.l とすると
小窓で 「パッケージが存在しません: "2ch"」 とエラーメッセージが表示されます
と言った状況です、この状態でM-x 2ch としてスレバッファ上で z と入力しても書込み禁止と言われます
>>366 ああ、コンパイルするときにエラーが出るのか。納得。
それならバイトコンパイルする前に 2ch-mode を起動しておくといいのでは?
368 :
357 :2006/06/15(木) 13:00:11 ID:Ymf0zuHV0
>>367 今度は確かにコンパイルできました、どうもありがとうございました
ああ、AAが綺麗だ…
置き換えを実行したあと、置き換えた文字列を強調表示させることってできませんか?
いつ、その強調表示を解除しますか?
>>370 もう一度置き換えするまででいいと思います。後はinteractiveに解除させる
コマンドがあれば自由に設定できると思います。
(pickup-pattern使用時は*show-match-hook*にadd-hookする等)
2ch-modeで過去ログ(例えばこのスレのpart1)を読み込むと激しく文字化けします どうすれば見られるようになるでしょうか
373 :
372 :2006/06/17(土) 20:42:46 ID:k5G8OrHg0
自己解決しますた スレ汚しごめんなさい
何が原因だったのか書いといてくれよー
375 :
372 :2006/06/17(土) 22:09:19 ID:k5G8OrHg0
文字化けではなく、gzipを入れてなかっただけでした
376 :
名無しさん@お腹いっぱい。 :2006/06/18(日) 23:54:17 ID:6mfEjU1w0
g:\bin\xyzzy\xyzzy.exeがあるとすると、(si:system-root)だと"g:\bin\xyzzy\"を得ることが 出来ますが、そこからもうひとつ下の"g:\bin\"を得たいんですがどうすればいいんでしょうか?
こうかな? (directory-namestring (remove-trail-slash (si:system-root)))
>>377 ホントに助かりました。ありがとうございます。
すみません教えて下さい .xyzzy で実行パスを追加するのは どのように記述したらよいのでしょうか? ロードパスの追加ならわかったのですが 実行パスの追加方法は調べても見つかりませんでした
実行パス ってなに?
>>379 xyzzy では実行パスは Windows の環境変数 PATH を使うんじゃない?
環境変数を取り出すことなら si:getenv でできるけど、
lisp で追加や変更できるかどうかは知らない。
perl-modeで予約語を色づけだけでなく、太字にする方法はあるでしょうか。 またスカラー変数、配列、ハッシュの色づけはできますか?
384 :
名無しさん@お腹いっぱい。 :2006/06/19(月) 22:54:12 ID:UX9GGsuJ0
圧縮ファイルについて教えてください。 『について』をみると UNLHA32.DLL UNZIP32.DLL と表示されます。 しかしファイラーでは .zip のファイルしか表示されません。 .lzh のファイルを表示するにはどうしたらよいのでしょうか。
385 :
名無しさん@お腹いっぱい。 :2006/06/19(月) 22:57:36 ID:I51uESWZ0
アyタyだsfyだsふいおやすいったtttttttったやたt−−−−−−−−−−−−−−
386 :
名無しさん@お腹いっぱい。 :2006/06/20(火) 12:17:30 ID:cv2DOdat0
kamailで添付ファイルを保存するパスってどこかで設定できましたっけ? なんか、マシンによって違うんですが、自分で設定した記憶がなく…
>>383 できました
本当にありがとうございました
>>386 Kamail なら~/KaMail/.kamailに
(setq *kamail-attach-save-directory* "なんとか")
KamailV3 なら~/.kamail3/config.lに
(setq *message-attachment-directory* "かんとか")
なんとか かんとか の部分にディレクトリのパスをどぞ。
389 :
384 :2006/06/20(火) 17:43:12 ID:hSVjXjoM0
自己解決いたしました。 何も知らないで申し訳ありませんでした。
何が原因だったのか書いといてくれよー
KamailV3で送信メールを見るにはどうすればいいですか? 検索でfrom:自分のアドレス とすれば見られるんですが、 e押してsentを選んでも見られません。 config.lで何か設定したりする必要があるのでしょうか?
>>391 送信済メールを保存する設定になってないとか?
393 :
391 :2006/06/21(水) 18:04:27 ID:21gArbzI0
>>392 ありがとうございます。
そんな設定どこもに書いて…と思ったら、
config.l.sampleに設定項目が増えてたのね…。
初期にconfig.l.sampleをコピペして、
それをずっと使ってたから気づかなかった orz
入門xyzzy購入記念保守
browserexでcgiを実行するにはどうすればいいでしょうか? 例えばcgiファイルを開いている時に、C-c xでbrowserexを立ち上げcgiを実行するという感じです。
Webブラウザ(IE等)のアドレスバーに入力すると正常に動作する URI を "hoge" とすると、(bx::navigate "hoge") を評価すれば 同様に動作します。 どのようにして文字列 "hoge" を作るかということであれば、 環境に合わせて適当に文字列処理する必要があります。
397 :
名無しさん@お腹いっぱい。 :2006/06/26(月) 22:02:26 ID:t4IPU0Oc0
CalMemoの検索が重たくなって参りました。 何かよい方法はございませんか?
398 :
395 :2006/06/27(火) 03:16:50 ID:WdumBCVy0
>>396 (defvar *local-host-name* "
http://127.0.0.1/cgi-bin/ ")
(defun show-cgi ()
(interactive)
(let ((filename (get-buffer-file-name (selected-buffer))))
(if (string-equal (pathname-type filename) "cgi")
(bx::navigate
(concat (append-trail-slash *local-host-name*)
(file-namestring filename)))
(message "cgi ではありません"))))
お答えありがとうございます。
しかし自力では良くわからなかったので、色々検索したらこんなの見つけました。
これだとlocal-host-nameが固定されてしまって、そのフォルダにあるcgiファイルしか実行できません
これをcgiファイルがあるディレクトリを取得する設定にするにはどうすればいいでしょうか?
calmemoでc-c . .でメモ取る時にたまにxyzzyが固まってて、 なんでだろうと思ってたけど、やっと再現方法が分かった。 * memo: hoge [EOF] だと大丈夫で、 * memo: hoge[EOF] だと固まってしまう。 何か対策してる人いない??
>>400 そんなことしたら既存の xyzzy のライブラリが全滅じゃないか
>>400 > >xyzzyでは文字列の置換などに正規表現を使用することができますが、
> >Perlなどが採用 している拡張正規表現ではなく、
> >基本正規表現を採用しているので注意が必要です。
> とありますが、DLL入れ替えなどで簡単に拡張正規表現には変更できないのでしょうか?
バッファを対象とする scan-buffer は(性能的にも)難しいと思いますが、
ある文字列に対して拡張正規表現でなにかする関数を書くのは簡単だと思いますよ。
単に、書くことに対する十分なメリットを見出せないのでやらないだけでしょう。
> 素人考えでどこかから既存の物をパクってきたらできそうな気がするんですが
> ないって事はやっぱり難しい物なんでしょうか?
やってみたらよいのではないでしょうか。
気軽に言うとソースいじってビルトイン関数作っちゃえばいいんでは。
PCRE を持ってきて、別の名前で使えるようにすればいいんじゃないの。 今なら鬼車とかいいかも。
確かに鬼車はよさそう。 xyzzyの正規表現は前方、後方参照及び否定ができるようになれば満足。
>>402 完全に頭から抜け落ちてました
>>403 どう手をつけたらいいかすら見当もつきません
ワールドカップで「そこはシュートだろ!」と叫んでる人と同程度に素人です
すいません。
欲しいならば調べるのがいいのではないでしょうか。 現時点でない理由はまさに、調べたり作ったりするぐらいならいらない、という理由だと思いますよ。
いやみしか言えないのは見苦しいですよ 教えられないのなら、スルーしましょうね
>>407 search関係のlispを参考に
外部dllに渡す処理をかけばいい
>ワールドカップで「そこはシュートだろ!」と叫んでる人と同程度に素人です
このたとえがよく分からんが
lispが読めないなら
lispの勉強が先
>>409 嫌みではないとおもうぞ
少しは素直にアドバイス聞いて
自分で調べる癖をつけたほうが
自分のため
>>407 謝る必要は全くありません。
>>407 >>409 欲しくもなく、作ってみたくもないならば作る必要はないですよね。
欲しいか、作りたいなら、調べるなりなんなりして作ればいい、
ただそれだけのことでしょう。
欲しいけど、調べたくもなく作りたくもない、という場合は、
どうにかして他人を動かさなければなりませんね。
412 :
400 :2006/06/29(木) 07:42:29 ID:y9g9IN7V0
>>408 はい。まさに2行目の情報が欲しかったのです
>>410 ヒントありがとうございます。
>>411 はい。その通りだと思います
自分でしたいことが自分でできるように精進します
413 :
名無しさん@お腹いっぱい。 :2006/06/29(木) 12:34:41 ID:7Kr6PBkI0
c-modeでの、C-c q でコメントアウトについてです。 例えば if (xxx) { yyy = 0; /* clear */ } というif文全体をコメントアウトしたくて このif文全体をリージョン指定してC-c qすると、 3行目の『/* clear */』でコメント範囲が終わってしまうのは 何とかなりませんか?
>>413 C-c q でのコメントアウトってのは標準じゃないと思うのですが、
どういう関数ですか?
ファイルを開くときの文字コード判定に失敗した場合、みなさんどのようにして 文字コード指定されてますか? wikiにも載っていないようですし、いくつか試してみたのですが これというものがありません。 (1)ローカル設定で文字コード指定 化けた文字はそのまま (2)change-fileio-encodingから指定 (1)と同じ( (1)の内部処理がこれ?) (3)ファイル-開く 目的のファイル(バッファ)を閉じておかないと変わらない (4)閉じてから(3) フォルダがxyzzyや他のバッファのものになるので、フォルダを追うのが大変 とりあえずは(4)に、「あらかじめ同じフォルダのファイルを開いておく」を 追加してごまかしていますが、IEのソース表示で判定失敗したときは げんなりしてしまいます。
すいません、軽いテキストブラウザ(タブが使える)が欲しくて xyzzy + www-mode + 2ch-mode を使おうと色々試してみたのですが まず、makefile.lをwww-makeするところで詰まってます。 ホント初歩的なところだと思うのですが、このmakeをするためには 他の拡張機能を先に入れないといけないのでしょうか? また、netinstallerに対応していれば、あわせて教えていただければ助かります。
>>416 ありがとうございます。
なるほど、C-x C-vなら同一ファイルだろうと開き直せて、さらにC-uで
修飾するとオプション指定できるようになるんですね。
ただIE連携のケースですと、ファイル名の"l50[1]"などが正規表現を含むと
見なされてしまうためか、ファイラが(しかも目的のファイルが表示
されない状態で)開かれてしまいました。
これは"l50*"と書き換えてからファイラで選択する、という形で
回避しようと思います。
l50\\[1\\]か"l50\[1\] 正規表現に使われてる記号は\マークをつけて
420 :
418 :2006/06/29(木) 15:59:20 ID:GFhQ48b40
すいません、さっきの今ですが、質問はスルーしてください。 どうやら、make出来ていたようです、本当に失礼しました。
>>413 comment.l を入れてるのかな。
c++-mode なら // でコメントアウトしてくれると思うけど、それじゃダメ?
>>419 試してみたのですが、
c:\]
というファイルを開く動作になってしまいました。
こちらのミスかもしれないので、確認してみていただけますか?
423 :
413 :2006/06/29(木) 17:16:10 ID:7Kr6PBkI0
>>414 , 421
大変失礼しました。comment.l を入れてます。
// でのコメントアウトではコンパイラに怒られるのでダメなんです。。。
/* */ のネストができないのは仕様だからなー。 comment.l で対応できるかどうか知らないけど、#if 0 ... #endif ならネストもできる。
>>418 [ツール]-[共通設定]-[さまざま] の
「[...] はワイルドカード」のチェックをはずす。
>>423 >>424 の言うとおり
>>413 の現象は xyzzy じゃなくて c 言語の仕様(だよね?)。
comment.l で
>>424 の案を使うなら、こんなのを .xyzzy に書けばOKだと思う。
ちなみに色付けはされないのであしからず。
(push '(ed::c-mode " * " "#if 0\n" "\n#endif")
comment-mode-alist)
>>425 このような設定があったのですね。
l50[1]のようなファイルもそのまま指定できるようになりました。
ありがとうございます。
429 :
413 :2006/06/30(金) 15:39:42 ID:QUF5WlBP0
>>424 , 426, 427
ちょっと説明が足りないようでした。
希望は
/*
* /* comment */
*
*/
のようにコメントアウトしてしまうのを
/*
/* /* comment */
/*
/*
*/
のようにできればいいと思うのですが・・・
>>429 > ちょっと説明が足りないようでした。
説明が足りないというより、ありませんでした。
それならば comment.l の標準カスタマイズの範囲です。
変数 comment-mode-alist の DOCSTRING を確認してください。
(push '(ed::c-mode "/* " "/* " "\n */")
comment-mode-alist)
ファイラで種類順に表示する方法はありますか?
>>431 なさそうだけど、 そういうときは ピリオド(.) を入力して、
Maskを指定したらなんとかならない?
ステータスバーの文字列をLispで読み取る方法ってあるんでしょうか
>>433 messageで出力されるものを横取りしたいのなら、
前もって*status-stream*を乗っ取っておくとか。
(setq *status-window*
(make-broadcast-stream
*status-window*
(make-buffer-stream (find-buffer "*scratch*"))))
他にはEnumChildWindowsしてハンドルつかんで(ry
>>434 そうなんですか(・ω・`)
>>435 それの上のとか、message関数をのっとったりしてみたんですが
マイルドにされたエラーの分が読み取れないみたいなんです。
>>436 >
>>435 > それの上のとか、message関数をのっとったりしてみたんですが
> マイルドにされたエラーの分が読み取れないみたいなんです。
意図が分からないけど、toggle-trace-on-error しても
マイルドにされたエラーの分のスタックトレースが表示されないって事?
エラーなら、handler-case でキャッチして si:*condition-string で
エラーの文字列取得して、改めてエラーを投げても OK
>>436 ざっとしか見てないので間違えてるかもしれないけど、
lprint.cc の print_condition 〜 putmsg の辺りによると、
マイルドのメッセージは app.status_window.puts で
直接書いてるみたいなので、434さんの言う通りおそらくむり。
>>432 種類順というか、拡張子順で理想の並び順になりました
リサーチ不足でした
440 :
429 :2006/07/03(月) 15:39:01 ID:4YtW3pQT0
>>430 ありがとうございました。
教えていただいたのを.xyzzyに書いてもダメだったので、comment.lの
冒頭でc-modeでのcomment-mode-alistを定義している部分を
直接書き換えてうまくいきました。
これはどこに記述すればよかったんですかね?
>>440 .xyzzy に書いてOK。ていうか普通は元ファイルは書き換えない。
autoload 設定にしてるなら *comment-after-load-hook* にでも引っ掛けるべし。
正規表現で
「
http:// 」で始まらず、「.html」で終わる文字列
にマッチさせるにはどうすればいいでしょうか。
何で正規表現スレで聞かないの?
xyzzyの正規表現でできるのかと思ったからです。 でも、よく考えたらxyzzyである必要はないので、 正規表現のスレで聞いてみます。
>>442 全く確認せずに書くけど、GGrepでできない?
>>445 できると思いますが、マッチした文字列を置換したいのでggrepは
使えないです。
447 :
442 :2006/07/04(火) 17:20:12 ID:0Q2uRfWp0
解決しました。Perlで書くことができました。
lisp-modeでの(hoge "hoge|#")やc-modeでの{hoge "hoge*/"}等 set-syntax-end-multi-commentで定義されてる文字列だけ(#|や/*がない) が括弧内にあるとparenやgoto-matched-parenthesisができなくなるんですが、 回避方法ってありますか?
すいません、例が間違ってました。""で囲ってない場合でした。 実際はjavascript-modeで問題が発生しました。 string.replace(/width=[0-9%]*/g,""); 上記の用に/*が入ってしまいそこを含む箇所のparen等ができなくなってしまい ました。
度々すいません、"/*"の部分は"*/"の間違いです。
syntax の multi-comment を使わない、しかないんじゃないかなあと思います。 その上で複数行コメントをハイライトしたいなら text-attribute を使って頑張るとか。 ruby-mode がそれに近いことをやっていた気がします。 あとは (set-syntax-math *hoge-mode-syntax-table* #\/) ……は駄目そうだな。 そもそも javascript で / を構文要素にしちゃうのはまずいか。
452 :
440 :2006/07/05(水) 12:22:54 ID:LGO3DTSB0
>>441 教えて君ですいません。
.xyzzyに書くとcomment-mode-alist変数が定義されていない旨のエラーが出てしまいます。
> autoload 設定にしてるなら *comment-after-load-hook* にでも引っ掛けるべし。
これがよくわからないのですが…どうすればよいのでしょうか?
autoloadはしてます。
set-syntax-string も試してみましたが multi-comment に含まれるcharは 設定できないようでした。 やはり multi-comment を使わずに text-attribute でハイライトさせるしか ないですかね。
454 :
448 :2006/07/05(水) 14:30:03 ID:BdZ1NAE80
正規表現キワードリストでなんとか回避できそうです。 失礼しました。
skkにまだ慣れてないせいか誤字脱字が orz
>>454 正規表現キーワードは、マッチできる最大長が256文字?
なので、 paren を直したほうがいいよ。
>>456 そんな制限があるとは知りませんでした。。。
paren を直すといっても、goto-matched-parenthesis が上手く作動しない
以上難しそうです。
paren を直すという意味がわかりました。 なんとかなりそうです。
>>452 フック変数について勉強してみてください。
メジャーモードを起動したときなどに実行される関数を格納する変数です。
(add-hook '*comment-after-load-hook*
#'(lambda ()
(push '(ed::c-mode "/* " "/* " "\n */")
comment-mode-alist)))
kamailV3でテキストの添付ファイルを送信すると 改行コードがCRLFからLFのみに変わっちゃうんですけど、皆さんそんなことはないですか? PNGファイルを添付して送信した場合は、受信側では「ファイルが壊れています」言われて表示できませんでした。
彼女が次から次にできる拡張Lispを作ることは可能ですか?
462 :
名無しさん@お腹いっぱい。 :2006/07/14(金) 20:11:36 ID:ty7T0B4e0
>>461 可能ですが、使いこなすのは難しいでしょう。
readme よんで howm インストールしてもできやしねえ。
編集後の行番号の色を変えられるような設定はないでしょうか?
どこかでやってたような気はするけど……どこだったかな
www-modeで開いていたページも、xyzzy終了後に復元できないでしょうか?
>>469 なにか、そういう設定を考えて書かなければ、できません。
471 :
469 :2006/07/16(日) 18:14:36 ID:rdWODPTQ0
>>470 そうでしたか…
レスありがとうございます
全モードでオートインデントを無効にしたいです
>>474 それだけじゃ情報が少なすぎるよ〜
いつ(何をしたら)バッファが変更できなくなったか、何かエラーが出ているのかなど詳しく書いて
buffer-bar-click-to-deleteだけど、ダンプファイル(XYZZY.wxpみたいな奴)の削除をして再起動した?
siteinit.lcってファイルがあるならバイトコンパイルも必要(siteinit.lcを削除しても可)
476 :
474 :2006/07/20(木) 13:38:03 ID:I8QBtg5j0
>>475 情報少なくてすみませんm(_ _)m
今週に入ってから、バッファがマウスで変更出来ないことに気付きました。
このところ弄っていないので、何が原因がわからないです。
あとxyzzyをダウンロードし直して、上書きしてもだめでした。
エラーはどこにでるんですか?
バイトコンパイルはShit+Ctrlを押しながら起動したので、しました。
上の問題で出来ないのかな?
>>476 buffer-bar-click-to-deleteが悪さしてんじゃね?
消して再ダンプしてみたらどうだろう。
478 :
474 :2006/07/20(木) 14:04:22 ID:I8QBtg5j0
lispフォルダの内容を全部ダウンロードして、上書きしたら直りました。 原因は不明ですwwwwww
あるメジャーモードでスクリプトを実行するときに、選択したリージョンやカーソルのある現在の行のスクリプトだけを実行したい場合、lispでどう書けば良いのでしょう?
>>480 >リージョン
eval-region
>カーソルのある現在の行のスクリプト
行頭と行末のポイントで eval-region とか?
>>481-483 スクリプトって lisp?
それなら C-x C-e (eval-last-sexp) もいいけど、
javascript とか ruby なのかと思った。
javascriptなら jscript-mode が使えるのかも。
calcで三角関数を使用した場合に演算結果をdegree(°)で 出力したいんですけど、何か設定がありますか? いまは、こんなの作って変換しているんですけど面倒くさいんす。 (defun calc-rad2deg (n) (check-type n float) (/ (* n 180) calc::pi)) (setf (symbol-function 'calc::rad2deg) #'calc-rad2deg)
>>484 lispではない。
RというS言語クローンのスクリプトなんだが、今あるのでは、バッファ全体で実行しかできないので、部分的に実行がしたいんだ。
487 :
名無しさん@お腹いっぱい。 :2006/07/23(日) 11:45:36 ID:HOiOh4WS0
部分を一時バッファにコピー→一時バッファを実行→一時バッファ削除
>>487 それをナローイングせずに一発で出来ると最高なんだけど・・・
現在,カーソルがあるとこだけ実行とか。
Cとかrubyとかのモードでそんなのあります?
perlしか使ったことないので,いまいち よーわからん
perlには そんな機能ないんだが。
あつは夏い
>>488 487 の意味を理解していないと思われ。
具体的な状況を詳しく書いて、自分で考えたコードをさらさないと、
487 のようなレスしかつけようがないよ。
>>488 > それをナローイングせずに一発で出来ると最高なんだけど・・・
> 現在,カーソルがあるとこだけ実行とか。
人がナローイングするのと同じ範囲を決定する関数or具体的な方針を
書いてくれれば、他は誰でも書ける部分。
あなたが考える「カーソルがあるとこ」の範囲の決定方法は?
つか、自分で書けよ。 と言いたい。
怠慢な質問でスマソ 「カーソルがあるとこ」というのは、カーソルがある場所の行で その行のスクリプトだけを実行したいということ。関連するスクリプトは以下。 勝手な想像でselected-buffer辺りを変えてやればできないのかと、甘い考えを持っていたわけで (defun runR () "実行" (interactive) (let (command comstr (bufname "*Run R*") (buffer (selected-buffer)) (file (get-buffer-file-name))) (setq command (concat "Rterm --no-save -q < \"" file "\"")) (when (and command (setq comstr (read-string "% " :default command))) (pop-to-buffer (get-buffer-create bufname) -15) (setq need-not-save t) (execute-shell-command comstr nil bufname) (end-of-buffer) (pop-to-buffer buffer)))) 完全なトウシロリスパー故、見当違いかもしれんが、何か方法あれば・・・
gtags.lはいまは手に入らないのでしょうか。 gtagを使うために仕方無くmeadowを使っているのですが、重くて。。。
>>493 一時ファイルを作って実行させればよいのでは。
(defun foo ()
(let (b e str f)
(save-excursion
(goto-bol)
(setq b (point))
(goto-eol)
(setq e (point))
(setq str (buffer-substring b e)))
(setq f (make-temp-file-name))
(with-open-file (s f :direction :output)
(format s "~A" str))
(execute-shell-command (concat "Rterm --no-save -q < \"" f "\"")
nil "*Run R*")
・・・・・・・・
(delete-file f)
))
みたいにして。
>>493 「カーソルがある場所の行」が行頭から行末までなら
1 goto-bolしてpointの値をどっかにおいておく
2 goto-eolしてpointの値をどっかにおいておく
3 buffer-substringに2つの値を渡す
で487の言う「部分」を取得できるけど、
あなたがやりたい動作が「行頭からカーソル位置まで」や、
「カーソル位置から行末まで」ならまた違ったコードを書かないといけないだろう?
さらに、行頭や行末に複数行にまたがったコメントやらがあって、
それも考慮するならもうちょっと複雑になるだろう?
他にもその言語ならではの仕様があったりするかもしれないだろう?
だから490が
>具体的な状況を詳しく
と、491が
>範囲を決定する関数or具体的な方針を書いてくれれば
>あなたが考える「カーソルがあるとこ」の範囲の決定方法は?
といっている。
あと、execute-shell-commandでファイルの名前を渡すようにするなら、
一時バッファだけじゃなく、一時ファイルも必要になるんじゃないか?
>>497 見逃していました。
ありがとうございます。
499 :
395 :2006/07/25(火) 12:10:53 ID:vhScjnLc0
>>399 ちょっと自力では無理でした。
php用のものを見つけたので、perl用に直したらできるようになりました
(in-package "editor")
(defun perl-cgi-view ()
(define-key *perl-mode-map* '(#\C-c #\p #\p)
#'(lambda ()
(interactive)
(let ((url (get-buffer-file-name)))
(setf url (substitute-string url "c:/cgi/" "
http://localhost/ " :case-fold t))
(bx:navigate url)
(bx:browserex-set-focus-editor)
))))
(add-hook '*perl-mode-hook* 'perl-cgi-view)
(in-package "user")
二度のお答えありがとうございました
>>495 表現が乏しかった。スマソ
んで、495氏のを参考に突っ込んでみた。
(defun adeam ()
(interactive)
(let (b e str f)
(save-excursion
(goto-bol)
(setq b (point))
(goto-eol)
(setq e (point))
(setq str (buffer-substring b e)))
(setq f (make-temp-file-name))
(with-open-file (s f :direction :output)
(format s "~A" str))
(execute-shell-command (concat "Rterm --no-save -q < \"" f "\"")
nil "adeam")
)
(delete-file f))
んが 変数fが定義されていませんとエラーがでて setfとかも試してみたがうまくいかない。
make-temp-file-nameの使い方がまずいんだろうか?
>>500 カッコの位置が変。
(defun adeam ()
(interactive)
(let (b e str f)
(save-excursion
(goto-bol)
(setq b (point))
(goto-eol)
(setq e (point))
(setq str (buffer-substring b e)))
(setq f (make-temp-file-name))
(with-open-file (s f :direction :output)
(format s "~A" str))
(execute-shell-command (concat "Rterm --no-save -q < \"" f "\"")
nil "adeam")
(delete-file f)))
二つ目のscratchバッファを開く方法はありませんか?
(defun make-scratch () (interactive) (set-buffer (create-new-buffer "*scratch*")) (lisp-interaction-mode)) M-x lisp-interaction-mode するだけでもいいかも
browser.dll使ってhtml+-mode以外のときにプレビューすることは可能ですか? RSSモードなんかでwwwモードでプレビューしてから画像表示もさせたいんですが
横方向はオプションで設定できるけど、 クロスラインカーソルって実現できるのかな?
defvar-local された他バッファの変数に set-buffer せずにアクセスする方法ってないんですか?
509 :
名無しさん@お腹いっぱい。 :2006/07/29(土) 22:03:45 ID:jmGAIX9T0
>>226 をやって、*scratch*を保存するようにしていたんですが・・・・
ある日、*scratch*の内容がバッサリ消えていました orz
バックアップをとっていたからよかったものの、冷や汗かきました。
どうやら、*scratch*バッファを閉じた状態でxyzzyを終了すると、
前回にアクティブになっていたバッファを保存するようです。
*scratch*バッファを閉じられないようにできないでしょうか。
もしくは、終了時に閉じていても大丈夫なようにできないでしょうか。
たぶん、これが悪さをしていそうなのですが
(add-hook '*kill-xyzzy-hook*
#'(lambda ()
(set-buffer (find-buffer "*scratch*"))
(write-file "~/scratch")))
(add-hook '*kill-xyzzy-hook* #'(lambda () (let ((buffer (find-buffer "*scratch*"))) (if buffer (set-buffer buffer) (write-file "~/scratch"))))) // set-buffer はなぜ常に t を返すんだろうか
私はワンキーで保存してhowmのメモに放り込んで、scratchで検索とか している
あ、510 は *scracth* が無かったら保存しないように改造したやつ。
>>510 (add-hook '*kill-xyzzy-hook*
#'(lambda ()
(let ((buffer (find-buffer "*scratch*")))
(when buffer
(set-buffer buffer)
(write-file "~/scratch")))))
これで、うまくいきました
if だと buffer = nilのときに、保存しちゃうので・・・
あとは、*scratch*が閉じられないようにしないと・・・
おおうしまった >if だと buffer = nilのときに、保存しちゃうので・・・
>>506 > 横方向はオプションで設定できるけど、
> クロスラインカーソルって実現できるのかな?
できません。
>>505 > browser.dll使ってhtml+-mode以外のときにプレビューすることは可能ですか?
可能です。
browser.dll は特定のモードに依存していません。
> RSSモードなんかでwwwモードでプレビューしてから画像表示もさせたいんですが
wwwモードでプレビューしてから、という部分がよくわかりませんが、
最近の RSS モードは browser.dll で表示できますね。
lispの勉強にJavaのコンパイル、実行をする物を作ろうとしたんですが 出だしから躓いてしまっています。 下のスクリプトを動かすと*java-arg*が未定義だと怒られてしまいます。 " -encoding utf-8 "を concatの引数部分に直接書けばコンパイルは行えました。 何がいけないんでしょうか? それと実行したときに *cmd* バッファを分割されてできた新しいウィンドウに表示したいのですが どの関数を使えば良いんでしょうか…。 (defvar *java-prog* "javac") (defvar *java-arg* " -encoding utf-8 ") (defvar *script-directory* "c:\\java\\Hoge.java") (with-output-to-temp-buffer ("*cmd*" 5) (make-process (concat *java-prog* *java-arg* *script-directory*)))
スレ違い。 lisp書く場合は本スレへ。
そもそも JavaTinyConsole でできる気がする・・・
>>519 すいません移動します
>>520 JavaTinyConsoleだとコンパイル時に固まる事が多発したので
簡易的なものを自分で書いてみようと思いました。
>>521 JavaTinyConsoleの該当部分を見ればなんとなく分からないかなぁ
まぁ移動したみたいだからいいか
>>524 ありがとうございます。
とりあえず、コピーライトを取得してみようとして
(eval-when (:compile-toplevel :load-toplevel :execute)
(require "foreign"))
(c:define-dll-entry
c:string copyright () "onig.dll" "onig_copyright")
として(copyright)を実行してみたんですが、数桁の数字しか取得できませんでした。
xyzzyでのdllの扱い方を間違ってるのかもしれませんが、wiki等にも情報が
少なくよくわかりませんでした。
これを文字列としてコピーライトを取得するにはどうすればいいのでしょうか?
>>525 こうかな?
コピーライトの文字列長が取得できるなら、1024の所を入れ替えればおk
(si:unpack-string (si:make-chunk 'character 1024 (copyright)))
527 :
526 :2006/08/05(土) 16:08:08 ID:5Or/y0si0
あれ、文字列のメモリは呼び出し側で解放するのか? Cで確保したメモリをLispで解放できるんだっけ?
>>527 確保したのと対応するAPIを使えばほとんどの場合OK
でもスタティックなポインタを返してるだけな気がする
あとLISPの話はできれば本スレで
>>526 ありがとうございます。
そのままだと"不正なデータ型です"と怒られましたが
(si:unpack-string (si:make-chunk 'character 1024 nil (copyright)) 0)
とすることで上手く動作しました。
'character のところなんですが、ここのTypeはいくつかあるんでしょうか?
ちなみにここを nil にしても動作したんですが、あまり意識しなくてもいいんですかね?
また、メモリの解放というのはsi:clear-chunkを使うっていうことでしょうか。
>>529 スレ違い。
lisp書く場合は本スレへ。
最近はどっちも書き込みが少なかったわけだし、結局ほとんどの人が
両方のスレを見てるわけなので、どっちでもいいじゃないと思うのだけどね。
そういう自分は、
>>1 の文章を書いた事に表されるように、
すみわけ希望者だったわけですが。
俺自身は住み分け不要と思っているけど、少なくとも今でも
>>98 の
ような住み分け希望者がいるから推奨している。
これが住み分け希望者の望む姿なのだろう。
533 :
名無しさん@お腹いっぱい。 :2006/08/06(日) 12:06:30 ID:buB3l4970
2ch-mode で2chのアダルト板が見れなくなってしまったんですが。 なにやったか、つーと、Rで全サイト更新?したら、アダルトが全て消えた。 で、2chのBBSデータとか全部消してやりなおしても、雑談から下が表示されない。 おれだけですか???
>>533 bbsメニューが変わっただけ
アダルトとか見たいならそれに対応したbbsメニューを使えばいい
>>533 otherbbs では対応したので(有効にするには該当部分のコメン
トアウトを外す必要があるけど)、otherbbs を使うのも1つの手。
直接直す場合は… menu.l の menu-parse-bbsmenu を、
(setq current (buffer-substring (match-beginning 1) (match-end 1)))
(when (equal current "まちBBS")
(return))
(loop
(cond ((looking-at "[ \n]*<A HREF=
http://\\ ([^/]+\\)\\([^> ]+/\\)[^>]*>\\([^<]+\\)</A>[ \n]*\\(<BR>\\)+" t)
(push (list (buffer-substring (match-beginning 3) (match-end 3))
(buffer-substring (match-beginning 1) (match-end 1))
(buffer-substring (match-beginning 2) (match-end 2)))
board))
((looking-at "[ \n]*<A HREF=
http://[^ >]+>[^<]+</A>[ \n]*\\(?:<br>\\)*" t)
(goto-char (match-end 0))
t)
((looking-at "<FONT COLOR=#aaaaaa>[^<]+</FONT><BR>")
とすればいいんじゃまいか。ただ一応 bbsmenu.txt のバックアップは取っといた方がいい。
ないとは思うけど板移転を誤認識してログが変に移動してしまったりしたらゴメン。
536 :
名無しさん@お腹いっぱい。 :2006/08/06(日) 18:08:24 ID:wN0hiezm0
M- ってのは Alt を押しながら、って意味だよ?
538 :
名無しさん@お腹いっぱい。 :2006/08/06(日) 18:27:40 ID:Te5d4kQG0
夏だなぁ
540 :
536 :2006/08/06(日) 19:26:14 ID:wN0hiezm0
>>535 (buffer-substring (match-beginning 1) (match-end 1))
は
(match-string 1)
と書くとすっきりするよ。
>>541 指摘感謝。指摘部分はもともとのコードがそうなっていたのでそのままにしてあります。
otherbbs では両方その時の気分で書いちゃってたりするんだよなぁ…('A`)
543 :
名無しさん@お腹いっぱい。 :2006/08/07(月) 00:35:32 ID:pCHWvYxY0
こんにちは。質問させてください。 ツールバーを標準の位置ではなく、ウインドウの横や下部に表示させているスクリーンショットを散見します。 自分もこのようにしたいのですが、これはLispをガリガリ書かないとできないものなのでしょうか?
教えてください。 新しいChangelogmemo(20060308版)で、自分(*cl-user*)以外名前の エントリを検索したいときはどうすればよいのでしょうか? あと、タブ付きのエントリをcl-convertを使わないで、そのまま使うのは 無理なのでしょうか? 共用のchangelogの編集に使いたいんですが、上記の2つがネックで・・・ だけど、あの便利な検索機能は捨てがたい〜
指定した行番号のテキストを削除するようなコマンドはありますか? 3〜9行目を指定したら、その行が削除されるという感じです。
ありませんが、簡単に書けます。 これ以上はスレ違いになりますので、 本スレに移行してください。
>518-529みたいな話は本スレいってくれと思うが、
>547はlispを書くことが前提じゃないしいいんじゃねとオモタ
>>547 ESC g 始めの行を入力 C-u 削除する行数を入力 C-k
lispで書くなら
(defun kill-lines (s e)
(interactive "nstart line: \nnend line: ")
(multiple-value-setq (s e) (values (min s e) (max s e)))
(save-excursion
(and (goto-line s)
(let ((sp (point)))
(and (goto-line e)
(or (next-line) (goto-eol))
(delete-region sp (point)))))))
550 :
547 :2006/08/08(火) 15:22:13 ID:yNrDO9EH0
>>549 ウホッ、素晴らしいです
ありがとうございました
emacs で使う windows.el のような、画面分割情報保存できるものは、 xyzzy にありますか?
save-window-configuration-to-register がやや近いかな?
それだったら emacs にもあるんだった。 というか、ここはむしろ session を薦めるべきかも。
shell-executeしたとき異様に時間がかかることがあるんだけど こういう人ほかにもいる? やっぱwindowsMeが悪いのかな。orz
555 :
名無しさん@お腹いっぱい。 :2006/08/16(水) 21:33:36 ID:9/QAz0tr0
KaMailV3使っていますが、hyperestraierを1.2.8から1.3.7に入れ替えて、 import-mh-folderでインポートし直したんですが、 検索してもメールがまったく表示されません。 hyperestraier-1.3.7は今のKaMailV3では、サポートされていないんですかね。
>>555 KaMailV3 0.0.1.3beta2 + Hyper Estraier 1.3.7 on Windows (MinGW)
でうちでは検索できるようです.
557 :
名無しさん@お腹いっぱい。 :2006/08/16(水) 22:57:33 ID:9/QAz0tr0
>>556 hyperestraierのバイナリ入れ替えだけで、うまくいったんですか?
なにかやり方間違えているのかな。
MIME関係のバグが直っているというから、1.3.7に上げたいんだけど。
>>557 えっとすみません,
>>555 で
>hyperestraier-1.3.7は今のKaMailV3では、サポートされていないんですかね。
と書かれていたので,KaMailV3 + HyperEstraier 1.3.7 の組み合わせは
使えるみたいですよという意味での
>>556 です.
で,私は HyperEstraier 1.3.1->1.3.7 のバイナリ入れ替えのみです.
すいません。ちょっと2点ほど教えていただきたいことがあります。 ・1点目 c-mode or c++-modeで"インデントにタブを使う"が起動させるたびに チェックが外れるんですが、常にチェックがついたままになりませんか? ・2点目 shellモードでexitコマンドを打ったときにshellバッファが自動的に 閉じるような設定にできませんか。できるようであれば教えていただきたい。 以上2点、教えて君で申し訳ないですが教えてください。
>>559 > ・2点目
関数上書きしてるけどこれでできてそう
(in-package "ed")
(defun shell ()
(interactive)
(set-buffer (get-buffer-create "*Shell*"))
(let ((proc (buffer-process (selected-buffer))))
(and proc (eq (process-status proc) ':run)
(return-from shell t)))
(goto-char (point-max))
(shell-mode)
(make-process *eshell* :output (selected-buffer))
(set-process-sentinel (buffer-process (selected-buffer))
(lambda (proc)
(interactive)
(delete-buffer (process-buffer proc))
(refresh-screen))))
(in-package "user")
>>560 の下から四行目 interactive は要らなかった
>>559 > ・1点目
これで。
(setq *c-indent-tabs-mode* t)
(setq *c++-indent-tabs-mode* t)
>>560 確かに、shell は process 生成した後に呼び出すフックがないので
書換えが必要になっちゃうよね。だから自分は、
(defvar *shell-mode-post-hook* nil "Processを起動後に呼び出されるフック")
を追加した上で、
(run-hooks '*shell-mode-post-hook*)
を make-process の後に追加している。
こうすれば、本体の書換え一回だけですむしね。
ついでに、 make-process も (defun shell () (interactive) (let ((default (default-directory))) (set-buffer (get-buffer-create "*Shell*")) (let ((proc (buffer-process (selected-buffer)))) (and proc (eq (process-status proc) ':run) (return-from shell t))) (goto-char (point-max)) (shell-mode) (make-process *eshell* :output (selected-buffer) :environ '(("XYZZY_SHELL" . "1") ("CHERE_INVOKING" . "1")) :exec-directory default) (run-hooks '*shell-mode-post-hook*))) としておくと bash のときに、元のバッファのディレクトリををカレントディレクトリにして 起動してくれるから便利だよ
564 :
559 :2006/08/17(木) 21:33:49 ID:WNWyvpPq0
どうもありがとうございます。
一点目は
>>561 で、2点目は
>>560 で無事、希望の動作をしてくれました。
>>562-563 も試してみたのですが、うまく動作してくれませんでした。
>(defvar *shell-mode-post-hook* nil "Processを起動後に呼び出されるフック")
たぶん、上の設定がうまく出来てないからのような気がするのですが、
今の私では解決できそうにありませんので
>>562 の方法はまた自分でlipsを勉強してやってみます。
562さん、すいません。
ありがとうございました。
C-x、@でmakeとかのコマンドを実行した後、フォーカスが新しく開いたウインドウ(フレーム?) に移ってしまうのですが、これを拒否する方法はないですか? つまり、コマンドを実行した後も、もとのバッファにフォーカスがありたいです。
関数上書きして (defun pipe-command (cmd) (interactive "e@ " :history0 'execute) (execute-shell-command cmd t "*Shell output*") (other-window)) こんなのですか
>>567 上書きせずに別名の関数にするほうが良くない?
じゃあこっちで (defun my-pipe-command () (call-interactively 'pipe-command) (other-window))
C-c C-r で単語登録を呼び出したときに クリップボードの中身を「語句」の部分に貼り付けることってできる?
>>570 (defun my-ime-register-word-dialog ()
(interactive)
(*ime-register-word-dialog (get-clipboard-data)
(map-to-full-width-string (cdr (get-ime-composition-string))
:ascii t :hiragana t)))
(global-set-key '(#\C-c #\C-r) #'my-ime-register-word-dialog)
572 :
名無しさん@お腹いっぱい。 :2006/08/22(火) 09:50:39 ID:LOUd0vd80
F8キーのcopy-selectionでコピーした選択部分が C-yのyankでも、マウス操作のクリップボードから貼り付けでも 出力できないのですが、どうやれば貼り付けられますか?
573 :
572 :2006/08/22(火) 09:57:33 ID:LOUd0vd80
すいません…F9のyank-selectionで貼り付けるんですねorz
>>574 しょうもないことで手間かけさせてすみみません
ちゃんと確認してから書き込むようにします…
xyzzyの機能一覧に 「確定してしまった漢字を変換前の状態に戻せるなど、IMEを操作できる」 とあるんですが、どうやるんでしょうか?
>>577 C-c C-c でおk?
Ctrl + Backspace でも出来たような(これはMS-IMEのショートカットキーだったかな)
xyzzyを使い始めてみたんですがこの変態キーバインドを習得するのは苦労しそうです。。。挫折しそう しかし、変態キーバインドを習得してUNIXでもEmacsをそのまま使いたいのでがんばってみます。 それとも、gatesモードをベースに自分でカスタマイズしていく物なんですかね?
もう一つ質問、このスレ的に「入門xyzzy」っつー本はお薦め/地雷 のどっちですかね?
>>578 レスどうもです。
C-c C-c は既に別の関数を上書きしてしまってたので
文字を選択した状態でedit-abbrevs-redefineを直接叩いてみましたが
再変換されませんでした。 Ctrl + Backspaceもダメでした
IMEの方のせいでしょうか?
環境はWin2000のIME2000です。
>>579 キーボードはゲイツを使わずに頑張れ。すぐ慣れるよ
入門xyzzyはあなたみたいな使い始めの人にはとてもオススメ
ある程度使いこなしてる人にはいらないかもしれないけどね
>>581 > 文字を選択した状態でedit-abbrevs-redefineを直接叩いてみましたが
rewind-ime-composition じゃないの?
C-c C-fでファイラ開いたときにいつも直前の バッファと同じディレクトリにいることはできますか? (C-x C-f RETは1画面ですね)
できます。 多少のlispを書く必要があるので、 本スレで再質問をどうぞ。
>>585 簡単にとはいかないんですね。よく調べてからまた来ます。
>>583 うえあ、C-c C-cのコマンドをgrepしたら出てきたのが
edit-abbrevs-redefineだったので 間違えてました…。
rewind-ime-compositionで できました。
ありがとうございます。
でもこれ漢字の再変換はできないんですね。
てっきりそれができるもんだと思ってました、残念。
589 :
584 :2006/08/23(水) 21:22:26 ID:dMXTFUnn0
>>587 (*^ー゚)b グッジョブ!!
;; 常にカレントディレクトリからファイラを起動する。
(defun open-filer-current ()
(interactive)
(let ((*filer-primary-directory* nil))
(open-filer)))
(global-set-key '(#\C-c #\C-f) 'open-filer-current)
skk-mode で「かなモード」でも、カンマ (",")、ピリオド (".") を 句読点 (「、」「。」) ではなく、そのまま入力するにはどうすれば 良いでしょうか? 本家 skk では .skk に下記のように書けば可能です。 (setq skk-rom-kana-rule-list '(("." nil ".") ("," nil ","))) しかし skk-mode on xyzzy で同じことをやって思うように動きません。 skk.l も見てみましたがよくわかりませんでした。 ちょっとスレ違いかもしれませんが、聞くところがないので よろしくお願いします。
>>590 skk.lのページのコードでダメですか?
firefoxから2ch-modeにurlを渡したいのだけど、どうしたらよいでしょうか
uキーじゃダメなのか
2ch-mode開いていたらそれでもよいんだけど、2chのリンクをクリックしたら 2ch-modeで開くようにしたい。そのためのコマンドラインオプションとか教えて 欲しい。
www-mode上で使えるw3mのバイナリ、どこかに落ちていませんか?
>>594 見た感じで -e (2ch::thread-open-2ch-url "URL")
かと思ったけど色々変数が定義されて無いって怒られる。
しかもこの変数、q押してBoardの画面に戻る時にどこに戻るか、とか
2ch-modeを開いてないと設定されないような変数だからちょっと厳しいかも。
>>597 (require "2ch/main")
(defun foo (url)
(2ch)
(2ch::history-current-show)
(2ch::thread-open-2ch-url url))
を .xyzzy に書けばおけ。
>>596 ありがとうございます
他のバイナリなども試した結果、私のオンボロパソコンではw3mは起動しないことがわかりました
>>599 起動しないんじゃなく起動してすぐに終了してるだけじゃね?
w3m が起動しないおんぼろってどんなのだよw
603 :
599 :2006/08/27(日) 10:25:12 ID:6V+eSIy40
環境はwin98SEでAMDK6の500MHz、メモリ315Mです M-x:www と打ち込むとw3m excuting...とステータスバーに表示されたまま操作不能になります。
おいおい、俺はついこの間までPen166, Mem90で動かしてたんだぞこのやろー
2ch-modeの「追っかけスレ」モードでキーバインドを変更する にはどうしたらいいでしょうか? (add-hook '*2ch-mode-hook* #'(lambda () (undefine-key *tracking-map* #\C-k) )) これではダメみたいで…
>>606 config.lにコレだけ書けばいいんじゃないの?
(undefine-key *tracking-map* #\C-k)
>>606 *2ch-mode-hook* という変数はない。
使うなら *2ch-start-hook* だけど、
>>607 のやり方で十分だと思う。
>>608 >>607 config.l のこと忘れてて、.xyzzy に書いていました。OTL
多謝です。
www-modeってw3mのconfing記載(オプションパネルで書いても同じ)相当
Domains to be accessed directly (no proxy) [
http://127,0,0,1 ]
~/w3m/confingの
noproxy_netaddr 1
no_proxy
http://127,0,0,1 あたり効かないのでしょうかorz
; PROXY を経由しないホストのリスト
(setq *www-direct-connect-list* '("direct1.
http://127,0,0,1 "
"direct2.
http://localhost "))
色々書き換えてもことごとくproxy繋ごうとします('A` 無理やり書
き換えればw3m -no-proxyがありますが...指定しちゃうと普段
proxy無視するから 簡単にlocalhostに繋ぎたいんですが無理かな?
ほーんとだ('A`
とおもいきや
,でも.でもデリミタにしてしまう。。。
なんて適当な、いや懐深いw3m。うっかりさんでもへっちゃらsa
そしてなぜに動かないんだろう....orz
とりあえず直してみても変わらず
(setq *www-direct-connect-list* '("
http://127.0.0.1 "
"
http://localhost "))
とか
(setq *www-direct-connect-list* '("
http://127,0,0,1 "))
;; "direct2.
http://localhost "))
とか書換てみたり
謎。動きそうに見えるんだけど
w3mでは繋げるけどwww-modeでは出来ないなんて事無いよね
気のせいじゃない。できるよね。できそうには見える...orz
からなんか悲しい。
614 :
610 :2006/08/28(月) 02:47:46 ID:xH4nTIvm0
>>615 テンプレ読んだ?
>自分でlispが書けるような方,こんな機能が欲しいのですが
>だれか作ってくださいという方は Win板本スレへ。
>>615 移植して思った。 C-v、 M-v 使え。
>>615 同じかめーさん作の kbdacc を使ったらどうかと。
619 :
615 :2006/08/28(月) 08:27:13 ID:Ef8S7tJK0
>>616 テンプレ読み忘れていました。すみません。
>>615 へ〜こんなのあるんですねぇ。どうもです。
http://xyzzy.s53.xrea.com/wiki/index.php?QuickTour%2Fext%2FKaTeX ここを参考にKatexをインストールしようとしたのですが
途中でこけてしまいます
NetInstallerまではうまく行きましたが
>;;; elispパッケージを有効にする
>(require "elisp")
上記2行を.xyzzyに入力したにも関わらず
M-x: elisp::katex-byte-compile を呼び出せません。(elispの途中で補完されなくなる)
環境変数にXYZZYHOMEは設定しています
site-lisp/elisp.l ファイルはあります
他に設定を見直すとこはないでしょうか?
622 :
610 :2006/08/28(月) 17:45:23 ID:xH4nTIvm0
>>620 レスありがとう。
今だlocalhostに繋げない.....諦めるぽ('A`
www-modeでlocalhost繋いでる方いたら
書いてくれると嬉しいです。
>>623 ありがとうございます。うまくいきました。
katexins.lは一回ロードしてたんですが
"elisp::〜"がタブで補完されない事を知らずにハマってました。
625 :
名無しさん@お腹いっぱい。 :2006/08/30(水) 01:47:59 ID:fYwynFxt0
あの、助けてください!!xyzzyで、HPを作る課題があるのですが、超初心者なので困っています。 ページ作りまでのやり方を教えてもらえませんか!?
HPは大きなところですから、つくるとなるとかなり資金がいると思います。
ヒューレットパッカード?
HPといったら通常そうですね。
おまえらHPといったら心臓周期heart periodに決まっているでしょうが
xyzzy で、って時点でかなりマニアックな課題だな。
ゲーマーな俺としてはヒットポイントを推したい。
>>630 > xyzzy で、って時点でかなりマニアックな課題だな。
マイナーで使いにくいソフトウェアを十分使えるようになるには、検索技術や
メディアリテラシーが必要で、なおかつ掲示板やwikiでのコミュニケーション
能力も試されるという一石五鳥くらいを狙った課題何じゃないの。
>>625 xyzzy 特有の問題としては何がありますか?
また、その問題についてあなたはどのように調べましたか?
xyzzyはtex使うときしか使わないな。 他はemeditorかterapadを使っている。
>>579 おれはgatesモード無視してWindows準拠にカスタマイズしまくってるよ
>>637 Shift+Deleteとかが抜けてんのよねそれ。
誰か完璧バージョン作っちゃればいいのに。
>>639 うっさいわボケ氏ね。
(require "gates")
(defvar *default-selection-keymap*
(let ((keymap (make-sparse-keymap)))
(define-key keymap #\C-c 'copy-selection-to-clipboard)
(define-key keymap #\C-x 'kill-selection-to-clipboard) keymap))
(setq-default selection-keymap *default-selection-keymap*)
(global-set-key #\C-x 'ctl-x-prefix)
(global-set-key #\C-c 'specific-command-prefix)
(global-set-key #\S-Delete #'kill-selection-to-clipboard)
自分は #\C-n とか #\C-p とかは xyzzy のが便利だから gates は使ってない。
足りないとこあるかも。
すみません。xyzzyで任意の文字コードを取得する方法はありますか? .xyzzyに(setq *status-bar-format* "cpT") をすることで、シフトJISの文字コードはわかりますがJISコードなど他のコードを知る方法はありますか? 秀丸ですと、 その他→コマンド一覧→その他→文字コード一覧 見たいな感じで取得できるのですが。 基本的に職場でもxyzzyを使用しているのでxyzzyで上記のような文字コードを 取得したいと思い、質問しました。 よろしければお答えください。
xyzzy の公式サイトの title わらた
>>641 質問がよく分からないんだけど、
xyzzyで使える文字コードが知りたいという事?
だったら ツール 共通設定 の エンコーディング? のところにあるからそれで。
>xyzzyで使える文字コードが知りたいという事 いえ、文字コードそのものが知りたいのです。 例えば、「春」ですと、.xyzzyに(setq *status-bar-format* "cpT")を追加すると ステータスバーに8F74と表示されますが、これはシフトJISです。 それに加えて、「春」のほかの文字コード(JISコードなど)を知る方法です。
>>644 C-x = でキャラクタコード、位置情報がステータスバーに表示されるようです。
Char: 春 (0x8f74 / U+6625 / 0x3d55[jisx0208]) point=0 of 1(0%) column 0
>>644 map-internal-to-euc とか map-internal-to-utf-8
とかが使える気がするんだが、よく分からん。
647 :
名無しさん@お腹いっぱい。 :2006/09/01(金) 16:25:53 ID:UIWLLFZG0
xyzzyでpy-modeというのを入れたんだけど ループとか関数定義の終わりにインデントを戻そうとバックスペースを入力すると 警告ウインドウが出てうざい 正しいインデントの抜けかたがあるのでしょうか?
>>647 自分はpy-mode.lの中のpy-electric-backspace関数の最後を
(error "Closes block: ~a" base-text)
から
(message "Closes block: ~a" base-text)
に書き換えた。
emacsでいうところのhexl-modeはどうやったら使えますか?
calc-modeで cos(90) = 0 と角度からcosの値を出せますが 逆に cos(x) の値から角度を出す時はどの関数を使えばいいんでしょうか?
>>647 エラーの表示にマイルドさが足りないんじゃなかったっけ。たしか。
ツール > 共通設定 > さまざま
652 :
名無しさん@お腹いっぱい。 :2006/09/01(金) 21:50:17 ID:UIWLLFZG0
>645 >646 ありがとうございました。C-x =で確かに表示されました。 ただ、常時ステータスバーに表示できないものでしょうか? やはりxyzzyは難しいですね。でも他のエディタと違い色々できる点が魅力ですね。
>>653 (setq *status-bar-format* "cupT")
でユニコードも表示できる
>>654 >(setq *status-bar-format* "cupT")
>でユニコードも表示できる
でもさー653が
>.xyzzyに(setq *status-bar-format* "cpT")
>をすることで、シフトJISの文字コードはわかりますがJISコードなど他のコードを知る方法はありますか?
っていってるから、JISコードをステータスバー表示させたいんじゃないの?
俺はその方法を知らんが。馬鹿だから
xml-mode で = を入力すると、 ="" となりますが、 =" とするにはどうしたらいいでしょう? マニュアルには、 >タグの中では=""または=''を自動で挿入する。*xml-attrbute-quote-char*の値によりどちらか選択可能 とあるのですが、どう書いたらいいのかわかりません。
うーん、これを実行した後、ホイールを回すと「削除されたウインドウです」が表示されます なんなんだろう・・・
あ、なぜかTidyうまく表示されました 再起動したせいだろうか?
>>656 もしシングルクオート2個じゃなくてダブルクオート1個を挿入したいなら
関数を再定義する必要がある。
シングルクオート2個でいいなら
(setq *xml-attribute-quote-char* #\')
661 :
名無しさん@お腹いっぱい。 :2006/09/02(土) 16:31:15 ID:tEhM2wYE0
chcolor ver 1.02をつかって表示色を変えようとしているんですが、 自分で書いた設定ファイルを使うと、 文字の色が思っていた色と違う色(たぶん反転した色) の表示になってしまうのですが、 そういうものなのでしょうか?
662 :
名無しさん@お腹いっぱい。 :2006/09/02(土) 17:27:37 ID:p3BzSp7b0
>>567-569 できましたー。
非同期実行の方が便利そうなので、execute-subprocessを呼びました。
F9で、実行する感じで。
; コマンド実行
(defun do-command ()
(interactive)
(call-interactively 'execute-subprocess)
(other-window))
(global-set-key #\F9 'do-command)
(set-function-bar-label #\F9 "コマンド")
で、これをさらに使いやすくしたいと思います。
execute-subprocessを呼んだ時に、上を押すとコマンド履歴が見られますよね?
これをあらかじめ、指定するというか、
ひとつ前に入力したコマンドが最初に選択されているようにすることって、
できないでしょうか?
>>653 適当だけどこんなのとか
(add-hook '*post-command-hook* 'what-cursor-position)
もうちょっとちゃんと書けば使い物になるかも。
ステータスバーじゃないとダメ?
>>662 これでいいのかわからんけど
(defun do-command (cmd &optional (arg nil f) bufname environ directory)
(interactive "e& \np" :history0 'execute
:default0 (car *minibuffer-execute-history*))
(push cmd *minibuffer-execute-history*)
(if f
(execute-subprocess cmd arg bufname environ directory)
(execute-subprocess cmd))
(other-window))
>>660 ああ、マニュアルに書いてあるのはシングルクォート2個だったのか。
ダブルクォート1個だと勘違いしていました。orz
関数とか自分でかけないのであきらめます。
どうもありがとうございました。
666 :
名無しさん@お腹いっぱい。 :2006/09/03(日) 17:08:16 ID:7sA9Oyrc0
>>664 できましたー。
:default0 指定すると、デフォルト値を設定できるのかな?
この辺ってどこら辺に書いてありますのン?
668 :
名無しさん@お腹いっぱい。 :2006/09/03(日) 23:30:20 ID:7sA9Oyrc0
>>667 全然情報がないんだけどw
:title0 は表示する文字
:default0 はデフォルトの文字列
:default1, :default2は、なんだろ?
:history0 は・・・なんだ?
>>668 類推しましょう。
0 が最初なら、1 はその次の、2 はその次の次のと思いませんか?
ドキュメントが不足していると思ったら、wiki に追加しておくと、
同じ思いを他の方がしないですみますね。
「2個目のデフォルト」の意味がよくわからない
2 番目の引数に対するデフォルト値
:title0 って、つけた場合とつけない場合とどう違うんだろうか? たいてい、 (defun emacs-write-file (filename) (interactive "FWrite file: " :title0 "Write File") (and (rename filename) (save-buffer))) こんな風に使われてるみたいだけど。
673 :
名無しさん@お腹いっぱい。 :2006/09/04(月) 22:31:17 ID:TD2FIvkJ0
:default1, :default2の挙動がわかんない
>>664 に試しに :default1 "hoge"
と追加してみたけど、違いがわかんないや・・・
674 :
名無しさん@お腹いっぱい。 :2006/09/04(月) 22:32:30 ID:TD2FIvkJ0
title0: "titledesu"もつけてみたけど、全然かわらんw うーん
>>672 引数入力時にダイアログ表示したとき、タイトルバーに表示されるみたい
>>668 :history0 はヒストリ種類のシンボルを指定する。
(defun fugaa (str)
(interactive "sString: " :history0 'search)
(msgbox str))
町名を入力することが多くってそれを独自のヒストリにしたいわ
と思ったらこう。
(define-history-variable *city-history* nil)
(setf (get :city 'minibuffer-history-variable) '*city-history*)
(defun city (str)
(interactive "sCity: " :history0 :city)
(msgbox str))
これは read-string とか completing-read とかの :history も同じ。
リファレンスだと「ヒストリに使用するリストを指定」となってるけど
実際はリストではなくシンボルを指定する。
誰かリファレンスに突っ込みいれときなさい。
ちなみにヒストリってのはあれだ。ミニバッファで上下押したときに出てくるやつ。
>>673 こんな感じ
(defun foo (a b)
(interactive "sFirst argument: \nsSecond argument: "
:default0 "first"
:default1 "second")
(message "~S, ~S" a b))
>>675 Thx.
ファイル名入力の時にしか使われていない理由はそれだったのかと納得した。
680 :
名無しさん@お腹いっぱい。 :2006/09/05(火) 00:17:50 ID:TLIA5g9x0
>>675 ダイアログ表示時しか関係ないのか。
>>678 なるほど、なるほど。
2回以上パラメータを入力するときに使うのか。
xyzzy でウェブブラウズをまともに出来る方法ありますか? emacs の w3m みたいな。 ちょっと検索したら、w3mを無理矢理動かしてるケースがいくつか見受けられましたが あまりうまくいってなさ気。
browserx じゃダメ? IEコンポーネントを xyzzy 内で使うものだけど
www-modeいいブラウザなのに。
インクリメンタルサーチで大文字小文字を区別しない設定ってありますか?
>>684 デフォルトで区別しないはずだが?
# ウチの環境がおかしいのかな?
>>685 もうちょっと調べてみたところ
search-dialogの設定で「区別する」のチェックをはずすと
インクリメンタルサーチでも設定が反映されました。
ありがとうございます
>>686 解決したみたいですが一応。
(setq *case-fold-search* t)
tを:smartにすると小文字なら区別せず、
大文字を入力した時だけ区別します。
>>687 おおっ、すごい!こりゃ便利だ。
使わせてもらいます。
本スレでは相手にされませんでした。 列カーソルの表示は可能なのでしょうか?
>>689 相手にされていると思うけど?
標準ではついていない
Lispでやろうとしてもかなり難しいだろうね
>>689 列カーソルって何だよw
そういうのはお前の脳内だけで勘弁
>691 行カーソルって言葉があるんだから列カーソルといえばわかるだろ? 煽るならもうちょっとマシな煽りを頼む。
undoで 「これ以上アンドゥできません」 を出さなくする方法ってありますか?
共通設定のさまざまでエラーの表示をマイルドにするか、 (defun my-undo () (interactive) (ignore-errors (undo))) (global-set-key #\C-z my-undo)
まちがえた。こうだ。 (defun my-undo () (interactive) (ignore-errors (undo))) (global-set-key #\C-z 'my-undo)
ソースをいじくるしか道はないのか・・・>列カーソル
>>696 ないと思うよ。
列カーソルを表示する Windows API なんてないしね。
ソース見ればどうやって行カーソルが実現されてるか分かるでしょ。
698 :
615 :2006/09/09(土) 18:22:53 ID:2VmezBra0
699 :
693 :2006/09/09(土) 18:43:56 ID:4JibiLLc0
>>695 .xyzzyに書き込んで試したらうまくいきました。ありがとう。
beep音は残したいと思っていたけど、これはこれで静かでいい感じっす。
ようは、xyzzyでカーソルの縦線を延ばして行カーソルと十字になるように できないかな・・・と秀丸を見て思っただけです。 この空気では無理そうですね。
空気じゃなくて書かれてる事で判断しようよ
超絶列カーソル。2バイト文字を使う奴はすべからく死ぬべきだ。 ↓の数字を変えると色が変わる。 (setq fsadf-highlight-args '(:background 1 :foreground 0)) (defun fsadf-highlight () (interactive) (fsadf-delete-hightlight) (save-excursion (let ((column (current-virtual-column))) (goto-virtual-line (get-window-start-line)) (dotimes (i (1+ (window-lines))) (when (or (= column (goto-virtual-column column)) (= (1+ column) (goto-virtual-column (1+ column)))) (unless (eq (following-char) #\TAB) (apply #'set-text-attribute (point) (1+ (point)) :fsadf fsadf-highlight-args))) (unless (next-virtual-line) (return))) ))) (defun fsadf-delete-hightlight () (delete-text-attributes :fsadf)) (add-hook '*post-command-hook* 'fsadf-highlight)
>>702 うはははははwwwwこいつはすげえやwwww気に入ったwwww
hownインストールに成功した方いらっしゃるでしょうか。
できればどのような手順でインストールしたか教えて頂きたいのですが。
hownは無理
typoくらい許してやろうぜ…
そういえば無いね、列カーソル
セレクションみたいに色を変えるだけとかなら割と。
と思ったら
>>702 が当にそれっぽいね。
どうでもいいけど、何でこんな刺々しい雰囲気なんだ xyzzyの使い方が分からぬやしが罵り合うスレとかにでも移住してくれ
710 :
名無しさん@お腹いっぱい。 :2006/09/10(日) 06:45:02 ID:jAuYZf8j0
本スレが気に入らないから来てやった。 お前らなんとかしろ!っていっているように聞こえた品
714 :
名無しさん@お腹いっぱい。 :2006/09/10(日) 18:42:31 ID:TIy6auY30
まあ、実際思うような機能の追加はできないんだけどね。
717 :
名無しさん@お腹いっぱい。 :2006/09/10(日) 20:15:59 ID:TIy6auY30
>>715 howmのこと?思うような機能の追加とは?
大抵の動作は再現できると思うけど、問題は誰がやるかじゃないかと。
718 :
名無しさん@お腹いっぱい。 :2006/09/10(日) 20:18:14 ID:TIy6auY30
>>716 ちょっと興味あるんだけど、howmに比べてどんなメリットがあるの?
loginメッセージ?みたいな事... メニュー>ツールから fortuneをコマンドラインを非同期で実行(A) ...すると出ます これを起動時に出すには如何すれば...いいんでしょうか... .logonじゃないけどxyzzyが立ち上がるとき出して... Ben (Obi-Wan) Kenobi: You must learn the ways of the Force if you are to come with me to Alderaan. こんなの出してふいんき出したいです>< 一発ネタでごめんなさい。ふいんき出したいな...
>>715 よくわからんけど、configファイルを使わないと機能追加できないってことかな?
「5. 必要なら howm-wrap/config/ 以下の初期化ファイルをホームディレクトリにコピーする。」
というのは、howm-pre-init.l、howm-init.lをxyzzy.exeのあるディレクトリにコピーするという意味
(言うまでもないかもしれんが)。
ここや本スレの過去ログやweb上にもいくつかの機能追加・修正のコードがあるから
探してみてくださいな。
php-mode を導入しようとして、readme の文面を.xyzzy に書くと、 「名前が衝突するためexportできません: editor::php-mode」とエラーが でてしまいます。 (in-package "editor") (load-library "php-mode") (pushnew '("\\.php$" . php-mode) *auto-mode-alist*) ;; php-miscを使う場合 (load-library "php-misc") (in-package "user") などと in-package で囲んだり、siteinit.l に移したりしても駄目。 (push '("\\.php$" . editor::php-mode) *auto-mode-alist*) (autoload 'editor::php-mode "php-mode" t) とやっても上手く行きませんでした。 ご教示お願いします。m(_ _)m
>>721 これ以外に、どこか php-mode という文字が siteinit.l とか
.xyzzy にあったりしない?
あと siteinit.lc があるなら、ちゃんと更新されているかの確認とか。
>>722 これですかね?
$XYZZY/site-lisp/siteinit.l
;; comment.l
(require "elisp")
(load "~/site-lisp/katex/comment.lc") ; 未コンパイルならcomment.l
(load "~/site-lisp/comment.lc")
[省略]
;; 1 行コメントをトグル
(defvar *one-line-comment-alist*
'(
[省略]
(php-mode . ("//")) ; <--!
))
siteinit.lc は再バイトコンパイル&ダンプ済みです。
>>723 > ;; 1 行コメントをトグル
> (defvar *one-line-comment-alist*
> '(
> [省略]
> (php-mode . ("//")) ; <--!
> ))
これだと思います。 この時点で user::php-mode というシンボルができてしまいます。
この後で php-mode を読み込んで (export 'php-mode) しようとしても、既に
user パッケージに php-mode というシンボルがあるのでエラーが出るんだと思います。
(ed::php-mode . ("//")) ; <--!
にするか、php-mode のロード後に comment.l の設定をするようにしたら直りませんか?
>>724 php-mode を comment.l の前に設定し、siteinit のバイトコンパイル&ダンプ
でいけました。感謝です。m(_ _)m
727 :
726 :2006/09/11(月) 19:04:48 ID:e5yeIw3e0
解決しました。 complete+.lの設定の問題でした。
ファイラーでファイルを削除するときゴミ箱にいれるのと、直接削ってしまうのと ゴミ箱を空にするのを選べるというか、それぞれ別のキーに設定したいんだけど どうしたらいいでしょうか
>>728 適当にやるならこんな感じかな。
まじめにやるなら filer-query-delete あたりを書き換えて
ダイアログから選択できるようにしてもいいかもしれないけど。
(defun filer-delete-recycle ()
(let ((*filer-use-recycle-bin* t))
(filer-delete)))
(defun filer-delete-no-recycle ()
(let ((*filer-use-recycle-bin* nil))
(filer-delete)))
(define-key filer-keymap #\D 'filer-delete-recycle)
(define-key filer-keymap #\C-d 'filer-delete-no-recycle)
>729 ありがとうございます。ごみ箱をからにするのは別のソフトにまかせることにします
>>731 > 列カーソル Color-line.l
行カーソルに見えるのは気のせい?
>>732 そうだよね。なんで、列表示できるのか必死に分解して動作を見てたりしてしまった。
CalMemoはNetInstallerからじゃないとインストールできないのでしょうか? Hie氏のページを見ても配布されていないようです。
netinstallerで置いてある場所を調べて落として手動インストールもできる。
>>736 「netinstaller配布用パッケージ」と書いてあるリンクを調べたらありました。
ありがとうございました。
>>460 ですがKaMailV3 0.0.1.4beta3にしても未だに解決できないです。助けて
よく考えたらコーディング規約で「○○の位置は揃えること」ってのがあったorz >740を書いた俺がバカだったorz
739 みたいなのはそれなりに需要があるんだね。
>>744 こんなのあったんですね
739じゃないけど、ありがとう
しばらく使ってるとM-F1とかのファンクションバーラベルが表示されなくなるのは回避不可ですか?
>
>>744 そんなのあったんだね。嘘を書いてしまった。
xyzzyのlispは公開されてないけど、ってのが実は結構あるのかな。
(setq *foo* "D:/foo/") (setq *bar* (merge-pathnames "/" (pathname-device *foo*))) これやると*bar*がD:じゃなくてC:を返しちゃうんですけどどうしたらいいですか
>>748 (merge-pathnames "/" "D:/foo/")
とか
(merge-pathnames "/" (concat (pathname-device "D:/foo/") ":"))
とか。
xyzzy Part14の98〜105あたりを見て。
(concat (pathname-device *foo*) ":/") で十分な希ガス。
今度こそ書き込み
C言語などで #if 0 #endif というのがありますが、このとき #if 1だと通常のc-modeでの表示をし #if 0だと、その部分の色を変えることをしたいのですが、 何か良い知恵はありますでしょうか?
すみません、もしかしたらそのようなlispあったかも・・・ もう少し探します。
>754 見つかったら教えてくれ ○| ̄|_
バックアップを残さない設定で同じ ID のファイルに書き戻すようにできますか?
なにいってるのかわからん。 同じIDってなんのこといってんの?
>>756 横レスだがthx.
…と言いたいところですが…
int main(int argc, char** argv)
{
#ifdef 0
return 0;
#else
return 1;
#endif
}
こんなCファイルを作ってM-x hide-ifdefを実行すると
「何か知らんけどcppがエラー」と言われてしまいます。
このコマンドはどう使えばいいんでしょうか?
>>759 > #ifdef 0
ここの0が識別子じゃないとダメっぽい。
けど、期待する動作じゃないと思う。
>>759 > こんなCファイルを作ってM-x hide-ifdefを実行すると
> 「何か知らんけどcppがエラー」と言われてしまいます。
> このコマンドはどう使えばいいんでしょうか?
*hide-ifdef-cpp*を使っているコンパイラにあわせて設定します。
>>760-761 ありがとうございます。
あとでhide-ifdefの定義を見ながら色々試してみます。
#if 0の部分を色を変えるだけなのに、色々制約があるなんてなあ・・・ ちんこ!!
制約じゃなくて、設定の間違いじゃないかと 久方ぶりに小一時間といつめいた気分。
ファイル→新規作成と、M-x 何とかモード ってのを一気にやる方法ってないですか? xyzzyのruby-modeのruby-run-script-immediateが、irbより便利なので、 お手軽にできないかと。
766 :
名無しさん@お腹いっぱい。 :2006/09/25(月) 12:34:45 ID:VmA02Bay0
でもこれ便利そうだ。 長い if 0 とかわけわかんなくなるしw
ruby-modeの=begin =endとかみたいに、色分けできたらいいのにね。
>>765 (setq *default-buffer-mode* 'ed::ruby-mode)
とかどう?
ファイル名が必要ないなら、こんなので、 (defun new-tmp-file () "temporaryバッファの作成" (interactive) (switch-to-buffer (create-new-buffer "*temp*")) (ruby-mode) (make-local-variable 'need-not-save) (setq need-not-save t)) 必要なら create-new-buffer じゃなくて make-temp-file-name 使うようにすればいいかな。
(pushnew '("\\.rb$" . ed::ruby-mode) *auto-mode-alist* :test 'equal) しといて、 C-x C-f hoge.rb とするのが定石じゃない?
#includeがあると上手く行かんなぁ・・・ >hideif
>>773 *hide-ifdef-cpp-flags* や 「.hide-if」ってファイルで
インクルードパスを設定するとうまくいく。
変数に設定するときには、\ とか " とかエスケープするのを忘れずに
にしても、コンパイラから解析結果を調達してるとは思わなかった。
775 :
773 :2006/09/26(火) 00:21:11 ID:K9+KGBAi0
>>774 あっ、ありがとう。
明日、試してみます。
ifdef-modeキボンヌ
>>772 そ、そういうことか・・・
どうせ保存しないなら、ファイル名適当でいいすね・・・
それいただきます
C-x b のあと C-i で補間させると候補が一つしかなくても拡張子が補間されなくなってしまった 心当たりがありすぎて途方にくれてるんですがこの中にエスパーはいませんか。
C-x bの後のC-iに何の機能が割り当てられているかキー割り当てを見たら?
780 :
名無しさん@お腹いっぱい。 :2006/09/28(木) 16:00:38 ID:M5WVVbXx0
複数のファイルを一つにまとめたいんですが その際に内容の前にファイル名も入れたいです。 *****ファイルA***** ファイルAの内容 を繰り返して一つのファイルにしたい
>>780 便利な使い方が思いつかないのでこれを元に使いたいように改造してくれ
(defun insert-all-file (folder)
(interactive "DFolder: ")
(dolist (filename (directory folder :wild "*.txt" :absolute t :recursive t) )
(and (insert "*****" (file-namestring filename) "*****" #\C-j)
(insert-file filename))
)
)
>>781 レスありがとうございます。
1時間くらい改造してみようとしました
さっぱりわかりません
下記のようにやりたいので
どこを返ればいいかよければお教えください。
*****ファイルA*****
ファイルAの内容
*****ファイルB*****
ファイルBの内容
>(dolist (filename (directory folder :wild "*.txt" :absolute t :recursive t) ) (dolist (filename '(ファイルA ファイルB))
auto-save-buffers.lを使わせてもらっているのですが、保存するときに、 共通設定で「マウスカーソルを消す」にしていても、一瞬カーソルがちらっと見えてしまうのが気になります。 何とかならないでしょうか。
マウスカーソルをどこか適当な座標に飛ばしてしまえばいいかなと思ったのですが、 require-mouse-moveという謎な関数が見つかったもののどうしたものやら……
win板に移動します。
>>782 goto-char してなかったのでちょっと修正
ファイル名が分かっているなら
>>783 のようにファイル名取得箇所を固定ファイル名にすればいいです。
(defun insert-all-file (folder wild)
(interactive "DFolder: \n1sWild: " :default1 "*.txt")
(dolist (filename (directory folder :wild wild :absolute t :recursive t) )
(insert "*****" (file-namestring filename) "*****" #\C-j)
(insert-file filename)
(goto-char (point-max))
(insert #\C-j)
)
)
後は適当に新規バッファ作ってそこに書くとか追加すれば使い物になるかも
こんな感じでいいみたい (defun listup-files() (switch-to-buffer "*all-file*") (insert-all-file "C:/Home/" "*.txt") )
アーカイバDLLの場所を指定するにはどうしたらいいですか? 探してもそれっぽいパッケージが見当たらないんですが
>>789 PATHの通ったディレクトリにおいとけ
リファレンス関連の更新お疲れ様です。
793 :
789 :2006/10/01(日) 20:31:04 ID:RKEpM4Nm0
etcあたりで完結できたら便利だと思ったんですが、諦めます。 ありがとうございました。
browserex のブラウザフレームのサイズ指定 (setq bx:*browser-width* [ピクセル数]) (setq bx:*browser-height* [ピクセル数]) を .xyzzy 又は、siteinit.l に指定しても反映されません orz どなたかお教え願います。 xyzzyy v.0.2.2.235 browseex v.20051008 browser.dll いまいたけをさん の拡張版 browser.dll
795 :
794 :2006/10/01(日) 21:52:14 ID:rmoz8xSH0
> xyzzyy v.0.2.2.235 > browseex v.20051008 xyzzy v.0.2.2.235 browserex v.20051008 の誤りです・・・ orz
796 :
794 :2006/10/01(日) 22:05:47 ID:rmoz8xSH0
自己解決しますた。 スレ汚し、スマソです 。・゚・(ノД`)・゚・。 メニューバーに“BX”なるものがあり、その中の「設定」で出来ました。。。
>>793 は、USBメモリとかに使うような場合でも、なるべく環境に依存しない
ようにしたいんじゃないか?
>>793 xyzzy.exe があるディレクトリにおいてもダメ?
だったらbatファイルからxyzycli.exeを起動するようにしておいて batファイルの中で環境変数設定汁
html+-modeで編集中のページを標準のブラウザで開くのは、
>>20 さんのソースで出来たのですが、標準以外のブラウザでも
開けるようになると、もっと便利になるのですが…
804 :
801 :2006/10/02(月) 14:07:25 ID:gXa1T2UC0
>>802 さん
良いものを紹介くださいまして、どうも有り難うございます。
>>803 さん
お教え願いましたリストで動きました。どうも有難うございます。
ただ、どちらの場合も、Firefox・Operaでスペースを含むパスのファイル
例)C:/Documents and Settings/hoge/My Documents/hoge.html
を開くと、パスがスペースの部分で分割され、上記例だと4分割となり、
各部がタブで4枚分開きエラーとなります。 (Donutは問題なし)
通常URLはスペースを含まないので問題なしと言われればそれまでかも・・・
エンコードとかの問題ですかね?
806 :
801 :2006/10/02(月) 17:55:31 ID:pZjBbSAk0
>>805 さん
レス度々すいません。
>>805 (803)さんのリストを
>>20 さんのに加えて、
(define-key *html+-mode-map* #\C-o (lambda ()
(interactive)
(let ((f (get-buffer-file-name (selected-buffer))))
(if f
(shell-execute "browser.exe" nil f)))))
と、f がパスだと思い込み(lisp不慣れなもので)このようなリストを書きまして、
「動作しました」と書き込んだのですが、見当違いだったかも・・・
(shell-execute ・・・ nil f) の f をダブルクォートで囲んでも意味ないようですし・・・
やっぱ、lisp勉強しないとダメっぽいですね。
>>806 (concat "\"" f "\"")
でいいんじゃないの?
808 :
801 :2006/10/02(月) 19:44:06 ID:eUEY1v3Y0
>>807 さん
どうも有難うございます。
その通りでいけました!
レス下さった皆様に感謝しています m(_~_)m
xyzzyで新規作成したファイルが、UTF-8N,LFにするためには どうしたらいいのでしょうか。
perlでのインデントをタブにしたくて XyzzyWikiのxyzzyでプログラミング/インストールと環境設定というページにあった設定を参考に (require "perl") (setq perl-mode-indent-level 4) (setq ed::*perl-mode-indent-tabs-mode* t) とsiteinit.lに記述したのですがインデントがスペースのままでタブに変更することができません どのように記述すればタブでインデントできるようになるのでしょうか
ダンプし直してないとか?
xyzzy.wなんたらってファイルも消してからやってます (require "perl")のperlを適当な文字に変えると読み込めませんと出て起動できないのでちゃんと適用されてるみたいです
タブ幅が8とかに設定されてるってことはないよね?
>>811 perlのインデントはc-modeの設定をつかってる
(setq c-indent-level 4)
(setq *c-indent-tabs-mode* t)
こう書けばできる
>>814-815 おかげさまでタブでインデントできるようになりました
ありがとうございます
なんとか設定できたのはいいのですが
タブの後にカーソルをセットして、BackSpaceを押すと半角スペースに分解された後に1個半角スペースが消えているようで
タブ幅を4にしてBackSpaceを押すと半角スペース3個になってしまいます
タブを一気に消すっていうのは何か別の設定がいるのでしょうか?
こんなのを
>>811 の直後にでも書けばOK
(define-key *perl-mode-map* #\C-h 'delete-backward-char-or-selection)
>>817 ありがとうございます
よく見たら
>>273 にあったんですね
スレ内検索すらせず質問してしまったorz
バッファ内のすべてのマルチバイト文字を Unicodeエスケープに変換するlispって どこかにないですか? あればどこにあるか教えてもらいたいのですが…
(si::www-url-encode "
http://www.2ちゃんねる.net/ ")
=>"http%3A%2F%2Fwww.%82Q%82%BF%82%E1%82%F1%82%CB%82%E9.net%2F"
…マルチバイト文字以外も変換するからこれじゃダメか。
>>820-821 さん
お二方ともありがとうございます
>>821 さんのコードとhtml-support.lのht:character-to-entityを参考にして
見よう見まねでそれっぽいものが出来ました
#最近lispの勉強を始めたんですが、難しいです…
(defun character-to-unicode-escapes ()
(interactive)
(goto-char (point-min))
(while (< (point) (point-max))
(if (> (char-unicode (following-char)) 127)
(progn
(let ((code (format nil "\\u~X" (char-unicode (following-char)))))
(delete-char 1)
(insert code)))
(goto-char (1+ (point))))))
>>823 さん
情報ありがとうございます
教えていただいた関数unicode-escapeは非破壊的のようなので
それを使って破壊的にUnicodeエスケープの変換をしたかったのですが、
大分知識が足りず希望通りの動作にできませんでした
しばらくは
>>822 を使い、勉強しながらいろいろ考えてみます
>>824 ごめん。励ましあえのスレだったのを忘れてた。
1.
>>823 で紹介したところのunicode-escapeはそのままだとマズいから↓に変える。
(defun unicode-escape (input &optional output)
"ストリームを Unicode エスケープする。"
(let (c)
(while (setq c (read-char input nil))
(if (> (char-unicode c) 255)
(format output "\\u~4,'0X" (char-unicode c))
(write-char c output)))))
2. 3つの関数を*scratch*などで評価して、毎回使うなら.xyzzyなどにコピペ
3. 変換したい範囲をリージョンで指定
4. M-x unicode-escape-region
するとリージョンにした部分がUnicodeエスケープに変換されてる。
常にバッファ全体を変換したいなら以下でも。(ナローイングしてたらバッファ全体じゃないけど)
(defun unicode-escape-buffer ()
"バッファ全体を Unicode エスケープする。"
(interactive "*")
(ed::text-decode-region #'unicode-escape (point-min) (point-max)))
引用符( > )付き貼り付け って出来ます?
827 :
826 :2006/10/07(土) 20:42:38 ID:66UIKfxK0
補足:クリップボードからです・・・
>>827 こんな?
(defun paste-from-clipboard-quote ()
(interactive)
(let ((string (get-clipboard-data)))
(if (and string (stringp string))
(with-input-from-string (stream string)
(let (line)
(while (setq line (read-line stream nil nil nil))
(insert (format nil "> ~A~%" line)))))
(message "クリップボードが空か、文字列じゃない。"))))
>>825 さん
おお、まさしく希望通りの動作です
いろいろと教えていただいて本当にありがとうございました
831 :
826 :2006/10/08(日) 13:38:24 ID:DRx/AYwj0
>828さん 丁寧にリストを書いて頂いたのですが、こちらの技量不足で 使い方が解りませんでした・・・ orz >830さん メニューに追加されるのが良いですね。 レス下さった方々、どうも有難う御座いました。
browserexでフォルダを表示させると、大きいアイコンで表示されます。 これを、一覧等の小さいアイコンで表示されるようにしたいのですが・・・ 尚、browserex.l を眺めてみた所、 > bx:*browser-syslistview-style* に bx:LVS_SMALLICON, bx:LVS_LIST, > bx:LVS_REPORT, bx:LVS_ICONのどれかを代入しておいてください。 > 「大きいアイコン」が標準のようなので bx:LVS_ICON は意味がありません。 とあったのですが、私にはlispの知識が無いので何をどうしたら良いか解らず、 取り敢えず色々調べた末に、初期化ファイル(.xyzzy)に (setq bx:*browser-syslistview-style* bx:LVS_LIST) と入れてみたものの、動作は変わりませんでした・・・ こんな私でも解るように、どのファイルに何を追加或いは変更すれば良いか 具体的にお教え願えるとありがたいのですが・・・
>>832 (setq bx:*browser-syslistview-style-wait* 0.00) 付加えてもだめ?
ファンクションバー ってなんですか? リファレンスを見ていて出てきたんですが、それが何であるのかの説明が見つかりませんでした。
835 :
名無しさん@お腹いっぱい。 :2006/10/10(火) 14:56:27 ID:Wwhzz7Po0
>>833 さん
初期化ファイル(.xyzzy)に付加えでいいんですよね?
(setq bx:*browser-syslistview-style* bx:LVS_LIST)
(setq bx:*browser-syslistview-style-wait* 0.00)
としましたが、駄目でした・・・
>>834 F1〜F12キーに割り当てられた機能を表示するもの。
toggle-function-barで出てくる。
文字列はset-function-bar-labelで自分で設定しなければならない。(たぶん)
やり方によっては自分用のステータスバー代わりになるかもね。
837 :
sage :2006/10/10(火) 23:18:44 ID:oyk1hH5I0
outline-treeのアウトラインタイプでC言語ってないんですか?
>>835 俺はそれでできてるんだけどな…。それじゃわからないや、ごめん。
>>836 ありがとうございます。
こういう風に出すんですね。
839 :
835 :2006/10/11(水) 13:25:13 ID:s9yvdRNZ0
>>838 さん
こちらでの結果は駄目でしたが、教えて頂き感謝してます。
こちらの方に何らかの不具合があるのでしょう。
どうも有難うございました。
>>838-839 おれのとこでもやっぱり駄目だった。
使っている browser.dll が違うのかもね。
841 :
ひみつの文字列さん :2024/11/30(土) 12:30:39 ID:MarkedRes
日本国またはアメリカ合衆国、もしくはその両方の著作権法に触れる内容であると疑われることから表示できません。
>>841 上の人とは別人だけど、ハッシュ値同じで
>>832 の設定書いたら小さいアイコンになりました
843 :
835 :2006/10/12(木) 11:50:53 ID:w8Xso7xh0
>>842 さん
貴重な情報、有難うございます。
という事は dll が原因になっている訳ではない ってことですね・・・
0.00じゃなくて例えば0.50にしたらどうなん?
>>837 ないね。
とりあえずは、適当に正規表現で設定するのがいんじゃない?
あとはXTAGか、list-fuctionのやつか。
>>844 さん
それもやってはみたんですが、変わらなかったです。
847 :
sage :2006/10/13(金) 21:08:15 ID:sW5LI6BD0
編集中バッファのテキストサイズ(バイト数)を知る方法ってナイです?
>>848 過去にも同じ質問あった気がする。
結局次に落ち着いたと思う。
A. 保存してファイルサイズを確かめる。
B. バイト数はあきらめて、文字数にする。
>>848 多分こうじゃないかな。
(defun file-length-current-buffer ()
(interactive)
(message (format nil "~A バイト" (file-length (get-buffer-file-name (selected-buffer))))))
851 :
850 :2006/10/15(日) 17:37:09 ID:G+xq+EKh0
編集中ということならこうか。(多分) (defun file-size-current-buffer () (interactive) (message "~A バイト" (+ (length (convert-encoding-to-internal *encoding-binary* (buffer-substring (point-min) (point-max)))) (save-excursion (goto-char (point-min)) (count-matches "\n")))))
>>851 内部コードの文字列長と、改行文字の文字数を加算していますが、
出力時の文字コードで計算しておらず、また、改行コードの種類を考慮に
いれていないため求めたい値になりません。
854 :
850 :2006/10/15(日) 18:03:27 ID:G+xq+EKh0
>>853 じゃあ、一度仮のファイルに保存してファイルサイズを
調べればいいんじゃないかな。
さほど難しいコードではないので、自分で作ってみて下さい。
結局 849 A. 案だよな
856 :
850 :2006/10/15(日) 18:24:04 ID:G+xq+EKh0
仕方ないのでこれでどうでしょう? これでダメならやっぱり849 A. 案かな。 (defun file-size-current-buffer () (interactive) (message "~A バイト" (+ (1- (si:chunk-size (si:make-string-chunk (buffer-substring (point-min) (point-max))))) (save-excursion (goto-char (point-min)) (count-matches "[\r\n\x0D]")))))
>編集中バッファのテキストサイズ(バイト数)を知る方法ってナイです? どの方法がいいかは知りたい理由によるかな 俺は400文字以内とかで書くことがおおいから 常に表示されてないとダメだしさ
>>857 その場合は文字数だからまだ簡単だけどね。
>どの方法がいいかは知りたい理由による
というのは同意。
>>848 も情報を小出しにするからややこしくなる。
859 :
850 :2006/10/15(日) 19:03:09 ID:G+xq+EKh0
ついでに、モードラインに表示するならこんな感じかな。(856のコードでいいならば) (defun buffer-size-current-buffer () (+ (1- (si:chunk-size (si:make-string-chunk (buffer-substring (point-min) (point-max))))) (save-excursion (goto-char (point-min)) (count-matches "[\r\n\x0D]" nil t)))) (defun mode-line-formatting () (setq mode-line-format (format nil "[%i] %#* %#F %P (%M) [%k:%l] ~A : ~A" (buffer-size-current-buffer) (format-date-string "%Y/%m/%d %H:%M:%S"))) (refresh-screen)) (add-hook '*pre-startup-hook* #'(lambda () (start-timer 1 'mode-line-formatting))) バッファ毎に表示を変えるのは誰かやって下さい。(できるかどうか知らんけど)
> バッファ毎に表示を変える (make-variable-buffer-local 'mode-line-format) でいいんじゃない
861 :
850 :2006/10/15(日) 19:25:16 ID:jZAADC270
>>860 ああ、ほんとだ。このほうがいいね。
質問者じゃないけれど、サンクス。
>>856 も、内部コードでのサイズで計算しているので異なりますよね。
保存しない場合は
buffer-eol-code
buffer-fileio-encoding
map-internal-to-hogehoge
あたりの関数を使って頑張るんだと思いますが、そんなことするぐらいなら
保存をする
>>849 A. 案が確実で、楽ですね。
863 :
850 :2006/10/15(日) 21:10:59 ID:jZAADC270
じゃあ、xyzzy:MLの 08218 のコードあたりでOKですかね。 timer とか *post-command-hook* とかで使うには重くなりそうですが。 xyzzy:08223 にできそうなことが書いてありますが、 気の向いた方にお任せします。
そういえば、MLのウェブアーカイブは検索できなくなってます。
866 :
850 :2006/10/15(日) 21:48:56 ID:jZAADC270
>>864 > 保存時にファイルサイズを表示するというのも、手軽でよさそうかなと思ったけど。
これが一番問題がなく、動作スピードに影響もださず、実用的だと思います。
簡単で、はまることもないですしね。
今更ながらの、質問者(848)です。 抽象的な内容だったようでスミマセン。 バイト数と書きましたが、文字数でも良かったです。 一時的にコピペしたテキストサイズを知りたいことがあるので このような質問をしました。 色々と参考になるご意見、ありがとうございました。
08221に08225を足してみた。 (defun get-buffer-byte (buffer) (set-buffer buffer) (let ((byte (- (si:chunk-size (si:make-string-chunk (convert-encoding-from-internal (buffer-fileio-encoding) (buffer-substring 0 (point-max))))) 1))) (if (= 1 (buffer-eol-code buffer)) (- (+ byte (buffer-lines buffer)) 1) ;crlf byte)))
870 :
850 :2006/10/15(日) 23:32:47 ID:2Yvz2y1H0
>>869 この方が良いかも。
(defun get-buffer-byte (buffer)
(set-buffer buffer)
(save-restriction
(widen)
(let ((byte (- (si:chunk-size
(si:make-string-chunk
(convert-encoding-from-internal
(buffer-fileio-encoding) (buffer-substring 0 (point-max)))))
1)))
(if (= 1 (buffer-eol-code buffer))
(- (+ byte (buffer-lines buffer)) 1) ;crlf
byte))))
>>871 >この方が良いかも。
理由を一言書いてくれると初心者のためかも
>>872 ナロウイング(narrow-to-region)された状態で、
869を実行すると範囲外のテキストがカウントされない。
871ではナロウイングを一時的に解除している(save-restriction)。
>>859 >>870 を見てモードラインに総文字数を表示ってやってみたけど、重過ぎて無理だな
タイマーでcount-machesが無謀すぎるのか
(interactive "*") のコマンドが インタラクティブに呼び出されたときだけ 呼び出されるフックがあるといいんだけどね。
876 :
873 :2006/10/16(月) 21:35:56 ID:+eLtD3gL0
>>873 あ、一応補足しておくけど、
ナロウイングを解除してるのが
widen
で、元の状態に戻してるのが
save-restriction
な。
>>874 総文字数は (- (point-max) (point-min)) で取れる
>>874 ナロウイングも考慮するとこうかな。
(- (buffer-size) (- (buffer-lines) 1))
>>876 あまり考えてないけど、save-excursion はいらないのかな?
>>879 ぱっと見、カーソルを動かすコマンドはなさそうだから必要ないと思う。
>>879 set-bufferしてるからsave-excursionも入れといた方がいいかもね。
882 :
874 :2006/10/16(月) 23:50:39 ID:zgMcbtBj0
>>877 スペースはともかく、改行文字って数えるか?
まあEOFみてbuffer-lines引けばばなんとかなりそうだが
>>882 >スペースはともかく、改行文字って数えるか?
目的によるでしょ
なんでまたかみついてるの???
882じゃダメなのかい?
どうでもいいけど、オマライ自意識過剰すぎじゃね。 苦労しそうだね。
質問があいまいだったり、レスを読まなかったりするから ややこしくなってるだけじゃないの? まあ、おかげでバイト数をとれるようになったぽいのは 良かったのかもしれないけど、答える方はしんどいね。
>>887 神経質ではないと思うよ。
これぐらいの緻密さは普通に必要。
というか、いろいろはっきりさせていなくて、緻密でもない。
>>888 自意識過剰でもなく神経質でもなく綿密でもないなら
なんだというのですか?
焼肉定食
>>889 普通じゃないの。
わからないのは、せっかくレスをもらってるのに
882のような言い方になることかな。
まあ、最近このスレも逆ギレ君が多いし別に驚かないけどね。
>>889 「自意識過剰」はあなたしか否定していませんよ?
そして「綿密」でなく「緻密」。
よく判らないからそこら辺を CommonLisp で表現してください
(eq 綿密 緻密) => nil
895 :
887 :2006/10/18(水) 04:40:07 ID:trtRvLzP0
>>892 待ってくれ。自意識過剰を否定したのは俺だ。
>>889 とは別人
そして神経質とは言ったが、悪い意味じゃなく
xyzzyを使う人は普通の人より多少神経質な方がいいと思ってる。
神経質って言葉が気に入らないなら「緻密さを好む」に変えといてくれ
俺の緻密↓ ;; よくわからないけど動いてるから弄るな
本来は質問者がバイトなのか文字数なのか改行とかも考えて質問すべき ただそうじゃない質問には回答者が脳内補完で答えず 条件を聞いてから答えればこんなにはもめなかったとおもう。
もう、いいじゃないか。 久しぶりにぐだぐだ言い合って楽しめたし。 これが続くとたまらんが。
このスレはいつも地道にいいペースでのびていますね
すみません、教えてください。 リファレンス用として refer-for を導入したのですが reference.xml refer-for.xsl refer-for-search.xsl がないと怒られてしまいます。/etc/にはいれてあるのですが・・・ あと、2ch-modeのbookmark.htmlも同じように怒られます。 両方ともxyzzyにファイルを置くと動くのですが。 特別etc-pathをいじった記憶ないのですが何故なんでしょう
>>565 ども。
ようやくですが、更新しときました。
オートインデントとして、 (global-set-key #\RET 'newline-and-indent) で使用していますが、他エディターと挙動が違うので使い勝手が今ひとつです。 前行の行頭に半・全角スペース、タブがある場合、次行も同様の半・全角スペース、タブを 自動入力(他エディターでのオートインデントの挙動と同様)することは出来ますか?
>>903 (defun newline-and-imitate-indent (&optional (arg 1))
(interactive "*p")
(let (indent)
(save-excursion
(goto-bol)
(when (looking-at "^[ \t]+")
(setq indent (match-string 0))))
(dotimes (i arg)
(insert "\n" (or indent "")))))
>>904 どうも有難う御座います。
希望通りの動作で感激です。
kamail3でBCCに大量のアドレスを設定すると、メールが送れない、本文が書けない ということになるのだけど、うちだけかな
うん
908 :
名無しさん@お腹いっぱい。 :2006/10/30(月) 12:14:50 ID:/TyU8uBo0
kamailのアドレス帳って、同じメアドを違うGROUPに登録できないですよね? <>でくくれば登録できたけど、何かいい方法ないですかね?
間違った文字コードで読み込まれるたびに"C-u M-x : revert-buffer"からutf8nを選んでいるのですが、 これを好きなキーバインド1つでutf8nに出来ますでしょうか。 さらに欲を言えば文字コード判定の精度がもっとよくなればいいのですが…。
>>909 (global-set-key {好きなキーをここに}
#'(lambda ()
(interactive)
(revert-buffer *encoding-utf8n*)))
> さらに欲を言えば文字コード判定の精度がもっとよくなればいいのですが…。
ファイル先頭から何バイトか読んでエンコード判定して
るんだけど、この(何バイトか)が本体側で決め打ちさ
れてて、Lispでは制御できなかった覚えがある。
emacs同様にコメントとして -*- coding: utf-8 -*- 記述しておけばよかったような気がする
ファイルをいじっても構わないなら -*- encoding: utf-8 -*- とファイルの始めのほうに書いておけばOK。 あるいは、ファイル名に何らかの特徴があるのであれば *auto-encoding-alist* も使えるかも。
>>910 ,911,912
すごく楽になりました。本当にありがとうございます。
>>904 氏のオートインデントで、
入力行が 半・全角スペース、タブ のみの入力で改行された場合、
改行のみに置き換え、次行はインデントさせない様にするには
どうすれば良いでしょうか?
>>914 こんなんか?
(defun newline-and-imitate-indent (&optional (arg 1))
(interactive "*p")
(let (indent eol)
(save-excursion
(setq eol (progn (goto-eol) (point)))
(goto-bol)
(when (looking-at "^[ \t]+")
(if (= eol (match-end 0))
(delete-region (match-beginning 0) (match-end 0))
(setq indent (match-string 0)))))
(dotimes (i arg)
(insert "\n" (or indent "")))))
>>915 おお、ナイスです!
どうも、有難うございました!!
質問というより疑問を いくつか lisp 見たけど setf じゃなくて setq を使っているのがほとんど これってどうしてかな 速度? マクロ展開されるからあんまり関係ない気がしないような気もするけど
>>917 1. 昔から setq を使っていて、特に setf に変える理由が無いから。
2. コンパイルしなければ setq のほうが早いから。
3. 単純な変数に代入しているだけなことを明確にするため。
こんな感じ?想像だけど。
とくに意味はないが普通の変数にsetfを使うのは何かしっくりこない。 バイトコンパイルすりゃあ同じなんだろうけど。
俺の場合だいたい 918 で挙げられたとおりかな。 ただ、速度面はあまり意識したことがなかったんで、 比較してみたんだが、思ったよりコンパイル前後の速度差があるなぁ。 (defun foo (count) (let (qtime ftime i) (dotimes (j 2) (setq qtime (si:performance-counter)) (dotimes (k count) (setq i k)) (setq qtime (- (si:performance-counter) qtime))) (dotimes (j 2) (setq ftime (si:performance-counter)) (dotimes (k count) (setf i k)) (setq ftime (- (si:performance-counter) ftime))) (format t "setq(count ~A): ~@10A (AVG: ~@5A)~%setf(count ~A): ~@10A (AVG: ~@5A)~%" count qtime (truncate (/ qtime count)) count ftime (truncate (/ ftime count))))) (foo 10000) setq(count 10000): 270629 (AVG: 27) setf(count 10000): 8047492 (AVG: 804) (compile 'foo) (foo 10000) setq(count 10000): 5574 (AVG: 0) setf(count 10000): 5501 (AVG: 0)
>>917 emacs lisp intro だと setq しか使ってないから。
そりゃemacs lispには元々setfは無いし。
>>922 emacs lisp に元々 setf があろうがなかろうが、
xyzzy で setf でなく setq を使っている理由は
>>921 なんでしょ。
基本的に文化的なものと考えていいのかな?
Emacs 文化から流れてくるいろいろなリソース、または考えが根底にある分そうなるって感じで
自分は統一的にバインドが使える方が脳に優しいと思うので setf 派なんだけどね
>>920 を見ても機能的には問題無さそうなのでこのまま行こうかな
そこの、si:performance-counterって何をするもの?
見ていたら何となく分かったのでいいや。
>>923 elispにsetfが無いから、emacs lisp introではsetqしか使ってないのはあたりまえ
と言いたかった。
少なくとも命令が何かを意識しないと 2chインプリタとは意思疎通ができ(ry
>>927 setq だけじゃなくて set がある。
931 :
927 :2006/11/03(金) 22:04:36 ID:BDEv4RTb0
>>930 うん、わかってるよ。つまりは伝統とか習慣ってことだね。
多分
>>922 の考えを言うならば
>>917 そりゃemacs lispには元々setfは無いし。
つまりは伝統とか習慣ってことだね。
と書けば良かったと思われ。
何か人間業の真髄を見たような気がする。
もしsetfなかったら鬱で死にたくなる性分だが emacsにはないのか……
>>933 Common Lisp 使えるようにするライブラリがたしかあったよ。
質問です。 会社でxyzzyを使っています。先日ネットインストーラを使おうとしたところ タイムアウトで失敗しました。 理由は会社から外部へ接続する際に自動構成スクリプトなるものを利用している ためだと思われます。 xyzzyでプロキシの設定はできるみたいなのですが自動構成スクリプトに対応させることは できるのでしょうか?教えてください。
>>935 出来なくはないけど、自動構成スクリプトの中身を見て自分で設定した方が楽。
だれかmew移植してー
939 :
名無しさん@お腹いっぱい。 :2006/11/07(火) 12:17:05 ID:JZMv9H0y0
>>935 www-mode使えるようにすれば自動的に使えるんじゃないの?
ID がなんとなくxyzzyだったので記念ぱぴこ
すごいんだけど、良く見たらちょっと違う件について。
なんとなく杉
>>940 そんなIDじゃシティーハンターも助けてくれないよ
JavaScript等で正規表現中に奇数個の"が出てくると シンタックスが妙なことになるんですが、 何か対策方法はありませんか? 例えば "hoge\"".match(/hoge"/); と書くと最後の"/);以降が(次の行以降も)文字列として色付けされてしまいます。
>>944 "hoge\"".match(/hoge"/); //"
みたいにコメントに"を書くとか
JavaScript知らんけど、正規表現中でエスケープ出来ないの?
試してみたら出来ました orz でもこれだと人の書いたエスケープしていない正規表現はどうしようもないので、 できればxyzzy側でどうにかしたいです。 あと、 "hoge/".match(/hoge\//); "hoge".match(/hog*/); の最後の//が一行コメントの開始、*/が複数行コメントの終了とみなされて、 これ以降の行でインデントやらparenの対応が崩れてしまいます。 どなたか知恵をお貸しください。
無理だわな。自分でxyzzy のコンパイルからやればいい。
parenを改造すりゃいいんでない?
正規表現のところだけ違う色とかに塗ってみるとか。 除外するとかしたい感じだね。
(set-syntax-start-multi-comment ed::*jscript-mode-syntax-table* "(/") (set-syntax-end-multi-comment ed::*jscript-mode-syntax-table* "/)") ……ダメかな
/* */ がコメントじゃなくなるな……
/* */はlispで塗ったらいいんじゃないかな。 そんなに沢山出てくるとも思えないし。 多少重いかも知れないが。
これはインデントとparenの関数を書き換えればいいんじゃないのか?
それだけでは色の範囲がおかしいままでは?
hatena-dairy-modeで更新が出来ないのだけど、同じ症状の人いますか?
文字列の検索で、ヒットした文字列(反転表示)を 何れかのキー入力で、一発消去→入力文字を挿入 (セレクションでの動作と同等)することって出来ます?
958 :
名無しさん@お腹いっぱい。 :2006/11/13(月) 02:10:05 ID:P6HYclhM0
>ヒットした文字列(反転表示) を選択に変更すればいいんじゃない? ツール → 共通設定 → さまざま → 検索での表示 → 選択する
(ノ∀`) アチャー こんな設定があったんですね・・・ ありがとうございました。
katexについての質問はここでいいんでしょうか? 他に適当なところが見つからなかったのでここに書かせてもらいます。 C-c t J でコンパイルしたとき、ソースにエラーがあると typesetting画面に警告が出るとともに、 コマンドプロンプト画面も出たままになりますが、 typesettingをqで抜けてもコマンドプロンプトは出たままです。 これを自動的に消すようにはできますか?
>>960 qで消しても、platex がファイルをロックしていてうぜぇってこと?
とりあえず q じゃなくて、 x リターン q と3回押せば ok
>>961 まさに、毎回コマンドプロンプトを消すのがうぜぇと思ってました。
ありがとうございました。
次スレは?
テンプレに変更なければ俺やるよ。
>>964 最初C-c h sでクッキーの見直しを散々やったのですが、どういうわけかcrylib/db
ファイルの書き換えがされなくなっていて、駄目だったです。
結局マルウェア監視ソフトの設定を見直している内に、ちゃんとIEのcookieが読み
込まれたり、firefox側のcookie設定が反映されるようになり変更だけは出来る
ようになりました。
でも新規作成だけは今でも失敗するのですよ。不思議だ
csharp-modeのキーマップを変更したいのですが 『変数が定義されていません: editor::*csharp-mode-map*』とのエラーがでてしまします。 .xyzzyに追加したコードは以下のものです。 ;c-jをオートインデント改行に (define-key ed::*csharp-mode-map* #\c-j 'c-newline-and-indent) c-modeやc++-modeでは同じような感じで問題無いのですが・・・。
>>968 autoload で csharp-mode をロードしているだろうから、
(require "csharp-mode") ?
としてから設定を書くのが一番簡単な修正法。
*csharp-mode-hook* にその設定をする関数をフックしてもいいけど。
>>967 いつも画像をうpする関係で、新規作成はブラウザからしかした事がないので役立てずorz
はてなの仕様変更についていけてないのかもね。
デフォルトのモードを (setq *default-buffer-mode* 'text-mode) と設定した状態でバッファを新規作成すると、そのバッファで clickable-uri のURI 強調表示が無効になってしまうのですが、 何か良い解決策はナイですか?
>>973 自己レスです。
(add-hook 'ed::*text-mode-hook* #'clickable-uri-recenter)
とした所、強調表示するようになりました。
お騒がせしました。
2画面ファイラーでドライブ直下にいる場合だけBackSpaceで ドライブ一覧を表示することはできますか? ダイアログではなくファイラの中身部分にでるとより便利で嬉しいです
>>976 ありがとうございます。うまく動きました。
html+-mode の設定で、*html+-show-split-window-lines* → 「対応するタグの表示時にウィンドウを分割する行数」 というのがあるのですが、設定してみても変化がみられません。 一体これは、何の設定ですか?
終了タグを打った時、開始タグとカーソルが行き来するけれど、 開始タグが画面の外にある場合は一時的にウィンドウが分割されて開始タグが表示される。
そろそろ次スレかな?
>>979 なるほど、そうでしたか。
有難うございます。
x
Emacs もそうだけど if のインデントがムカツク 偽の条件のインデント揃えろって progn 内包しているからって余計なことしないで良い 処理系いぞんな記述を強いるな
>>984 これじゃダメなの?
(setf (get 'if 'lisp-indent-hook) nil)
インデントと lispの処理系は別だからなぁ。 python は違うけど。
デフォルトが亀井さん好みになってるってだけでしょ。 オレはifのインデントはthen節とelse節が区別しやすくていいと思ってるんだけど。
>>984 おまえの脳内のことなんて聞いてないよ?
埋めネタに丁度いいな
言語仕様とか良く分からんから聞きたいんだが、 なんであの if のインデント形式だと処理系依存な記述になるの?
>>990 処理系によって else 節以下が progn と同じように手続き的に書ける物がある
それに合わせてインデントレベルを変えるわけだ
逆に判りづらい
>>991 Emacs と Common Lisp の if が違うのは理解してる?
Common Lisp の if文は else節に1つのS式しかこないんだけど。
>>992 だからそれを言っている
Emacs の場合はインデントがああなるのは意味がわかるが
xyzzy がああなるのは理解出来ない
何が気に食わないのかよく分からないけど indentをlispで書き直せばいいだけじゃないの? デフォの設定が気に食わないって問題でしょ?