[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 22:28 / Filesize : 293 KB / Number-of Response : 920
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

xyzzyの使い方が分からぬやし 励ましあえ その11



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

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

xyzzy Part15 @Win板(通称:本家)
pc11.2ch.net/test/read.cgi/win/1175649315/
過去ログ & 関連リンクは>>2-5あたりに。

684 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/07(水) 13:30:45 ID:YDYGxzFO0]
>>683
> 偉そうに思われたなら悪かったが、自分で試しもせずに文句ばかり言うのもどうかと思うよ。
自分で試して上記の二点がどうしても実装できないという結論に達したから、
実装できると仰るあなたに聞いたわけなんですがね。
まぁ結局無理だって言うし、逃げたようだからどうでもいいけど。

685 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/07(水) 14:04:37 ID:wnFUdw980]
>>684
だから冗談抜きで忙しいんだって。今は相手をするのは無理。

686 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/07(水) 15:09:01 ID:wRj9utXf0]
どっちも見苦しいから消えてください

687 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/07(水) 15:42:08 ID:V2+BoGmZP]
>>680
数年前のレスのことなんでその人が実際に試したかはわからない。
でも>既存の拡張はほとんど使えなくなると思います。
というように、既存のlispが使えないとなるとやはり微妙と捉えても
いいんじゃないかな。
仮に君が言うように実際に試すとしても、仕組みを考えた上でやらないと
結局同じところで悩むと思うよ。

688 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/07(水) 18:04:31 ID:YtnO7lTo0]
フルカラー表示も欲しいなぁ


689 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/07(水) 23:43:53 ID:Lo37Z+RR0]
機能追加よりも、xyzzy本体の開発に求心力が欲しい。
wikiとか何箇所かでちらほら動きもあるけど、
やっぱり他のエディタに比べて、なんか元気がない気がして。

もう機能的に満足して、xyzzyへの興味が薄れてるのかもしれないけど、
できたら、ブログを始めて次のxyzzyはこうだ!みたいな
ビジョンをぶち上げる亀井さんを見てみたいw

690 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/08(木) 02:37:30 ID:flLRng5e0]
秀丸でできてxyzzyでできないのが悔しいだけ。
そして、作者の熱意の違いが悔しいだけ。

691 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/08(木) 04:25:21 ID:QJRiVvBa0]
>自分で試しもせずに文句ばかり言う
このスレでそれは禁句だろ。
教える気もないし、分かってると自分で思ってる人は本スレいけよ。
邪魔なだけ。

馬鹿みたいな要望とかでもガンガン書いたらいいよ
勿論書いた所で実装されるわけじゃないけど
簡単に出来そうなのだったら作ってくれるかもしれないし
ひょっとしたら、ないと思ってるだけであるかもしれない。

692 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/08(木) 08:41:53 ID:Lb0voFVX0]
30分でレスする余裕あるのに忙しいってww



693 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/08(木) 09:50:34 ID:TIuAFt8P0]
KaTeXでC-c t jからのコンパイルが「バッファが見つかりません:"*KaTeX-typesetting*"」と表示され出来ません。
原因としてなにか考えられることがありましたら、ご教示おねがいします。

.xyzzy
(push (concat (si:system-root) "site-lisp/katex") *load-path*)

siteinit.l
(push (concat (si:system-root) "site-lisp/katex") *load-path*)
(pushnew '("\\.tex$" . elisp::katex-mode) *auto-mode-alist* :test #'equal)
(autoload 'elisp::katex-mode "katex" t)
(setq elisp::tex-command "platex -src")
(setq elisp::dvi2-command "c:\\dviout\\dviout")
(setf elisp::KaTeX-default-documentclass "jsarticle")
(setf elisp::KaTeX-default-pop-window-height "3")
(set-extended-key-translate-table exkey-M-return #\M-RET)
(defun user::katex-mode ()
(interactive)
(elisp::katex-mode))


694 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/08(木) 23:55:25 ID:gIg0pz6N0]
xyzzy本体の開発の件だが、まずはSourceForgeにあげませんか。

695 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 02:31:28 ID:LCkOWjYL0]
c++-modeで()とか{}とか+-=!とかの記号に色を付けることは出来ますか?

696 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 02:48:36 ID:ZYkmj7cL0]
>>693
KaTeX を使っていないのでよく分かりませんが、以下がおかしい気がします。
> (setf elisp::KaTeX-default-pop-window-height "3")
elisp::KaTeX-default-pop-window-height に設定するのは文字列ではなくて、数値ではないでしょうか。
(setf elisp::KaTeX-default-pop-window-height 3)
と書くのが正しいのではないでしょうか。

これで直るかどうかは分かりません。

697 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 07:46:10 ID:/9lvKrjp0]
>>696
ありがとうございます。

私が調べたところiswitchbと競合していることがわかりまして、
読みこまないよう設定したところコンパイルできました。

698 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 15:48:10 ID:K02E7fyC0]
リファクタリング機能がほしいなーと思っています。
言語に関係せず、選択した範囲内の $foo を $bar に変えたら
範囲内にある $foo 全てが $bar になるような lisp はありませんか。

$foox は $barx にならず、$foox のまま、
みたいに少し賢いと嬉しいです。
( さらに対象には自動で色が付くと素晴らしいです )

699 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 16:41:46 ID:w3OU88ny0]
検索・置換でやれるように思うんだが
リファクタリングってどういう意味で言ってるの?

700 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 17:26:21 ID:K02E7fyC0]
| $foox は $barx にならず、$foox のまま、
| みたいに少し賢いと嬉しいです。

のように、いちいち foox がひっかからないように
正規表現を書かなくてすむのと、
インクリメンタルに置換状況が見えると嬉しいです。

701 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 19:31:14 ID:GpewcdJF0]
そのfooより後ろの正規表現の部分はだいたい決まってるようなもんだから、
入力した検索文字列にそれを付加してから検索・置換するような関数作ればいいんじゃない?

702 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 19:37:40 ID:IS3/SdVM0]
>>700
> いちいち foox がひっかからないように正規表現を書かなくてすむ
いちいちといっても検索文字列を「$foo\>」とすれば済むんじゃ?
それすらメンドイというならスマンが。

> インクリメンタルに置換状況が見えると嬉しいです。
これも確認ありで置換すれば済むし。



703 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 23:06:27 ID:UscVxJCH0]
ttp://www.moongift.jp/2008/05/ready_lisp/
何というか惜しい。

704 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 01:07:44 ID:A8iF1aU80]
ロジックを関数でくくり出す機能でも要求してるのかと思った。

705 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 01:21:42 ID:JW+OcfFi0]
「単語単位で検索する」を使ってないのか

706 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 03:42:12 ID:m0ZyYbac0]
そんな機能があったとは…

707 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 10:18:33 ID:+WzhGLNd0]
reftex のキーバインドってどう設定すればいいんでしょうかね。
sample.reftex をみて、.xyzzy で以下のようにしても反映され
ませんでした。

(add-hook 'user::*reftex-load-hook*
#'(lambda ()
(global-set-key #\F5 'repeat-forward-search)))

どうぞよろしく。m(_ _)m

708 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 12:52:18 ID:iUtLo3BV0]
>>707
reftex使ってないからわからないけど、これで出来ない?
(define-key reftex::*reftex-mode-map* #\F5 'repeat-forward-search)
でもrepeat-forward-searchってもともとF5に割り振られてるよね

709 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 15:09:53 ID:ropdLSmT0]
>>708
どもです。
> (define-key reftex::*reftex-mode-map* #\F5 'repeat-forward-search)
を $XYZZYHOME/.reftex に書いたらできました。

;; デフォルトだと F5 には reftex-repeat-forward-search が振られていて
;; 使いづらかった。

710 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 20:30:03 ID:7fuWonj10]
高機能かも知れんが、学習コストが高いのに無理して使うって何、
って疑問を解決するために、「入門xyzzy」と「入門Common Lisp」
の本を買ってきた。
上級ユーザーになったら自慢できるだろうな。
キー操作が他と違うから、現状は変な挙動がして不便なエディタだが、
その異端のようなものを、自分が最適に扱えるように身に付けることに
意義があるだろうな。

711 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 22:30:05 ID:jZS6H2Zj0]
>>710
俺からすればwindowsの方が異端。使いにくいぞあのキーバインド。

712 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 22:47:38 ID:DxPtuoDH0]
キーバインドをWindows風にするやりかたはその本に書いてある。
キー操作の心配がそれでなくなるといいが



713 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 23:54:40 ID:7fuWonj10]
キー操作をwindows風にカスタマイズすることを「自分が最適に扱えるように身に付ける」
と言ったのではない。元々のxyzzyのキーバインドに自分が対応できるようにするわけだ。
異端なものを自分に吸収することに意義があるだろうな。だから学習する。

ところで、Lispやったら楽しいかいな。

714 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 23:58:43 ID:0auJ0wDr0]
Ctrl キーと CapsLock 入れ替えて、
C-n,p,f,b で一日過ごしたら、もう戻れなくなったけどなぁ。
切り取り・貼り付けも3日で慣れたし。 windowsのいろんな
アプリケーションも、ツールでEmacs風にできるしね。

# Lispやったら楽しいよ

715 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/12(月) 00:35:42 ID:XPPhw9DV0]
結局やりたいようにやる人のようだから
楽しいかどうかは自分で

716 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/12(月) 08:11:39 ID:qXUo0JhC0]
結局のところ、Emacsキーバインドだって最適解とは言えない部分もあるわけで、
俺にとっては他のエディタ以上に柔軟に自分用の「俺キーバインド」や「俺機能」が実現出来ることが重要。

まあ、その拡張性の高さや豊富さが、学習コストとのトレードオフになってる部分はあるかもしれないけど、
今はWikiとかあるし、昔よりはハードルは低くなってるんじゃないかねぇ。

717 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/12(月) 22:09:55 ID:HyZTUU2p0]
CapsLockにCtrlを割り当てるとEmacs小指になることだけが欠点ちゃ欠点な希ガス
(無変換・変換キーにCtrlを割り当てて緩和させてる・・・)

718 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/13(火) 01:49:01 ID:ffzhz3jd0]
小指の付け根でCtrlを押すのが、一番楽なんじゃない?
と言いつつ、今はノートなんでCapsLockをCtrlにしてるけども

719 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/13(火) 16:10:24 ID:agEsP4qg0]
小指の付け根で押してる。ホントは嫌なんだけどな。xcvが正しく押せなくなる。
これが正しく押せないとxyzzyでは致命的だし。ていうか終了するし。

720 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/13(火) 16:45:05 ID:V5Hkmndn0]
右手で反対側のCtrlを押すこともある

721 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/13(火) 17:04:13 ID:IUcLmWX60]
そのクセを付けようと奮闘中なんだが、これがなかなか…
右のシフトも使わないなあ

722 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/13(火) 20:35:33 ID:RWcnm90T0]
出先では
キーボード配列が、Ctrlの位置が、IMEが、あばばばばー
ってなるんですね、わかります



723 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/14(水) 03:44:28 ID:efEFxtNh0]
usbで持ち運べるキーカスタマイズソフト入れればいいじゃないの?
使う時だけ、キー変更して終了したら戻すスクリプトでも書いておくとか

724 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/14(水) 08:11:00 ID:9+l/ew1c0]
>>723
> usbで持ち運べるキーカスタマイズソフト入れればいいじゃないの?

そういうのがあるなら教えて欲しい。繭なんかは、レジストリに書き込むので
USB メモリに入れらないのです。

725 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/14(水) 08:41:15 ID:dAcORiya0]
>>724
> そういうのがあるなら教えて欲しい。繭なんかは、レジストリに書き込むので
> USB メモリに入れらないのです。
繭を持ち運ぶ問題点はまずドライバ使うことだと思うんだが…

俺は最近AHK使ってるな。
でも日本ロケールだとCapsLockを他に割り当てれない。

726 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/14(水) 15:42:37 ID:VV3a+6mM0]
> 日本ロケールだとCapsLockを他に割り当てれない
これってIMEはCapsLockのオンオフを追えてるんだからなんとかならないのかなぁ

727 名前:724 mailto:sage [2008/05/14(水) 16:33:35 ID:9+l/ew1c0]
>>725
> 繭を持ち運ぶ問題点はまずドライバ使うことだと思うんだが…

申し訳ない。orz
俺はどうしてもって時は HHK を持ち歩いてけど、周りの目が…



728 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/14(水) 16:37:04 ID:dAcORiya0]
>>727
気にするなってことよ。

> 俺はどうしてもって時は HHK を持ち歩いてけど、周りの目が…
なんという俺ww
と言うか俺は普段リナザウと HHK2 持ち歩いてます…
プレゼンする時はこれ+ノートも。

729 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/19(月) 12:02:18 ID:dOluBcOZ0]
c-modeやperl-modeなどのモードって
tuareg-modeみたいに、コンパイル結果が即別画面に表示されるような
コマンドってあったりしますか?
それともこれらのモードって入力補完やキーワード色づけ、インデントといった機能が
主体のモードなのでしょうか
あれがあると、開発効率が圧倒的に違うのですが


730 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/19(月) 12:14:21 ID:2P1yashb0]
>>729
emacsでいうfly-makeみたいなもの?

731 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/19(月) 12:32:10 ID:dOluBcOZ0]
fly-makeも使ったことないですが、これはVisual Studio 2005にある
コンパイルしなくてもエラー箇所に下線が引かれるやつと同じっぽい?だとすると違います

tuareg-modeは、Lisp-interaction-modeに近いんですが、
結果が別画面に出る点が違います(カーソルは元ウィンドウのまま)
lisp同様行単位の他、リージョン単位、それからバッファ全体の3種類の評価ができて
超便利です
少し調べてみたところcperl-modeで検索したら最初に出てくる
perl-debug.elがイメージに近そうです
うまく動作しないので、まだなんともいえないですが・・




732 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/19(月) 12:38:57 ID:dOluBcOZ0]
ああ、CやC++はスクリプト言語じゃないから、makeっていう発想になるわけか
tuareg-modeはOCaml用のモードなんですが
OCamlもPerlもどちらもスクリプト言語として使えるから
こういうモードがあるのかもしれない
xyzzyにtuareg-modeがあればベストなんですが
なさげなので、他モードを参考に自作できんかなーって思ったんですよ



733 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/19(月) 19:45:48 ID:a/425wBD0]
たぶん難しくはないよ
make-process で OCaml のプロセスを走らせといて、文字列を送りつければいい

734 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/19(月) 21:20:40 ID:dOluBcOZ0]
ありがとうございます。
実はあきらめかけてたんですが、make-processでググったら
参考になりそうなサイトがいろいろと出てきました。
まずは、ヘルプをみれる環境を作るとこから始めてみます

735 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/20(火) 01:12:15 ID:FtGjqSRJ0]
最低限の動作するバージョンができました。
(defun ocaml-start()
(delete-other-windows)
(split-window)
(setq buf (get-buffer-create "ocaml"))
(setq oldbuf (selected-buffer))
(when (buffer-process buf) (kill-process (buffer-process buf)))
(setq p (make-process "ocaml" :output buf))
(display-buffer buf)
(set-buffer oldbuf))
(defun ocaml-send(str)
(setq oldbuf (selected-buffer))
(set-buffer buf)
(insert str)(insert "\n")
(goto-bol)
(process-send-string p str)
(process-send-string p "\n")
(display-buffer buf)
(set-buffer oldbuf))
(defun eval()""(interactive)(beginning-of-line)
(let*
((start (progn (goto-bol) (point)))
(end (progn (goto-eol) (point))))
(ocaml-send (buffer-substring start end))))
(ocaml-start)
(ocaml-send "open List;;")
(ocaml-send "let pp lst=let rec p a b=function []->a::b|ls->fold_left(fun x y->p (y::a)x(filter((!=)y)ls))b ls in p [] [] lst;;")
(ocaml-send "pp [1;2;3;4;];;")

736 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/20(火) 01:17:32 ID:FtGjqSRJ0]
しかしここまで作って気づいたのが
行をevalする際に、「1つの文がどこまでか」をさかのぼって調べようと思うと
構文解析まで必要?だとしたら最後まで作るのは自分には荷が重い・・
その点だけは、Lispは楽ちんだよなあw


737 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/20(火) 11:01:38 ID:yyKbwS8V0]
>>736
構文解析しない超手抜き版

(defun ocaml-eval-phrase ()
  (interactive)
  (save-excursion
    (let ((start (progn (scan-buffer "^\\w" :regexp t :reverse t) (point)))
          (end (and (scan-buffer "^\\w" :regexp t :no-dup t) (point))))
      (ocaml-send (buffer-substring start (or end (point-max)))))))

738 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/20(火) 11:21:36 ID:ri2joa0h0]
>>736
tuareg-mode というのを移植すればすぐできると思うよ。

739 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/20(火) 16:21:41 ID:lhHL8IKi0]
移植もそんな楽なもんじゃないけどね。

740 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/20(火) 16:58:44 ID:kxZD+sl80]
むしろ素人には移植の方が難しいという罠。

741 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/20(火) 17:08:59 ID:VCR54L700]
モードごとのxx-indent-lineを任意のキーで実行するには、何のコマンドを割り当てればいいの?
mode-specific-indent-command じゃあダメみたいだし。


742 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/20(火) 18:57:21 ID:R6lAX3No0]
tuareg-mode 読むの結構大変だと思うよ



743 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/20(火) 20:50:36 ID:FtGjqSRJ0]
>>737 ありがとうございます。これは正規表現で1ワード文だけsendしてるわけですよね。
しかし、Ocamlでそれはかなり厳しいものがありますw
今はとりあえずこんなのでしのいでます。(それぞれバッファ全体、行、リージョン)
行は使い物になりませんが、プログラムが小さい間はバッファ全評価でも十分使えます。
(defun e()""(interactive)(ocaml-send (buffer-substring (point-min) (point-max))))
(defun el()""(interactive)
(let* ((start (progn (goto-bol) (point)))(end (progn (goto-eol) (point))))
(ocaml-send (buffer-substring start end))))
(defun er(b e)""(interactive"r") (ocaml-send (buffer-substring b e)))

それと、自分の力量ではtuareg-modeの移植は難しいです
(require 'cl)
cl処理系のxyzzyにとっては当たり前?なのか、まずはこいつがこけて
ええと・・お手上げ・・ってな感じでして

744 名前:737 mailto:sage [2008/05/20(火) 21:41:39 ID:R6lAX3No0]
>>743
> これは正規表現で1ワード文だけsendしてるわけですよね。

いや、違うw
行頭にワード構成文字がある場所をフレーズの開始位置とみなして、
現在位置から後ろへ見て最初に始まるフレーズを送ってる。

でも今考えたらこれだけだとちょっと不具合があるな。

745 名前:737 mailto:sage [2008/05/20(火) 21:54:17 ID:R6lAX3No0]
再挑戦。tuareg-mode の tuareg-eval-phrase とだいたい同じになるつもり。
コメントがある場合に違うのは見逃して。

(defun ocaml-eval-phrase ()
  (interactive)
  (let (start end)
    (when (scan-buffer "^\\w" :regexp t :reverse t)
      (setq start (point))
      (or (scan-buffer "^\\w" :regexp t :no-dup t)
          (goto-char (point-max)))
      (skip-chars-backward " \n\r\t\f\v")
      (setq end (point))
      (ocaml-send (buffer-substring start end))
      (unless (looking-back ";;") (ocaml-send ";;"))
      (unless (bolp) (forward-line)))))

746 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/20(火) 22:27:24 ID:FtGjqSRJ0]
>>737
おお、これはいいですね
意識してインデントしておけば、ばっちり使えますね。
ぱくらせていただきますw


747 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 01:06:23 ID:sTtd0uDN0]
>>741
(defun mode-specific-indent-command-call ()
(interactive)
(funcall mode-specific-indent-command))


>>742
結構大変で、やっぱり途中であきらめた。

748 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 06:01:26 ID:MR69jTp00]
>747 ありがと。

TABに補完とインデントの両方の機能を持たせたったのだ。
この割り当てかなら、ミニバッファでのTAB補完も効くし。


(let ((keymap (make-sparse-keymap)))
(define-key keymap #\TAB 'my-dabbrev-expand)
(add-hook '*create-buffer-hook*
#'(lambda (buffer)
(set-minor-mode-map keymap buffer))))

(defun my-dabbrev-expand() "dabbrev-expand"
(interactive)
(if (or
(and (char>= (preceding-char) #\0)
(char<= (preceding-char) #\9))
(and (char>= (preceding-char) #\A)
(char<= (preceding-char) #\z)))
(dabbrev-expand))
(funcall mode-specific-indent-command))


749 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 17:54:38 ID:Km5J5G1o0]
>>748
それだと Z と a の間のいくつかの記号も入っちゃうよ。

(defun my-dabbrev-expand ()
"前の文字が英数字なら dabbrev-expand、それ以外ならインデント"
(interactive)
(if (alphanumericp (preceding-char))
(dabbrev-expand)
(funcall mode-specific-indent-command)))


750 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 20:06:55 ID:MR69jTp00]
>749
投稿後に(string)に気づいたので、正規表現で文字を調整中です。

(defun my-dabbrev-expand() "dabbrev-expand"
(interactive)
(if (string-matchp "[0-9A-Z#$%&+._-]" (string(preceding-char)))
(dabbrev-expand)
(funcall mode-specific-indent-command)))


751 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 11:59:22 ID:m0GIWEfO0]
正規表現でスペース区切り文字列の入れ替えを行おうと以下のようなプログラムを書いたのですが
「文字が見つかりません」と出て動作しません
処理的には大筋あっていると思っているのですが、どこがまずいのでしょうか
(replace-regexp "\([^ ]*\) \([^ ]*\)" "\2\1")
(replace-regexp "([^ ]*) ([^ ]*)" "\2\1")
(replace-regexp "(\S+)\s+(\S+)" "\2\1")←これは使用不可っぽい?


752 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 13:14:02 ID:c+9zBfhJ0]
>>751
文字列リテラルだから backslash はエスケープしないといけない



753 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 14:07:20 ID:m0GIWEfO0]
ありがとうございます。これでうまくいきました。
(defun swap()(replace-regexp "\\([^ ]*\\) \\([^ ]*\\)" "\\1 \\0"))

754 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 21:27:23 ID:FIUu1jF/0]
オフ会はどうだったんだろう

755 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/26(月) 15:01:20 ID:+wecsvlm0]
ファイル名がindex.*の場合に、タブに表示するバッファ名をサブフォルダ名に変えるには?
全コンテンツがindex.phpなサイトを作ってるもので。

rename-bufferとかググっても出てこないんで。

756 名前:755 mailto:sage [2008/05/26(月) 15:40:55 ID:+wecsvlm0]
すまそ、自己解決できた


757 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/26(月) 16:25:35 ID:PzsqpXfF0]
どうやって解決したか書いたらいい

758 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/26(月) 17:33:12 ID:+wecsvlm0]


(defun my-rename-buffer ()
(setq str (get-buffer-file-name (selected-buffer)))
(when (string-matchp ".*/\\(.+\\)/index" str)
(setq str (string-replace-match str "\\1"))
(rename-buffer str)))
(add-hook 'ed::*html+-mode-hook* 'my-rename-buffer)


759 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/27(火) 23:38:57 ID:RHToqyar0]
uniquify.l もいいよ。

760 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/28(水) 06:20:00 ID:Y1jcESQa0]
>>758
やっぱり、そういう感じのを書いてるんじゃないかと思った
uniquify.l以外にもolt2使うという手もあるよ


761 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/31(土) 11:06:11 ID:ulBZmw3u0]
snippet.lのインデント指定で期待した通りの結果を得られなくて困ってる。
どうすれば改善できる?

たとえばxml-mode用として.abbrev_defsにこう設定してあるとする。
("complex" "<xsd:complexType>
$INDENT<xsd:sequence>
$INDENT<!-- ToDo:ここに要素を追加する -->
$INDENT</xsd:sequence>
$INDENT</xsd:complexType>")

期待した動作はこう。「@」がインデントに使われる空白を可視化したものだと思いねえ。
<xsd:complexType>
@@<xsd:sequence>
@@@@<!-- ToDO:ここに要素を追加する -->
@@</xsd:sequence>
</xsd:complexType>

で、結果がこう。「@」はインデントに使われる空白だと思いねえ。
<xsd:complexType>
@@<xsd:sequence>
@@@@<!-- ToDO:ここに要素を追加する -->
@@@@</xsd:sequence>
@@</xsd:complexType>

762 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/01(日) 12:59:35 ID:Q75UYbLp0]
すみません、どなたか教えていただけると幸いなのですが。

load gatesしているんですが辞書引きモード標準の以下の
キーバインドも変更されているらしく新たに設定しなおしたいんですが、
辞書引きのバインディング名(と呼びますでしょうか?以下の例だと
”英和”、”和英”、”読み”があたるかと。)
ってどこを見たら記載されているのでしょうか?

英和 C-c e 和英C-c j 読みC-c r



763 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/01(日) 13:30:50 ID:8w3psPK10]
>>762
load gatesしてないxyzzyで
M-x: describe-key で調べるとか

764 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/01(日) 16:50:34 ID:a47CInir0]
>>762
ttp://hie.s64.xrea.com/xyzzy/note/keybind.html#describe-bindings


765 名前:名無しさん@お腹いっぱい。 [2008/06/08(日) 16:37:54 ID:rwr+hvFV0]
初心者です。C言語の強調表示する方法教えてください

766 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/08(日) 16:45:32 ID:D8RAEkoX0]
拡張子c のファイルをただ開くだけではされない?

767 名前:名無しさん@お腹いっぱい。 [2008/06/12(木) 09:21:07 ID:LFiheMSR0]
www1.bbiq.jp/rohinomiya/products/

上記のahk-modeを使ってみているのですが、
{SPACE}を入力しようと、"{"を入力しようとしたところ、
「引数が少なすぎます:(#<lexical-closure: editor::ahk-electric-brace>)」
とダイアログが出てしまいます。
どうにか修正する方法はありませんでしょうか?

768 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/12(木) 12:43:01 ID:rmCnjOCm0]
>>767
(defun ahk-electric-brace (&optional (arg 1))
"Insert character ARG and correct line's indentation."
(interactive "p")
(if (save-excursion
(skip-chars-backward " \t")
(bolp))
nil
(progn
(ahk-indent-line)
(newline)))
(self-insert-command arg)
(ahk-indent-line)
(newline)
(ahk-indent-line)

(let ((event *last-command-char*))
(setq event (if (featurep 'xemacs)
(event-to-character event)
(if (stringp event)
(aref event 0)
event)))
(when (equal event #\{)
(newline)
(ahk-indent-line)
(insert #\})
(ahk-indent-line)
(forward-line -1)
(ahk-indent-line))))


769 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/12(木) 14:31:11 ID:ML/KFg3W0]
ファイラをいじるのは後の楽しみにとっておいてある。

770 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/13(金) 03:37:51 ID:t0oroeKz0]
Xyzzy Wikiの質問箱にも投げておいたのですが,
あまり見られていないのかあまり機能していないのか分かりませんが
返信が(無理だよ,とかでもいいのですが)つきません。
ここでのマルチっぽい質問をご容赦くださいな。しかも長い……。

↓以下コピペをちょっと改変

メーラーをKaMail V3に乗り換えてみようと思って少し触ってみました。
予想どおりのレスポンスの良さとHEでの検索に非常に満足なのですが,
一つだけ気になる点があります。

毎日1000通弱の業務メール(大半は返信の必要はないんですが,
保存しておく必要はあります)を受け取るのですが,
メーラー本体上には常に半年分のメールファイルを置いておき,
それ以前のものはすべて月別にバックアップを取って,
ローカルからは削除する必要があります。

月で絞り込みとかしてファイルそのものを抜き出せばいいのですが,
触ってみた感じ,KamailV3にはそれができなさそうです。
なんらかの手法で可能なんでしょうか。


771 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/13(金) 13:25:05 ID:yfIgqZnB0]
>>770
>> なんらかの手法で可能なんでしょうか。

まあなんらかの方法で可能だと思う。該当するメールファイルを手で移動させる
とか、半年ごとにxyzzyを新たに入れ直すとか。漠然としすぎているけど。

もうちょっと具体的に、xyzzy lispでできる方法はあるの?とか、Kamailにその
機能は含まれていないの?とか、スクリプト言語とかで自動化する方法はないの
か?、って書かないとわかる人も答えようがないんじゃないかな。


772 名前:770 mailto:sage [2008/06/13(金) 13:35:23 ID:PiYrI8Eu0]
なるほど。すいませんでした。。。

そもそもメールファイルそのものを“物理的に”(って言い方おかしいですが)
動かす手段が,ReadmeやGoogleを見る限り見つからなかったこと,
Kamailのメールフォルダ内を見る限り,咄嗟に法則性が判断できない
細かいフォルダの羅列(それぞれの中に数十ほどのメールが入ってました)で,
普通にファイラーで手で処理しようにも厳しそうだったことなどがあり,
最初からネガティブモード炸裂でした。

Kamailに実はその機能があるよ,とか
「あのメールフォルダの数字はこういう法則だよ」とかが分かると,
非常に嬉しいです。



773 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/13(金) 21:23:00 ID:oRt/kzWU0]
>>772
数字の意味は受信順じゃないのか


774 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/13(金) 23:56:29 ID:dG7ciIei0]
expire?

775 名前:638 mailto:sage [2008/06/14(土) 23:39:27 ID:BzFlODhY0]
>>638ですけど、*2ch-use-dolib* が t でなければ落ちスレにはダイアログ出てたですね。
thread.l のthread-get関数で Status:302 を処理してるところに
(if (equal buffer-mode '2ch-tracking)
(tracking-change-kako))
と入れて自動で過去スレにさせることにしました。

776 名前:名無しさん@お腹いっぱい。 [2008/06/16(月) 05:37:13 ID:rMcmKz300]
C-x C-c と間違えて、よく C-c C-xを押してしまって、
xyzzyを終了させてしまうのです orz
終了のショートカットを未定義にする方法はありませんでしょうか?

777 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/16(月) 05:54:17 ID:s81DyAx60]
>>776
C-x C-c で終了じゃなかったっけ?
(global-unset-key '(#\C-x #\C-c))

778 名前:名無しさん@お腹いっぱい。 [2008/06/16(月) 16:32:26 ID:rMcmKz300]
>>777
ありがとう。できました。
そうです、間違ってました。
globa-set-keyの反対は、globa-unset-key か・・・

779 名前:770 mailto:sage [2008/06/16(月) 17:33:07 ID:dcc59uab0]
久しくWikiも2chも回る余裕がなかったのですが,
いまWikiを見たら,とても嬉しいことにマクロ(と呼ぶのが正しいですか?)を
書いてくださった方がいました。
家に戻って時間があったら早速試してみます。ありがとうございます。
ここを見てるかどうか分かりませんが,こちらでも御礼をば。

> 774 さん
expireを使ってどうにかするといいだろうな,とまでは想像がついたのですが,
メールファイルの移動なりコピーなりの方法が私には分からず……。

780 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/17(火) 16:05:50 ID:ELT4MOu70]
連投すいません。

KamailV3って,受信後のカーソルの位置はどこかで設定できるんでしょうか。
gでgetしたあとで,一番上に戻るのがちょっと納得いかないのですが……。
それともこれは私がどこかでポカな設定してるだけなのかな。

サマリバッファでメールが古い順に並んでいる(一番上が一番古い)のに,
受信後に一番上にカーソルが戻るというのがどうにも。
folder.lの
(defvar *folder-order-default* *folder-order-date-desc*)
あたりかな,と思って末尾をascにしてみましたが,ダメでした。。。

781 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/17(火) 19:14:16 ID:pFY4bDTQ0]
>>780
ソースを直接編集するんじゃなくて、KaMailV3なら .kamail3/config.l に
書いて定義を上書きするように習慣付けた方がいいよ。

自分が試した範囲じゃ、たしかに表示順が変わらなかったので、
定義を上書きしてみた。

;;.. fetch後に、カーソル位置をfetch前に戻す。
;; 上書き
(defun fetch-execute-all ()
(interactive)
(let* ((line (current-line-number))
(col (current-column))
(val (multiple-value-list
(fetch-execute-list *fetch-config-list*))))
(goto-line line)
(goto-column col)
(values val)))


782 名前:780 mailto:sage [2008/06/17(火) 19:57:10 ID:ELT4MOu70]
お返事ありがとうございます。

さっきちょっと時間があったのであれこれやってたら,
folder.lで
(list (folder-make-attr-folder *folder-inbox*
*folder-inbox-alias*
:order *folder-order-date-desc*)
; :order *folder-order-date-asc*)
にしたら,カーソルは一番上ですが,降順になってちょっとだけ満足しました。
でも昇順のままカーソル位置が戻るならそのほうがありがたいです。
早速反映させていただきました。ありがとうございました。



783 名前:780 mailto:sage [2008/06/18(水) 22:38:16 ID:H2+yQQgx0]
3GBほどあったバックアップもようやくImportできて,
快適に使っております。みなさまありがとうございます。

ときに,Summaryウィンドウのfromで文字化けを起こすのは
(クライアントに(株)とかを使ってる人が多いのです…)
どうにかして直ったりするものでしょうか。
豆腐ではないのでフォントの問題ではないと思っています。

784 名前:名無しさん@お腹いっぱい。 [2008/06/22(日) 10:42:49 ID:mVxRkpZW0]
>>768
すいません、遅くなりましたが、ありがとうございました。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<293KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef