xyzzyの使い方が分からぬやし 励ましあえ その11at SOFTWARE
xyzzyの使い方が分からぬやし 励ましあえ その11 - 暇つぶし2ch1:ミスターエックスワイジー
07/10/06 23:44:07 L/pKByeF0
xyzzyってさ、一見さんお断りの京都料亭みたいでさ、何から手をつけていいのかわからないでしょ?
とりあえず,初心者同士で解決できる問題はまず過去ログ・グーグルで検索した後ここで相談しましょう
たとえば
 ・ここのHPに書いてある通りにやりましたができません.
 ・xyzzyが起動しなくなりました.
 ・キーバインドってどうやって変更するの?
初心者の私が答えられるのはこの程度です.

自分でlispが書けるような方,こんな機能が欲しいのですが
だれか作ってくださいという方は Win板本スレへ。

xyzzy Part15 @Win板(通称:本家)
スレリンク(win板)
過去ログ & 関連リンクは>>2-5あたりに。

2:ミスターエックスワイジー
07/10/06 23:44:51 L/pKByeF0
■ 過去ログ
10:スレリンク(software板)
9: スレリンク(software板)
8: スレリンク(software板)
7: スレリンク(software板)
6: スレリンク(software板)
5: スレリンク(software板)
4: スレリンク(software板)
3: スレリンク(software板)(DAT落ち?)
2: URLリンク(pc2.2ch.net)
1: URLリンク(pc2.2ch.net)

3:ミスターエックスワイジー
07/10/06 23:46:12 L/pKByeF0
■ 関連リンク
・xyzzy 公式サイト
URLリンク(www.jsdlab.co.jp)

・XyzzyWiki
URLリンク(xyzzy.s53.xrea.com)

・XyzzyWiki QuickTour
URLリンク(xyzzy.s53.xrea.com)

・HIE no xyzzy (QandA, 拡張ライブラリ集, Note, Tipsなど)
情報てんこもり,大抵の拡張リスプはここに集められている
URLリンク(hie.s64.xrea.com)

・2ch-mode、www-mode、Kamail
URLリンク(www7a.biglobe.ne.jp)

・outline-tree2、browserex、ggrep
URLリンク(ohkubo.s53.xrea.com)

・黒い羽根 (デフォルトキーバインドの解説など)
URLリンク(www.uranus.dti.ne.jp)

・xyzzy lispを勉強出来るページ
URLリンク(www.geocities.jp)

・complete+、ac-mode
URLリンク(white.s151.xrea.com)

4:名無しさん@お腹いっぱい。
07/10/06 23:47:56 uRCyYACX0
>>1


5:名無しさん@お腹いっぱい。
07/10/07 00:53:38 DJB6icfF0
>>1
乙です。

6:名無しさん@お腹いっぱい。
07/10/07 03:32:01 1N3lpIpP0


7:名無しさん@お腹いっぱい。
07/10/07 15:00:05 DgsKKLNA0
>>1

8:名無しさん@お腹いっぱい。
07/10/08 20:57:51 hS+flFl10
前スレでxyzzyで日本語変換が出来ないってどんな理由だろ
Emacsに比べるとはるかに簡単にその辺がカスタマイズできると思うが。
日本語との親和性はxyzzyが高いと思う。


9:名無しさん@お腹いっぱい。
07/10/08 22:00:31 3fGeqvAD0
>>8
> 前スレでxyzzyで日本語変換が出来ないってどんな理由だろ
日本語環境の良し悪しは出ていたが、変換ができないとはどこにも出てないが?

10:名無しさん@お腹いっぱい。
07/10/08 22:04:44 wN65O0vz0
UNIXやMAC上のEmacsでSKKなんかを使っていて、それをWindows上でも使うにはMeadowやNTEmacsの方が
いいってことじゃない?

日本語との親和性が高いというのは全くその通りだと思うね。

しかし、複数のOSを使う人にとっては同じ設定で使えるEmacsの方がいいのは分かるね。
Windows上でEmacsを使う人にはUNIXやMACを使っている人が多いんじゃないかな?

11:名無しさん@お腹いっぱい。
07/10/08 22:08:36 iw2p6fGh0
前スレ999はドザではないに一票。
ちなみに俺は前スレで人生初の1000ゲット。

12:名無しさん@お腹いっぱい。
07/10/09 01:11:52 e74lr0/B0
何か論点がズレてるというか、会話すら成り立ってないなw

13:名無しさん@お腹いっぱい。
07/10/09 04:42:36 jtqmsuf10
前スレ999の
>へぇ。
>個人的には im とシームレスに連携するのに emacs の方が便利だから、
>xyzzy では日本語使わないなぁ。
>たとえば、boiling な入力したり、リージョン選択して再変換とかできるから
>emacs の方が使いやすく感じる。

に対して、>>10のレスは論点はずれていないんじゃないの?
EmacsLispの移植は面倒だが、Windows上ではAtokなんかを使った方が入力は速いし(金はかかるが)
xyzzyを使うメリットは大きいと思うけどね。セレクションの再変換はMSIMEでも出来るし。

用途によってどのエディタが適しているかは人それぞれだが、日本語環境においてxyzzyが優れているのは
確かだと思うね。

14:名無しさん@お腹いっぱい。
07/10/09 08:15:02 e74lr0/B0
>>13
> EmacsLispの移植は面倒だが、Windows上ではAtokなんかを使った方が入力は速いし(金はかかるが)
> xyzzyを使うメリットは大きいと思うけどね。
それは別にAtokの利点であってxyzzyの利点ではなく無いか?
それだったら別にEmacsでAtok~でもいいわけだし。

> セレクションの再変換はMSIMEでも出来るし。
マウス使うの面倒くさい。

> 用途によってどのエディタが適しているかは人それぞれだが、日本語環境においてxyzzyが優れているのは
> 確かだと思うね。
結局日本語環境でのxyzzyの利点って、今までの流れだと
表示が高速って事しか出てないじゃないか。

15:名無しさん@お腹いっぱい。
07/10/09 09:09:29 xbkc53e70
セレクションってキーボードでもできなかった?

16:名無しさん@お腹いっぱい。
07/10/09 12:43:01 MuvpiQyu0
windows環境でemacsではなくxyzzyを使う理由を説明させられてんのか?

17:名無しさん@お腹いっぱい。
07/10/09 15:35:48 XGMoGDxb0
指定桁での折り返しとnext-virtual-lineとかがあるところがxyzzyのいい点かな。
日本語を打つ場合にemacsと比べて。

18:名無しさん@お腹いっぱい。
07/10/09 18:24:33 ForqAnYP0
自分でタブバーを定義できるから使ってる。バッファ以外もタブで管理したい。

19:名無しさん@お腹いっぱい。
07/10/09 19:36:33 jtqmsuf10
>>14
>マウス使うの面倒くさい。
セレクションの再変換はキーボードのみでも出来るね。

>結局日本語環境でのxyzzyの利点って、今までの流れだと
>表示が高速って事しか出てないじゃないか。
それはかなり大きいと思うが。

あとは、Windows上での安定性の高さかな。emacs(meadow)だと単体で使う分にはいいが、起動していると
他のアプリで文字が入力ができなくなるなどの問題があったと思う(今はどうだか知らないが)。
moccur-grepでmeadowが落ちたこともあったし、ⅰⅱⅲなどの文字が含まれるテキストを開くとテキスト全体
が文字化けするのも問題だと思う(これは本家emacsでもそうなるらしい。文字化けを防ぐための拡張はあるようだが)。

mewやhowmの最新版などを使ってみたいとは思うが、移行する気にならないのはこれらの問題があるからかな。
emacsも資産や機能の多さなど良いところは沢山あるので、もう少し描画の高速化や安定性を高めてもらいたい
とは思うね。

20:名無しさん@お腹いっぱい。
07/10/09 19:54:51 mRRa5KLb0
これだけの高機能でこの速さは異常だな
あと個人的にはCommon Lispってのが利点
レキシカルクロージャ万歳
主要エディタでは無いんだけど

21:名無しさん@お腹いっぱい。
07/10/09 20:00:39 vkGKPS1L0
emacsは難しくて挫折したからxyzzy使ってる
これだけの高機能でそこそこ簡単に使えるのは凄い

22:名無しさん@お腹いっぱい。
07/10/09 20:10:36 mRRa5KLb0
なんか論点がずれてたw
日本語入力環境の話か
それならEmacsに利点があるんじゃないの?
xyzzyはあんまり気にしないですぐ使えるのが利点だな
その分出来ること少なくなっているけど

23:名無しさん@お腹いっぱい。
07/10/09 20:16:00 jtqmsuf10
>>22
>日本語入力環境の話か
>それならEmacsに利点があるんじゃないの?
具体的にどうぞ。

24:名無しさん@お腹いっぱい。
07/10/09 20:21:12 mRRa5KLb0
xyzzyってlispからフォント関係弄れたっけ?
あとプロポーショナルなるとか細かい行間、文字間隔
違うスタイルのフォントの混合とか
あと各種IME関係のインターフェース周りとか
そんなに詳しくないんだけどxyzzyはそこら辺あんまり気にしてなかったような

texの出力をそのまま表示できるelisp見た事あるけどあれはちょっとかっこ良かったな

25:名無しさん@お腹いっぱい。
07/10/09 20:33:24 jtqmsuf10
>>24
>xyzzyってlispからフォント関係弄れたっけ?
それは出来ないはず。

確かにフォント関係の自由度はemacsの方が高いし、外字が表示できるのもいいね。

>あと各種IME関係のインターフェース周りとか
これはSKKなどのことかな?
SKKのdcompなんかはいいね。うちはATOKにしてしまったけれど。

26:名無しさん@お腹いっぱい。
07/10/09 20:56:17 ForqAnYP0
ATOKの推測候補リストがlispで操れたら無敵なんだけどな。

27:名無しさん@お腹いっぱい。
07/10/10 06:04:22 9Rs4Gxem0
日本語環境全体を含めた場合は兎も角
唯の変換程度の話ならxyzzyの方が簡単にできるのは気がするのに
あの発言は流石にナンセンスだとおもわれ。

xyzzyだとフォントとか適当に処理してくれて設定しなくてもいいのは
使いやすさの点では利点もあると思われ。

28:名無しさん@お腹いっぱい。
07/10/10 08:09:27 K7bLrLmw0
>>26
emacsならできる。
xyzzyでもiiimf実装すればできる。
winのatokじゃ無理だけど。

29:名無しさん@お腹いっぱい。
07/10/10 16:16:07 AzncleKp0
もうEmacsはいいよ。Windowsの環境下で比べてんのにWinは無理とかもうね。

30:名無しさん@お腹いっぱい。
07/10/10 16:19:08 8gcXhHB+0
SKKIME使えばいーじゃん!(ピコーン

31:名無しさん@お腹いっぱい。
07/10/10 20:10:00 ylkihUMN0
イラネ

32:名無しさん@お腹いっぱい。
07/10/12 18:41:53 8ZCEylIt0
今、2ch-mode で「将棋・チェス」板や「囲碁・オセロ」板が
みれない(「スレ一覧の形式がわからんよ」のエラー)ん
だけど、どうしたんだろ?

該当ディレクトリの subject.txt を消してもダメでした。


33:名無しさん@お腹いっぱい。
07/10/12 22:25:50 RIZNPNBT0
鯖移転の最中だった?

34:032
07/10/13 00:12:31 FYBx1W960
とりあえず、.2ch/ のファイルを最低限残して削除したら
直りました。お騒がせしました。m(_ _)m

35:名無しさん@お腹いっぱい。
07/10/21 16:36:14 vbzxyQvy0
前レス>>936の逆ができる関数(文字列入力でunicode出力)ってどうすればよいでしょうか?

36:名無しさん@お腹いっぱい。
07/10/21 16:44:40 vbzxyQvy0
まちがった。文字列からユニバーサルキャラクタ名出力でした。

37:名無しさん@お腹いっぱい。
07/10/21 16:54:40 3VCYckNI0
(defun string-to-uni (text)
  (apply 'concat
         (map 'list #'(lambda (x)
                        (format nil"\\u~4,'0x" (char-unicode x)))
              text)))
こんなの?

38:名無しさん@お腹いっぱい。
07/10/21 19:40:21 vbzxyQvy0
>>37
どうも
\\hoge\\、、、、と\が2つ生成されてしまいます
\ひとつにするにはどうすればよいでしょうか?


39:名無しさん@お腹いっぱい。
07/10/21 20:14:02 a9fovtx50
>>38
\ ひとつにつきふたつ表示されます

40:名無しさん@お腹いっぱい。
07/10/21 20:18:22 a9fovtx50
ちょっと分かりにくかったかな
\ はエスケープされるので二つに見えてるだけです

41:名無しさん@お腹いっぱい。
07/10/22 21:19:53 QoYVWueB0
>>40
ども 使い始めたばかりでよく理解できてませんが、上記関数で\をひとつにすると
生成されてるのでしばらくはこれで使ってみます。
本屋行って入門xyzzy買ってきた。

42:名無しさん@お腹いっぱい。
07/10/24 17:00:20 CuypwvTx0
テキスト文を打っていると、

あるとき突然改行を押したとき、
先頭に空白が自動で出るようになってしまうことがあります。

直しかたがわからないので毎回再起動しなおしているのですが、
一体何が起きているのでしょうか?

43:名無しさん@お腹いっぱい。
07/10/24 17:05:51 vZrx2eMA0
自動インデントじゃ!
自動インデントのしわざじゃ!

44:名無しさん@お腹いっぱい。
07/10/24 17:31:35 7qkOwjk00
怖ろしや
>>42は自動インデントに捕り憑かれてしまったのじゃな
なんみょーほーれんげきょーなんみょーほーれんげきょー


45:名無しさん@お腹いっぱい。
07/10/24 19:07:30 CuypwvTx0
なるほど、除霊してきます。
ありがとうございました。

46:名無しさん@お腹いっぱい。
07/10/24 20:37:20 UprxoSIU0
この世に不思議なことなどないのです

47:名無しさん@お腹いっぱい。
07/10/24 22:04:32 9l2TC9rv0
久しぶりに来たら京極スレになっとるがな。

48:名無しさん@お腹いっぱい。
07/10/25 10:25:31 jm60ocCO0
もうxyzzyの使い方がわからない人は居ないみたいだな
wikiが充実してるもんな
昔は.xyzzyの作り方とかバイトコンパイルのやり方とかの質問で溢れてた

49:名無しさん@お腹いっぱい。
07/10/25 19:02:46 kEYfm17K0
(require "junk/http")
(defvar *google-suggest-url* "URLリンク(www.google.com))
(defun google-suggest-query(string)
(with-open-stream (stream
(junk::junk-http-get-url
(concat *google-suggest-url* string)))
(remove nil (mapcar #'(lambda(x)(if(string-match string x)(string-trim " \"" x)))
(split-string (read-line stream nil) #\,)))))
補完候補を悪名高き先生から


50:名無しさん@お腹いっぱい。
07/10/31 04:38:24 uOlxTaTs0
M-x を C-; に割り当てているんですが
入力言語を変えると記号の配置が変わり入力が変わってしまいます。

現在のIMEの入力状態を取得することはできるのでしょうか?


51:名無しさん@お腹いっぱい。
07/10/31 09:25:12 ZW6MRWxO0
IME と M-x と何の関係があるのか分からない。
何の話しているの?

52:名無しさん@お腹いっぱい。
07/10/31 11:02:30 vetCqGOe0
>>50
> M-x を C-; に割り当てているんですが
> 入力言語を変えると記号の配置が変わり入力が変わってしまいます。
よく分かりませんが、hookで再度設定してやればいいのでは。

> 現在のIMEの入力状態を取得することはできるのでしょうか?
get-ime-mode


53:名無しさん@お腹いっぱい。
07/10/31 18:12:17 G8ZM0A8i0
>>50 が言ってるのは、入力言語をたとえば日本語から英語に切り替えると
キーボード配列自体(特に記号部分)が変わってしまうから
同じキーを押しても言語によって実行されるコマンドが変わってしまうってことでしょ。

入力言語を読み取れればその言語に応じて割り当てキーを変えられるかもしれないけど、
xyzzy からできるかどうかは知らない。

54:名無しさん@お腹いっぱい。
07/10/31 18:23:38 LrqaBX500
current-kbd-layout
list-kbd-layout
select-kbd-layout


ここらへんかな?

55:名無しさん@お腹いっぱい。
07/11/02 04:33:20 IyQwj5xp0
>>51-52
すいません間違えてました…。
IMEの状態ではなくどの言語で入力しているかが知りたいです
>>53
まさにそれです! それを言いたかった!
>>54
これです! ありがとうございます。

早速拙いながらもLisp書いてみようと思い考えを巡らせて見た所
直接言語を指定して切り替える場合はなんとかなりそうです。

ただ、 Shift + Alt で言語を切り替えた時に
xyzzy からではキーバインドを上書きできないので困っています
言語の切り替えがされた事を感知してhookする事はできますか?

56:54
07/11/02 13:19:22 RBJ62gmy0
*pre-command-hook*は使えるかもしれません。

と言えるかどうか試すまでに書いたコードを以下に。
aを長押しするとabababとかなります。
minor-mode-mapはmajor/localよりも優先されてキーをさらっていくはずなので、
他と被ると問題はあるのですが一応できそうなので。

(defvar *test-map* (make-keymap))
(define-key *test-map* #\a (lambda () (interactive) (insert "b")))
(defvar *test-p* t)

(defun test-hook ()
(if *test-p*
(unset-minor-mode-map *test-map*)
(set-minor-mode-map *test-map*))
(setq *test-p* (not *test-p*)))

(add-hook '*pre-command-hook* 'test-hook)

tipsネタになりそうなので、
書けたらどんなコード書いたか見せてくださると嬉しいです。


57:名無しさん@お腹いっぱい。
07/11/04 11:23:53 PnqnOCtb0
>>55
(setf (svref *kbd-translate-table* (char-code #\')) #\&)
(setf (svref *kbd-translate-table* (char-code #\()) #\*)
なんてこともできるけど、
Shift+0 で ) を入力する方法はわからん。

そんなことより、猫まねきでも使ったほうが幸せになれるんじゃないの?


58:54
07/11/04 16:57:53 rzxpb/j+0
ascii/jis切り替えだけならたぶんそうだけど、
altgrとかに依存する言語の入力は
カスタマイズソフトにはちょいと荷が重いんじゃないかな。

59:名無しさん@お腹いっぱい。
07/11/04 18:35:06 DmAK7jWz0
2ch-mode 使用中に変なキーを押したらフリーズした。あまりに
珍しいので、記念にスクショ撮ってしまったww

URLリンク(www.csync.net)

60:名無しさん@お腹いっぱい。
07/11/04 19:22:51 1bxkRGxK0
bbLean

61:名無しさん@お腹いっぱい。
07/11/04 21:00:30 mS++dvuC0
>>57
猫まねきってなに?なんか猫いらずみたいな感じがしてあやしいけど。

62:名無しさん@お腹いっぱい。
07/11/04 21:29:34 SkGc2tgV0
まあ、これのことだろうけど
URLリンク(www.remus.dti.ne.jp)

63:名無しさん@お腹いっぱい。
07/11/06 19:45:51 gxa4x1T70
xyzzyを今日使い始めて、javascript-modeを導入したのですが(jsmode.lzhをダウンロードして解凍してjavascript+DOMとjavascript-mode.lを各フォルダ配下に移動してバイトコンパイルして.xyzzyに
(load-library "javascript-mode")
(push '("\\.js$" . javascript-mode) *auto-mode-alist*)
と記述する、まで終了してxyzzyを起動するとステイタスバーにloading javascript-mode...doneと表示される状態です)、
"document"、"toString"、"split"など一部の文字列が表示されないのですが、設定ミスでしょうか?

他に導入済みのものは、clickable-uriのみです。

64:名無しさん@お腹いっぱい。
07/11/06 20:42:28 ZfmNvv1T0
>"document"、"toString"、"split"など一部の文字列が表示されない

この辺が何を意味しているのかよく分からない。
色が付かないという意味か?


65:名無しさん@お腹いっぱい。
07/11/06 21:06:32 gxa4x1T70
>>64
色はきちんと付いていますが、javascript-modeの導入前に.jsファイルを開くと、
var loc = document.location.href.toString();

var parts = loc.split("?")[1].split("&");

var total = parts.length;
このように表示されますが、javascript-modeを導入後同じ.jsファイルを開くと、
var loc = .location.href. ();
var parts = loc. ( )[1]. ("&");
var total = parts. ;
のように文字列が抜けた状態で表示されます。

いま、コピペしようとして分かったのですが、文字列を反転させた状態だと、普通に表示されてます。

66:名無しさん@お腹いっぱい。
07/11/06 21:16:25 ZfmNvv1T0
javascript-mode入れているけどそんな風には成らないぞ。
ひょっとして背景色とかの設定とキーワードの色の設定が同じ色なんじゃないのか?
自分で色の設定を変えてて偶々同じ色に設定したのではないだろうか。

67:名無しさん@お腹いっぱい。
07/11/06 21:20:20 /RnW5qru0
back-to-indentation でリージョンが解除されてしまうので
selection-keymap と rv-region の力を借りてこんな風にしてるんだけど

(define-key selection-keymap #\C-a
            '(lambda ()
              (interactive)
              (let ((current (point)))
              (selection-beginning-of-virtual-line)
              (skip-white-forward)
            (if (= current (point))
                (selection-beginning-of-virtual-line)))))

もっとスマートなやり方があると思うので添削お願いします。

68:名無しさん@お腹いっぱい。
07/11/06 21:24:35 gxa4x1T70
>>66
レスした後、弄りまくってって気付いてお詫びに来たら、レスいただいてましたが、
まったくその通りでした。
>>64
レスありがとうございました。

初歩的なことでお騒がせして澄みません。
皆さんごめんなさい。

69:名無しさん@お腹いっぱい。
07/11/06 21:30:21 ZfmNvv1T0
regionはback-to-indentationでは解除されないような気がするので
意味がよく分からないがselectionが解除されないようにと言う意味だろうか?
ちょっとどういう用途なのかよく分からない。

それと
そういうのはWindows板の本スレのほうが
上手い人が多いし良いんじゃないかな。

70:名無しさん@お腹いっぱい。
07/11/06 21:51:33 /RnW5qru0
C-SPC の後に M-m するとリージョンが解除されちゃうんだけど自分の環境だけ?

で、rv-region 入れてればリージョンもセレクションも似たようなものだから、リージョンは諦めて扱いやすいセレクションで妥協したって事ね。
分かりづらくてすまん。

この辺りは弄りまくってて絞り込みが面倒だけどちょっと環境を見直してみる。

71:名無しさん@お腹いっぱい。
07/11/06 21:59:17 PBVNYZA50
リージョンが解除されるってどういうこと?

72:名無しさん@お腹いっぱい。
07/11/06 22:02:42 /RnW5qru0
リージョンの存在が消えてしまい、その後 M-w してもキルリングに何も入らない状態。
goto-bol とかだと平気。

73:名無しさん@お腹いっぱい。
07/11/06 22:22:10 PBVNYZA50
リージョンの存在が消える?何のことかわからない。
カーソル位置にマークがセットされるってこと?
デフォルトではマークは影響を受けないはず。

74:名無しさん@お腹いっぱい。
07/11/06 22:29:37 /RnW5qru0
今真っ新な xyzzy で触ってみたら再現しなかった。
やっぱ環境を見直す必要があるようだ…
レスありがとう。

75:名無しさん@お腹いっぱい。
07/11/06 22:38:11 35q0X7M+0
xyzzyの設定ってテキスト(.xyzzy)でいじる方法と、GUI(共通設定)でいじる方法があるけどどっちがいいの?

どっちかに統一しろよ、と言いたい。

76:名無しさん@お腹いっぱい。
07/11/06 22:40:05 ZfmNvv1T0
基本的にはGUIはおまけだと思われ。
なくても支障はないけど、GUIしか仕えない人でも
普通のエディタくらいには設定が使えるようにするもの。

77:名無しさん@お腹いっぱい。
07/11/06 22:41:32 35q0X7M+0
テキストとGUIで互いに違う設定してたらどっちが優先??

78:名無しさん@お腹いっぱい。
07/11/06 22:44:20 ZfmNvv1T0
まず共通設定の項目は
殆どxyzzy.iniの方で.xyzzyじゃないと思うぞ。
つまり普通のiniと同じ感じだと思って良いと思う。
.xyzzyでも設定できる部分はあるかもしれないが
.xyzzyは後から読み込まれるので.xyzzyの方が優先だろうと思われ。

79:名無しさん@お腹いっぱい。
07/11/06 22:53:21 35q0X7M+0
元MIFESユーザなのだが、MIFESライクな設定ファイルないか??

色とかの設定も全部MIFESぽくしたいのだが。

80:名無しさん@お腹いっぱい。
07/11/06 23:30:54 kwn1RRkA0
>>79

chcolor.l に Mifes 風のものがあるよ。
URLリンク(hie.s64.xrea.com)

81:名無しさん@お腹いっぱい。
07/11/07 00:53:02 gr33amSL0
xyzzyでcscope使いたいのだが、誰か移植する強者はいないですか?

82:名無しさん@お腹いっぱい。
07/11/07 09:53:51 Un1f43ij0
xyzzyだと最近の言語は結構活発だけど古いのは
面白くないのでやりたい人が少ないかもしれない。


83:名無しさん@お腹いっぱい。
07/11/07 19:01:08 whp67E4T0
>>81
おまえだ

84:名無しさん@お腹いっぱい。
07/11/07 21:32:05 0arh2LOV0
>>56
(defvar *english-map* (make-keymap))
(define-key *english-map* #\C-\' (lookup-key-command #\C-\:))
(define-key *english-map* #\C-\= (lookup-key-command #\C-\^))
(define-key *english-map* #\C-\[ (lookup-key-command #\C-\@))
(define-key *english-map* #\C-\] (lookup-key-command #\C-\[));無理っぽい
(define-key *english-map* #\C-\\ (lookup-key-command #\C-\]))
(define-key *english-map* #\C-\_ (lookup-key-command #\C-\=))
(define-key *english-map* #\C-\+ (lookup-key-command #\C-\~))
(define-key *english-map* #\C-\{ (lookup-key-command #\C-\`))
(define-key *english-map* #\C-\} (lookup-key-command #\C-\{))
(define-key *english-map* #\C-\: (lookup-key-command #\C-\+))
(define-key *english-map* #\C-\" (lookup-key-command #\C-\*))
(define-key *english-map* #\C-\| (lookup-key-command #\C-\}))
(defvar *germany-map* (make-keymap))
(defun key-language-hook ()
(if (string= "米国" (cdr (current-kbd-layout)))
(set-minor-mode-map *english-map*)
(unset-minor-mode-map *english-map*))
(if (string= "ドイツ語" (cdr (current-kbd-layout)))
(set-minor-mode-map *germany-map*)
(unset-minor-mode-map *germany-map*)))
(add-hook '*pre-command-hook* 'key-language-hook)

手探りながら書いてみました。本当はドイツ語でやりたかったんですが
ドイツ語の場合 öüäß それに
アキュートキー(? ßの一個右のキー。直後に押したキーがアキュート化される。áéúóとか)
をバインドする方法がわかりませんでした。
何か方法があるなら教えてもらえると嬉しいです

それと条件判定はcaseを使おうとするとうまくいきませんでした
文字列を判定条件には使えないんでしょうか?

85:名無しさん@お腹いっぱい。
07/11/07 21:33:43 0arh2LOV0
>>57
ありがとうございます。
こんな関数もあるんですね。

猫まねきも時間が取れたときに試してみます。

86:名無しさん@お腹いっぱい。
07/11/07 21:38:09 orjxK/0v0
>>84
> 文字列を判定条件には使えないんでしょうか?
case は eql で比較するから文字列に対しては物理的等価で判定することになる。
だからまあ実質使えないね。

(eql "" "")
=> nil

87:名無しさん@お腹いっぱい。
07/11/07 21:44:12 whp67E4T0
>>84
case は無理だけど cond とか?
*pre-command-hook* より *activate-hook* の方がよくない?


88:名無しさん@お腹いっぱい。
07/11/07 23:28:34 Un1f43ij0
キーボードってそんなに頻繁に変えないと思うから
適当に設定で切り替えるようにしたらいいんじゃないか

89:名無しさん@お腹いっぱい。
07/11/08 01:36:09 nrUcod1b0
>>86
なるほど、ありがとうございます。
>>87
??また知らない単語が…。
調べてみます。ありがとうございます。
>>88
確かにドイツ語の入力状態でもöüäßしか使わないので
これだけを入力できるように変えた方が利口そうです。
こういう切り替えはマイナーモードを作り
それに対して切り替えを行うのが普通のやり方でしょうか?
というか、それしか思いつかないんですが…。

それとももっと単純な方法がありますか?

90:名無しさん@お腹いっぱい。
07/11/08 01:42:26 vzx1AmPi0
>>89
ウムラウトを見ると胸がキュンとするぜ…。

91:54
07/11/08 03:02:02 rf/Zgnd50
それしかおもいつかんかった。けどかいてみた。
URLリンク(xyzzy.s53.xrea.com)



92:84
07/11/11 02:54:01 fmdjD86E0
>>91
…すごいっ。 ありがとうございます。
よく読んで lisp の勉強させて頂きます

93:名無しさん@お腹いっぱい。
07/11/11 07:58:03 Jg32LXoZ0
rss-modeを導入してみた。(0.0.3.0beta1)
[groups] 内に default 以外のグループを作成しても、次回起動時に消えちゃってて、
default グループしか残ってない。
仕方なく同じグループ名で再度グループ作成すると、中にはちゃんと前回登録したフィードが入って(残って)いる。
これって「その8」で報告された0.0.2.0beta6~beta9あたりのバグが復活しちゃってるんでしょうか?
rss-modeを常用してる人だれか助けてプリーズ。

ちなみにこのグループって入れ子にできないんですかね。Kamail(v2)ではできたんだけどなァ…。

94:93
07/11/13 10:51:10 MrrDUS4L0
解決したので一応ご報告。
rssの base-directory を ~/.rss 以外に変更したくて、.xyzzy に
(setq rss::*rss-directory* "変更後ディレクトリ")
(setq rss::*rss-config-file* "変更後ディレクトリ/config.l")
と記述しておいたんだけど、グループ設定ファイルの保存先が
defs.l 内で ~/.rss 内に決め打ちになっちゃっていたため、
意味がなかったのだった。
(config.l だけハンパにフルパス決め打ちで .xyzzy に書いちゃっていたのが仇に…)
しょーがないんで、defs.l 内で (merge-pathnames "ホニャララ" rss::*rss-directory*)
と設定されている箇所を全部抜き出して .xyzzy 内で setq で書き換えた。

2ch-mode は .xyzzy 内で 2ch::*base-directory* を書き換えただけで
何も問題なくディレクトリ変更できたのになァ…。
rss-modeでディレクトリ変更して使ってる人って誰もいないのかしら。

95:54
07/11/13 13:46:51 JnvpjGFZ0
>>93
おつかれっす。

それはdefsが読みこまれる前だったらどうにでもできる。

(defpackage "rss" (:use "lisp" "editor"))

(defparameter rss::*rss-directory* "c:/お/す/き/に/ど/う/ぞ");defvarでももちろんいける
(require "rss/defs")

まぁあんまり良くはないよな。パッケージの定義を外に括りだすのとか…

あんまりrssでベースディレクトリから乖離した設定をする人がいるとも思えないので
個々のディレクトリを取得するのは変数ではなく
今のmerge-pathnameで作っている変数名がnilだったらその時mergeして
非nilならそのまま使う関数としたほうが良いと思う。

17日に忘れなければはっとりさんには言ってみるよ。

ここに書いている時点で必要ないような気がするけど。

96:93
07/11/13 20:36:11 MrrDUS4L0
>>95
> あんまりrssでベースディレクトリから乖離した設定をする人がいるとも思えないので

そうなんでしょうね…。

> 17日に忘れなければはっとりさんには言ってみるよ。

おそれいります。
そしたらドサクサで要望をいくつか。

・「グループ名の変更」機能
・「チャネル のURL、タイトル(見出し)の変更」機能
・正規表現でマッチしたフィードだけ読み込まない、または表示しないなどのフィルタ機能
 (2ch-mode の aborn.l みたいな感じ?)

上2つはひょっとしたら実装済なのかも…でも readme.txt のキーバインド説明にはなかったので。
現在のところは、いずれの操作も削除・作成・移動の組み合わせでまかなっています。
(このままの方が内部処理的に矛盾は起きにくそうだけど、操作はちょっと面倒なので…)
いずれもどうしても必要、というレベルの切実さはとりあえずありませんが、もしできれば。

97:93
07/11/13 21:03:49 MrrDUS4L0
>>95
あ、
> あんまりrssでベースディレクトリから乖離した設定をする人がいるとも思えないので
の意味を取り違えていた。失礼しやした。
>>96
> そうなんでしょうね…。
じゃないって > 自分

98:93
07/11/15 23:45:50 N9zmWxqe0
どさくさついでにもう一点、要望を追加いたします。(rss-mode)
・Tabでの未読チェックの時に、各エントリごとに時系列の古い順からチェックしたい。

エントリ内に複数の未読があった場合、現在の仕様では表示の上の方の記事から、つまり
時系列の新しい方から過去へ遡っていくが、これを古い方の未読からチェックしていきたい。
(チェック順をどちらにも切り換えられるようになっていると良いかも…)

好き勝手なこと書いてますが、まあひとつの要望ということで。

99:54
07/11/19 15:52:15 yl+p7ZjM0
どうも、話がいっぱいではなしきれたかよくわからんです。

ベースディレクトリの話。
はっとりさん的にはミスしがちなので個別に変えてほしいらしいです。

・「グループ名の変更」機能
場当たりな改装の結果グループはこのままでよいんかねー…と

いつも固定の端末で作業できないのでlivedoor reader便利だよねという空気がなんとも…

・「チャネル のURL、タイトル(見出し)の変更」機能

チャネルってなんでしたっけ?これ忘れた気がします。すみません。

・正規表現でマッチしたフィードだけ読み込まない、または表示しないなどのフィルタ機能
・Tabでの未読チェックの時に、各エントリごとに時系列の古い順からチェックしたい。

ここらへんはNANRIさんが見ればわかりそーだなーって雰囲気でした。っけ?

というかんじです。

私はrssがらみではその話とはあんまり関係ない巡回の並列化みたいな話をしてました。


100:名無しさん@お腹いっぱい。
07/11/19 17:28:46 oqDByTep0
>>99
> 私はrssがらみではその話とはあんまり関係ない巡回の並列化みたいな話をしてました。

これちょっと興味あり。2ch-mode で巡回に時間がかかるため
並列にできないもんかなーと思ってたので。
xyzzy で現実的に可能なんでしょうか?

101:54
07/11/19 18:42:39 yl+p7ZjM0
>100

"現実的に"がどこにかかるかによるだろうけど、
open-network-streamは内部的にはスレッドを作っているので
並列にソケットからの入力およびconnect待ちはできる。
そして通信終了はset-process-sentinelで通知できる
ということを確認しただけ。

わかんないけど、これをもって「可能」といって良いんだよね?

通信のスタイルがけっこうかわると思うので
(関数の終了=通信の終了から通信終了イベントが飛ぶに変更されるはず)
2ch-modeにちゃんと組込むのが
簡単かといわれればうーむ。

私はやらないので誰かおねがい。

2chの巡回リストはあんましないのでモチベーションが低い。
#数えてみたら12個。

102:100
07/11/19 20:58:55 oqDByTep0
>>101
なるほど。いろいろ難しそうですが参考になります。
そもそも 2ch-mode で並列化したら速くなるという保証も無いのですが、
時間があれば考えてみようと思います。

103:名無しさん@お腹いっぱい。
07/11/19 21:52:00 Q3kj0hYm0
4

104:名無しさん@お腹いっぱい。
07/11/19 21:56:05 Q3kj0hYm0
>>103 は u+00B4 なんだけど、2ch-modeで送信すると
'4'になります。これって対策ありませんか。

105:名無しさん@お腹いっぱい。
07/11/20 00:49:49 8BxXICWF0
u+00B4ってShift_JISだと0x814cに相当するみたいだけど…

ブラウザでUTF-8とかで表示している文字をxyzzyにコピーアンド
ペーストしてきてそれをそのまま送信しようとするとそのUTF-8の
文字に対応するShift_JISの文字が送られずに変になるってこと?

だったらペーストする時にShift_JISに変換してからペーストする
ようにすればいいんではないかとオモ。

自分が使ってる関数を置いてみた。
URLリンク(xyzzy.s53.xrea.com)

勘違いなんだったらスマヌ。

106:93
07/11/20 14:22:35 65YoTne70
>>99
ありがとうございます。
とりあえず rss-mode は現状維持な感じでしょうか。
自分でいじれればいいんですが…でもとりあえずはそれなりに便利に使えているのでいいや。

(>>98で書いた“下の方から未読チェック”は rss.lの rss-search-next-unread 内の
> (let ((j (mod (+ (- len i) num) len)))

> (let ((j i))
に変更したらなんとかなりました。挙動が微妙にアヤしげだけど。
あとはフラグ変数でっち上げてtかnilかで切り換えとかも適当に追加)

> いつも固定の端末で作業できないのでlivedoor reader便利だよねという空気がなんとも…

やはりみんな livedoor reader とか google reader とか使ってんですかねぇ。
キーボードショートカットもいろいろ用意されていて、
操作もほとんどマウスに手を触れずにできるみたいだし…。

107:名無しさん@お腹いっぱい。
07/11/20 20:12:05 hX2MsHN90
rssリーダーは流行で試した後は全く使ってない。
汎用性といういみでもアンテナのほうが便利だし。

108:名無しさん@お腹いっぱい。
07/11/20 21:11:32 zVq43lXz0
アンテナは流行で試した後は全く使ってない。
閲覧性といういみでも DifBrowser のほうが便利だし。

109:名無しさん@お腹いっぱい。
07/11/20 22:18:07 hX2MsHN90
ブラウザまで変えたら他の作業に不便が出ないか?

110:名無しさん@お腹いっぱい。
07/11/20 22:34:28 yvY4/m6W0
おまえはいつまでスレ違いの雑談を

111:名無しさん@お腹いっぱい。
07/11/20 22:37:45 hX2MsHN90
励ます相手もいないんだし良いじゃないか。

112:名無しさん@お腹いっぱい。
07/11/20 22:41:17 hX2MsHN90
そんな事より、秀丸で日本語が動的に補完できるらしいけど
xyzzyにないのが悔しい件について。

113:名無しさん@お腹いっぱい。
07/11/20 23:03:51 C8sLhL9X0
>>112
dabbrev
ではなく?

114:名無しさん@お腹いっぱい。
07/11/20 23:26:57 zVq43lXz0
しょせん秀丸だし大した実装はされてない予感
そもそも動的補完が付いたのがつい最近て遅すぎ。

115:名無しさん@お腹いっぱい。
07/11/20 23:37:12 hX2MsHN90
>>113
良く知らないが、唯のdabbrevなの?
IMEの変換候補みたいにIME無視して出るのかと思ったけど
違うんだろうか。

>>114
そうかもしれない。


116:名無しさん@お腹いっぱい。
07/11/20 23:41:40 C8sLhL9X0
>>115
いや、俺は知りませんよ・・・というか、その質問を俺が聞きたかったのですが・・・

117:名無しさん@お腹いっぱい。
07/11/20 23:48:23 yvY4/m6W0
「xyzzyにない」と言うんだから「よく知らない」ってのは意味不明だな

118:名無しさん@お腹いっぱい。
07/11/20 23:49:06 hX2MsHN90
話題振っておいてあんまりアレなので
今インストールして調べてみたら
全然普通の補完だった。スマンカッタ。

119:名無しさん@お腹いっぱい。
07/11/21 00:04:28 1th0H4GZ0
>>117
豆腐の角に頭ぶつけて、しんじまえ。

120:名無しさん@お腹いっぱい。
07/11/21 00:08:19 ZHQ0jlbJ0
xyzzyのデフォルトのdabbrevは秀丸の補完にも及ばないけどね
ac-mode入れれば別だけど
あれも使い勝手悪いっちゃー悪いんだが

121:名無しさん@お腹いっぱい。
07/11/21 00:11:52 pdXAFSnl0
唯のといわれてしまったけど、dabbrevって便利だよね。
殊更にすごいという人がいなかったからxyzzy使い始めたころは
ぜんぜん使わなかったけど。

dabbrevを知らなかったらxyzzyの魅力のうち1%は損してると思うよ。

122:名無しさん@お腹いっぱい。
07/11/21 00:12:32 ZHQ0jlbJ0
ちょっと見てみたら秀丸の日本語補完って
記号・単語・熟語・文の切れ目を指定できたり自動に出来たりするってのが日本語補完が良いってヤツか
まあ結局IMEで確定しないと動かないから革新的でもないけど普通の補完よりは日本語を考えているな

123:名無しさん@お腹いっぱい。
07/11/21 00:13:36 ZHQ0jlbJ0
>>121
前方しか検索しないからデフォルトのdabbrevは使えん
vimの補完知っているとなおさら

124:名無しさん@お腹いっぱい。
07/11/21 12:17:41 sgaRtOEj0
検索した時とかにウィンドウが分割されるのが嫌なのですが、
常に1つのウィンドウにする事って出来ますか?

125:名無しさん@お腹いっぱい。
07/11/21 15:06:51 1th0H4GZ0
>>124
C-sしても別に分割されないような気がするが。
検索ってGrepの事か?

126:名無しさん@お腹いっぱい。
07/11/21 19:37:38 aelNfSzB0
すんません
Grep時です

127:名無しさん@お腹いっぱい。
07/11/21 21:09:25 5GH8oLUH0
>>126
たぶんこうするのが一番単純。
(add-hook '*grep-hook* 'delete-other-windows)

128:名無しさん@お腹いっぱい。
07/11/21 21:27:40 F38uODSX0
2ch-modeで「ニセ反転色」が有効になりません。
.xyzzyに2ch-mode関係だけを書いて起動すると有効になるんですけど。
どの辺に原因がありそうかちょっと勘で言ってみてもらえませんか?

129:名無しさん@お腹いっぱい。
07/11/21 21:28:26 kC+KU36z0
´

130:名無しさん@お腹いっぱい。
07/11/21 21:29:33 jfuZCjrX0
>>105
ありがとうございます

131:名無しさん@お腹いっぱい。
07/11/22 18:49:37 X0ryq3nV0
popup-listが小さくて目が痛いのでどうにかなりませんか

132:名無しさん@お腹いっぱい。
07/11/22 19:03:20 ew8aJApV0
>>127
ありがとうございます。
でも、駄目でした。分割されちゃいます。

もう少し調べてみます

133:名無しさん@お腹いっぱい。
07/11/22 19:47:03 ce/KqkQg0
popup-stringで代用したら良いじゃね

134:名無しさん@お腹いっぱい。
07/11/22 19:48:23 ce/KqkQg0
>>132
分割しないとGrepの場合困らないかな
Grepの結果だけを一つの窓に出したいのか?

135:127
07/11/22 21:08:37 6Ypb0D6M0
>>132
もしかしてダイアログの grep を使ってる?
その場合は
(add-hook '*grepd-hook* 'delete-other-windows)
にすればいいはず。変数名が微妙に違うので注意。

136:名無しさん@お腹いっぱい。
07/11/23 23:19:07 qympho1g0
>>131
画面のプロパティ > デザイン > 詳細設定
で、ヒント のフォントサイズを大きくしたらいい。

137:名無しさん@お腹いっぱい。
07/11/24 12:13:27 B+KGDY4B0
NetInstaller 更新したら、サイト更新すると他のバッファを
書き換えてしまうようになりますた。

138:名無しさん@お腹いっぱい。
07/11/24 12:40:35 7fxws+CG0
>>137
あれ、ほんとだ。

139:54
07/11/24 13:07:27 oijlzzV00
しまった。
save-excursionを忘れたコードを例示してしまって
それが採用されてしまったからだと思います。(_ _)
lib.lのlcheck-read-time-evalを

(defun check-read-time-eval (file)
(let (result)
(save-excursion
(set-buffer (get-buffer-create *buffer-temp*))
(unwind-protect
(progn
(erase-buffer (selected-buffer))
(insert-file-contents file)
(goto-char (point-min))
(when (scan-buffer "#." :regexp nil)
(setq result t)))
(when (find-buffer *buffer-temp*)
(delete-buffer *buffer-temp*)))
result)))

こんなかんじにすると直るとおもいます。ごめんなさい。


140:名無しさん@お腹いっぱい。
07/11/25 20:24:47 wb1NY4cF0
使ってみて、Meadowとちょっと違うんだなあと思った。

141:名無しさん@お腹いっぱい。
07/11/25 20:41:57 mWK4sdFN0
xyzzyはクローンじゃないからな。

142:名無しさん@お腹いっぱい。
07/11/25 21:08:03 wb1NY4cF0
特にC-h(xyzzy)と、regionコピーがクリップボードに入らないのとか、
Emacs風って位置づけなんだね。微妙にELispの仕様も違うようだし。
まあ、たまに起動して遊んでみようかな。

143:名無しさん@お腹いっぱい。
07/11/25 21:09:53 z38QYbrw0
>>142
> 特にC-h(xyzzy)と、regionコピーがクリップボードに入らないのとか、
> Emacs風って位置づけなんだね。微妙にELispの仕様も違うようだし。
Emacs はクリップボードに入るし、xyzzy は elisp じゃないだろw

144:名無しさん@お腹いっぱい。
07/11/25 21:44:42 wb1NY4cF0
>>143
region copyしてもクリップボードに入らないのが不満。

145:名無しさん@お腹いっぱい。
07/11/25 21:49:33 z38QYbrw0
>>144
では頑張ってソース変更して公開してください

146:名無しさん@お腹いっぱい。
07/11/25 22:10:22 Sp9jiDV60
共通設定→さまざま→削除バッファとクリップボードを中途半端に同期する

147:名無しさん@お腹いっぱい。
07/11/25 22:24:37 wb1NY4cF0
>>146
ありがとう。ちゃんと同期できるんだね。

148:名無しさん@お腹いっぱい。
07/11/25 23:26:04 FaqOkbUu0
>>145が恥ずかしいな。

149:名無しさん@お腹いっぱい。
07/11/25 23:31:04 X3YsncRe0
ん~、中途半端な同期はあくまで中途半端な同期でしかないから……
grep-dialogでいつもはまる

150:名無しさん@お腹いっぱい。
07/11/25 23:54:44 29Q48W7q0
>>149
grep-dialogを呼ぶまえに

(if *kill-ring-newer-than-clipboard-p*
(yank-to-clipboard))

とかするようにすれば?

151:名無しさん@お腹いっぱい。
07/11/26 01:43:30 HWqv2rPG0
lispでクリップボードに居るる作業を挟めば完全に同期するよ。
唯ダイアログのキーとかがC-vとかで貼り付けなので日常的に使うGrepは
ダイアログじゃない方が良いような気がする。

152:名無しさん@お腹いっぱい。
07/11/26 01:49:07 HWqv2rPG0
>>142の言い方が気になる気持ちだけは145の意見も理解できる。
xyzzyはclだってところがウリなのに、elispと仕様が違うと言われても・・・と言う感じはする。
むしろ違うのが(・∀・)bイイ!って言うエディタなんじゃないのか。
違わなかったらEmacs使えば良いじゃんって思わないんだろうか。

153:名無しさん@お腹いっぱい。
07/11/26 11:50:51 kzEu5Uvi0
中途半端に同期は慣れて来ると完全同期よりはるかに便利
Emacsに誰か移植してくれんかなあ

154:名無しさん@お腹いっぱい。
07/11/26 14:17:55 9BDJHfoG0
中途半端だとどういうときに便利なの?
俺は今までそう思ったことないよ

155:名無しさん@お腹いっぱい。
07/11/26 21:06:56 vzMHw+4t0
そもそもあれって何をもって「中途半端」と命名されてるの

156:名無しさん@お腹いっぱい。
07/11/27 00:51:20 A1CLZXk80
削除バッファの内容が更新されてもクリップボードの内容へ即座に反映されたり
はしないみたい。
xyzzyのソースコード見てないからよく知らんけど、xyzzyのウィンドウが
アクティブになったり非アクティブになったりするタイミングで更新されてたり
するんじゃないかなあ。

xyzzyの外部でクリップボードにコピーしてから、xyzzyのバッファを
ちょくちょくいじって Shift+Insert で貼り付け、というのが出来てちょっと便利。
(バッファいじるときにクリップボードの内容が破壊されない、という話。)

157:153
07/11/27 02:10:08 dJXbb9La0
>>156
そうそう、まさにそれ!
他のプログラムから取ってきたのを
Emacsで新しくファイル開いて貼り付けようとしたら

無意識のうちにパスをKillしちゃっててげんなりするんだけど
xyzzyだとそれがない

それに便利なのは編集中にkill か selection -> copy するのを使い分ければ
一時保管領域を2個同時に使えて嬉しいんだよね
もちろん region が正統派なんだろうけど俺にはこれがよく合うのよ

158:名無しさん@お腹いっぱい。
07/11/27 04:23:05 Y9pgIDx10
俺も2個目の一時保存バッファとして使ってるな。
kill-ringをさかのれば良いと言われるとその通りなんだけど。

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

修正頼む・・・


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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

URLリンク(www1.bbiq.jp)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

C-u M-x revert-buffer

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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





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

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

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

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

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

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

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

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

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

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



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



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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

296:続き
08/02/07 13:25:29 wXHmQfE90
((eq def 'quit-and-back)
(goto-char opoint)
(setq def 'quit)
(return))
((eq def 'quit)
(return))
((eq def 'recenter)
(recenter)
(setq nodup nil)
nil)
((and (consp def)
(eq (car def) 'throw))
(throw (cdr def) count))
(t (setq def 'help)
(setq nodup nil)
nil))
(setq last-match-char (unless (= (match-end 0) (point-min))
(char-before (match-end 0))))
(unless (replace-match replacement :literal literal)
(return))
(setq last-match (point))
(setq nodup (= (match-beginning 0) (match-end 0)))
(when (and undo-bound query)
(undo-boundary))
(setq count (1+ count)))))
(when (eobp)
(return)))

297:続き
08/02/07 13:26:19 wXHmQfE90
(unless query
(end-wait-cursor))
(hide-match)
(unless noerror
(and (eq def 'quit)
(quit))
(and not-found
(error "文字列が見つかりません")))
(when (and interactive-p
(null *executing-macro*))
(message "~d個置換しました" count))
count))

diff にすればよかったな...


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