xyzzyの使い方が分か ..
[2ch|▼Menu]
607:名無しさん@お腹いっぱい。
08/04/05 02:01:16 etgNhTEdO
数値を英語に変換する関数書いてて、2^64あたりまで対応しとけば問題ないかなと思ったのに
1000!とか計算してみたらフツーにでてきてビックリした。
centillion(170!あたり?)以降の英語がわからん。

608:名無しさん@お腹いっぱい。
08/04/05 02:07:40 ReCcMRhK0
西洋の命数法
Wikipedia項目リンク
URLリンク(en.wikipedia.org)

609:469
08/04/05 02:14:31 UJHrdSmA0
>>607
もしかしてformat?

610:名無しさん@お腹いっぱい。
08/04/06 17:08:01 rp76UFGS0
アクティブなバッファのタブを目立たせる方法ないですかね。
背景色変えるとか太字にするとかなんか。

611:名無しさん@お腹いっぱい。
08/04/06 17:16:39 MfVz2vBi0
>>610
共通設定

612:名無しさん@お腹いっぱい。
08/04/08 01:43:08 ZXKPBcL/0
xyzzy lispのデバックってどうやるんでしょ。
hello worldも分からない身ですが、どなたか教えてください。

613:名無しさん@お腹いっぱい。
08/04/08 01:54:38 L4xuFq7s0
自分はprintfデバッグばかりしてるけど、本当は、こんなのとかもあるよ

xyzzy -- デバッグの方法
URLリンク(www.netlaputa.ne.jp)

hello world分からないならとりあえずデバグより文法でも
1時間くらいは調べたら色々分かるかも。


614:名無しさん@お腹いっぱい。
08/04/08 08:18:39 NUKP9Tm+0
>>611
共通設定に…ないですよね

615:名無しさん@お腹いっぱい。
08/04/08 13:32:14 RGepJNtS0
>>614
共通設定⇒フォント⇒表示色
で選択バッファ〜を変えれば変わるだろ…
もうちょい探したほうがいいよ

616:名無しさん@お腹いっぱい。
08/04/09 08:18:27 nhljG/Rj0
ありがとうございます。フォント自体の設定…盲点でした。

617:名無しさん@お腹いっぱい。
08/04/12 12:23:28 5ZftulEM0
>>613
それはtoggle-trace-on-errorと同じじゃないかな?
エラーが発生したときはM-x toggle-trace-on-errorで内容を確認したりとかね。(toggle-trace-on-erroは
バイトコンパイルしていると結果が見にくいのでeval-bufferでバッファを評価してからやるとか。)
それと適当に
(defun foo ()
(interactive)
(dotimes (x 2)
(if (zerop x)
(msgbox "~A" x)
(msgbox "~A" x))))
とかして関数の途中に(msgbox "~A"変数名)などとすれば変数の値を調べることができる。
printfというのはよく分からないが関数の途中に
(save-excursion
(set-buffer "*scratch*")
(insert (format nil "~A" 変数名)))
とでもしておけば変数の値を*scratch*バッファで確認できる。
また、(step (foo))とすればステップ実行をすることもできる。(ただ途中にfletがあるとエラーになる。)
こちら(URLリンク(white.s151.xrea.com))のstepとかmsgboxを
利用したりとかね。
watch.l(URLリンク(www1.odn.ne.jp))とか、profile.l(URLリンク(homepage3.nifty.com)
とか、こちら(URLリンク(www.geocities.jp))とかもある。
特にwatch.lはグローバル変数の値を確認するのに重宝している。
デバッグ用のxyzzyをビルドするという方法(URLリンク(raido.sakura.ne.jp))もあるらしい。
自分としてはlispディレクトリや拡張lispなどを参考にしてとにかく書いてみるのがいいと思うけどね。

618:名無しさん@お腹いっぱい。
08/04/12 12:51:51 5ZftulEM0
後、(message "~A" 変数名)なども使えるな。
あやしげなところにmsgboxを置いておいてブレークポイント代わりに使うのが一般的なんじゃないかな?(多分)

619:名無しさん@お腹いっぱい。
08/04/12 14:44:41 xG9r0ZiP0
>>617-619
それをprintfデバッグと言うんじゃないだろうか

620:名無しさん@お腹いっぱい。
08/04/12 17:45:04 usJfocSY0
そだねw

621:名無しさん@お腹いっぱい。
08/04/12 17:53:43 5ZftulEM0
>>619-620
xyzzyにはデバッガが無いのだからC言語とは状況が違うのでは?

一般人にはprintfデバッグ=>>617-618と受け止めるのは無理があるんじゃないですかね?

励まし合うスレということで現状でのデバッグの方法をまとめてみたつもりなんだけどね。

622:名無しさん@お腹いっぱい。
08/04/12 18:24:57 usJfocSY0
すまん、気に障ったのなら申し訳ない。茶化すつもりはなかったんだ。
ただ、いわゆる「printfデバッグ」も、Cでデバッガが無い時に使用する方法なので状況は似ていると思う。

623:名無しさん@お腹いっぱい。
08/04/12 22:12:46 aU6Y7jvC0
なんだかんだで理解しやすいからね。printfデバッグ。

624:名無しさん@お腹いっぱい。
08/04/13 05:29:27 apc+fhlt0
>>621
じゃあ、あえて言おうGJであると。



まあ、xyzzylispみたいなインタプリタだと逐次調べれるので
常にデバッガ使いながら作ってるような状態というか
ちょっとした改造には大して気にしなくても言いと思うけどね

この辺とか自分は使った事がないや
watch.l URLリンク(www1.odn.ne.jp)
profile.l URLリンク(homepage3.nifty.com)
簡単プロファイラ URLリンク(www.geocities.jp)

625:名無しさん@お腹いっぱい。
08/04/13 06:49:08 HCn+Jn9c0
>>624
watch.lはグローバル変数などの値を確認するのに便利だよ。
Esc Escとしてミニバッファに変数を入力してEnterが面倒だったので。
自分としてはこんなのを書いて右クリックから確認できるようにしている(ldoc.lが必要)
;; 変数の値を表示
(defun get-variable-value ()
(interactive)
(let (from to name sym)
(save-excursion
(skip-syntax-spec-forward "w_.")
(setq to (point))
(skip-syntax-spec-backward "w_.")
(setq from (point))
(setq name (buffer-substring from to)))
(and (setq sym (ed::ldoc-find-symbol name))
(boundp sym)
(popup-string (format nil "~S" (symbol-value sym)) (point)))))
(defun add-menu-gvv ()
(let ((menu *app-popup-menu*))
(add-menu-item menu nil "変数の値を表示(&H)" 'get-variable-value)))
(add-hook '*init-app-menus-hook* 'add-menu-gvv)
後lpp.lを導入して
(define-key ed::*lisp-mode-map* '(#\C-c #\LFD) 'pprint-eval-print-last-sexp)
(define-key ed::*lisp-interaction-mode-map* #\LFD 'pprint-eval-print-last-sexp)
として*scratch*バッファ以外でもC-c C-jで関数・変数の評価ができるようにしている。
lpp.lがなければ
(define-key ed::*lisp-mode-map* '(#\C-c #\LFD) 'eval-print-last-sexp)
とか。

626:名無しさん@お腹いっぱい。
08/04/13 07:04:33 HCn+Jn9c0
lispを書くにはldoc、タグジャンプ、リファレンス(reference.chmやinfo-modoki-modeなど)を使うと便利だと思う。
;; lisp-mode でパッケージの接頭辞がついていてもタグジャンプできるようにする
(defun lisp-tags-find-target ()
(let* ((opoint (point))
(name (if (pre-selection-p)
(buffer-substring (selection-mark)
(selection-point))
(let ((name-1 (buffer-substring (progn
(skip-syntax-spec-forward "w_")
(point))
(progn
(skip-syntax-spec-backward "w_")
(point)))))
(if (string-match ":+" name-1)
(substring name-1 (match-end 0))
name-1))))
(functionp (or (and (not (looking-back "#("))
(looking-back "("))
(looking-back "#'"))))
(goto-char opoint)
(values nil name functionp)))
みたいなのを書いてみたりしている。
このへんはよく使うから結構いろいろ拡張を入れたり適当なものを書いたりしている。

627:名無しさん@お腹いっぱい。
08/04/13 07:26:52 HCn+Jn9c0
>>626のlisp-tags-find-targetは(in-package "editor")と(in-package "user")で挟まないと動かないかもしれない。

628:名無しさん@お腹いっぱい。
08/04/14 14:41:28 T+XDpH0u0
remember.l がとても便利っぽいのですが、新しいメモを .notesの先頭に
付け加えるようにするにはどうすればいいでしょうか?

629:名無しさん@お腹いっぱい。
08/04/16 13:27:05 shO2krtg0
>>628
357行目 remember-append-to-fileを
(defun remember-append-to-file ()
(let ((text (buffer-substring (point-min) (point-max)))
(desc (remember-buffer-desc)))
(remember-with-temp-buffer
(insert "\n" remember-leader-text (format-date-string remember-date-format)
" (" desc ")\n\n" text)
(if (not (bolp)) (insert "\n"))
(if (get-file-buffer remember-data-file)
(let ((remember-text (buffer-substring (point-min) (point-max))))
(set-buffer (get-file-buffer remember-data-file))
(save-excursion
(insert remember-text)
(save-buffer)))
(progn (insert-file remember-data-file)
(write-region (point-min) (point-max) remember-data-file
nil remember-char-encoding remember-eol-code))))))

630:名無しさん@お腹いっぱい。
08/04/16 13:32:15 shO2krtg0
>>629 最後の3行を訂正
(progn (goto-char (point-max))
(insert-file remember-data-file)
(write-region (point-min) (point-max) remember-data-file
nil remember-char-encoding remember-eol-code))))))

要するに
.notesを開いてる時は(goto-char (point-max))を取るだけ
開いてない時は.notesをバッファの最後に読み込む

631:名無しさん@お腹いっぱい。
08/04/16 14:40:32 laNZvvnd0
拡張lisp/javascript-mode - XyzzyWiki
URLリンク(xyzzy.s53.xrea.com)

こちらのjavascript-mode ver 2.1を使わせていただいているのですが、
javascript-mode に関してはデフォルトの設定で使っています。

通常は、タブ文字使用、タブ=4文字で設定しているのですが、
困ったことに特定の時にインデントが変則的になります。
forの後に { を置かずにエンターすると、スペースが2つ入ってしまいます。

>---for (var i=0,ほげほげほげ;i++) ←ここでエンター
>---__if (
// ↑ここにスペースが2つ入る

>---for (var i=0,ほげほげほげ;i++) {←ここでエンター
>--->---if (
// ↑これは大丈夫

>--- はタブです。

javascript-modeはデフォルトのままなのですが、Eval:で確認したところ、
*javascript-indent-level*は4
*javascript-indent-tabs-mode*はt
でした。

どういったことが考えられますでしょうか?

632:名無しさん@お腹いっぱい。
08/04/16 14:58:10 laNZvvnd0
ソース読んだらワカタ!
c-indent-levelは設定されているけど、c-continued-statement-offsetは設定されてないのか。
javascript-mode.lを修正したら、うまくうごきました

以下パッチ

--- javascript-mode.org.l 2005-03-02 19:48:08.843750000 +0900
+++ javascript-mode.l 2008-04-16 14:46:25.540250000 +0900
@@ -233,6 +233,7 @@
   (setq mode-specific-indent-command 'javascript-indent-line)

   (make-local-variable 'c-indent-level)

   (setq c-indent-level *javascript-indent-level*)

+  (setq c-continued-statement-offset *javascript-indent-level*)

   (make-local-variable 'paragraph-start)

   (setq paragraph-start "^$\\|\f")

   (make-local-variable 'paragraph-separate)

633:628
08/04/17 08:51:42 1QNpVGGR0
>>629
うわっ、ありがとうございます! 自分が思っていた通りの動作ができました。
始めは暗号解読に似た気持ちでソースを読んでいたのですが、簡潔な解説も
していただいたおかげで、この関数の仕組みもだんだん理解できてきました。
これをきっかけにもう少し勉強してみようと思います、ありがとうございました。

634:名無しさん@お腹いっぱい。
08/04/19 03:44:57 47RlQGVZ0
17日頃から2ch-modeの板一覧が更新されなくなっちゃいました。
2ch::*menu-url* は URLリンク(menu.2ch.net) になってるんだけど、
menu-reload をしても304で更新なしになってしまう。
例えば、デジカメ板は hobby11サーバーになっているのに、自分のとこでは10のまま。
話題が出ないということは、自分だけの問題とは思うんだけど、
最近xyzzy関係のファイルをいじった覚えもなく、なぜ突然おかしくなったのか…
なにかわかる方がいればお願いします。

635:名無しさん@お腹いっぱい。
08/04/19 06:45:32 NMClkXhn0
鯖移転があったころでない?
新規リストをどうにかこうにかすればなんとかなる気がす

636:名無しさん@お腹いっぱい。
08/04/19 12:19:31 Q/QdAJEx0
現状 bbsmenu.html の内容が変わっても例えば hobby10→hobby11 みたいにサイズが変わらない場合、更新ができない。
otherbbs を使うか、

(defun menu-get ()
         :
    (http-get *menu-url* *menu-file* t)))

と修正すればよいと思われる。
otherbbs では http-get 内を修正してしまっているんですが、こちらの方が望ましいと思うので、
こちらもこのように修正しようと思います。

637:名無しさん@お腹いっぱい。
08/04/19 15:35:23 4YG7EuY70
なぜか今更新試したら余裕でできました。
635も636もよくわかんないんだけど、次につまずくまでに勉強しときます。
ありがとうござました。
しかしほかのみんなはできてたっぽいのが不思議

638:名無しさん@お腹いっぱい。
08/04/19 21:37:10 fuf1O7aL0
2ch-modeで、追っかけスレが落ちてるかどうかを調べる方法ないもんですかね。
今は、落ちてたらエラーが出る動作で確認するためにgを押してるんですけど、
これだといちいち板のスレ一覧開いちゃうんでちょっと手間で…。

639:名無しさん@お腹いっぱい。
08/04/19 21:58:13 T/3BRiYu0
わたしもhobby11が取れなくて苦労しました。結局、
\xyzzy\.2ch\bbsmenu.txt
\xyzzy\.2ch\bbsmenu.html
このファイルを削除して板リスト再読み込みかけたらOKでした。

640:名無しさん@お腹いっぱい。
08/04/20 00:33:28 eeZnQX7q0
>>637
otherbbs は 2ch-mode でしたらばやまちBBSのスレが見られるようにする拡張です。
スレを読む、スレに書き込む、スレ一覧を表示する、スレへのリンクでジャンプする…位しかできませんが…。
otherbbs を入れると一応 bbsmenu.html のサイズが変わらない更新も検知できるようになっています。…はず…

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

641:名無しさん@お腹いっぱい。
08/04/21 00:25:05 cE2W2rGRP
"ゔ"が表示及び保存ができない。。
表示できなくてもいいんだけど、保存するときヴで保存されるのは困る。
これはさすがに本体に手を入れないとだめかな。

642:名無しさん@お腹いっぱい。
08/04/21 07:25:03 9lGhvKv50
ほんとだ

(write-char (code-char 4389))
これで表示して保存は別に考えるとか・・・面倒すぎるな

643:名無しさん@お腹いっぱい。
08/04/29 15:32:48 s9/u6gQj0
つい最近、補完なんてあるのを知った亀歴5ねんせい

マルチモニタじゃぜんぜん使えねーじゃん‥サミシス

644:名無しさん@お腹いっぱい。
08/04/29 18:18:38 x75l4sfh0
>641-642
642の方法で表示・保存(UTF-16LE)はできた。
ただし読み込みの時に化ける。


645:名無しさん@お腹いっぱい。
08/04/29 21:17:29 V5Iqxf1m0
xyzzyのUNICODEってけっこう不完全だよなあ・・・

アラビア文字も対応してないし。いやしてる方がマレかw
まあ、アラビア圏の知り合いができて気づいただけだがww

646:名無しさん@お腹いっぱい。
08/04/29 21:20:59 ac1QYf3A0
何がおもしろいんだか。

647:名無しさん@お腹いっぱい。
08/04/30 04:02:27 K0pLoLYH0
上のほうにデバッグの話出てたけどedebugみたいなの作るのって無理?
edebug.elは4530行あるので余裕で挫折

648:名無しさん@お腹いっぱい。
08/05/01 21:22:22 ygncIwSA0
アラビア文字は左右逆だから取り込み辛そうだけど
なんでタイ文字って対応してないんだろ?
何か難しいことあるのかな?

649:名無しさん@お腹いっぱい。
08/05/01 21:45:18 Nxnjdy4F0
要望が無かったからかと

650:名無しさん@お腹いっぱい。
08/05/01 22:47:57 bCVjCXss0
対応してなくても一生困ることないよ

651:名無しさん@お腹いっぱい。
08/05/02 00:30:46 kgoEooKl0
困る人は困る

652:名無しさん@お腹いっぱい。
08/05/02 01:39:57 vWfJyFv20
困らない人は困らない

653:名無しさん@お腹いっぱい。
08/05/02 01:50:53 0TjnqGff0
(if (困る?) 困る)
(if (困らない?) 困らない)

654:名無しさん@お腹いっぱい。
08/05/02 02:01:26 VQGNhll30
>>648
タイ語は左右どころか上下に文章が伸びる訳だが。
完璧に実装するのはアラビア語よりもよっぽど難しいと思うぞ。

655:名無しさん@お腹いっぱい。
08/05/02 08:17:56 BKj4dix60
アラブ人に作ってもらえ

656:名無しさん@お腹いっぱい。
08/05/04 11:45:58 MJIN3kIu0
あげ

657:名無しさん@お腹いっぱい。
08/05/05 02:09:32 CRvLwNyW0
>>654
ぬおっ! そうなのか!
そりゃ無理だな

658:名無しさん@お腹いっぱい。
08/05/05 13:27:17 6rezoG5t0
高機能かも知れんが、学習コストが高いのに無理して使うって何。
エベレスト山に登るような感覚かいな。

659:名無しさん@お腹いっぱい。
08/05/05 14:38:35 7ihOQ5bQ0
その人が無理しないと使えないと言うんなら、仕方がありません。ありがとうございました。

660:名無しさん@お腹いっぱい。
08/05/05 14:51:43 iZFa+7Uz0
無理に使わされて困ってるんだったら私が代わりにお詫びしよう。
私はあんまり手間をかけずにLispで遊びたいだけなんで
そのへんよく分かりません
んじゃ!

661:名無しさん@お腹いっぱい。
08/05/05 15:15:19 lCGy+tVe0
>>658
機能が豊富であるということはそれらを呼び出す手順が
明示的暗黙的に必要であるということになって必然的に
覚えることが多くなってしまうものだと思います。

この手の論理は釣りだと思うので遊ぼうとしたんですが
頭が硬すぎるみたいです。

662:名無しさん@お腹いっぱい。
08/05/05 15:53:09 XXQWKgeF0
テキストエディタとしては無理して使うたいほど垂涎の高機能でもないんじゃないのか。

663:名無しさん@お腹いっぱい。
08/05/05 20:58:27 YAXEthSG0
>>658
それをコストだと思っているならxyzzyやemacsは向かないぜ
学習やカスタマイズが楽しいと思えるなら向いてる

664:名無しさん@お腹いっぱい。
08/05/06 03:00:06 PivMf9A90
俺はカスタマイズ無しで
思考を自動的に読み取って動作してくれるソフトが欲しいけど

まだ存在しないみたいだから
今現在で俺が知ってる中の一番使いやすいxyzzyを使ってる

665:名無しさん@お腹いっぱい。
08/05/06 04:48:42 w7eIT3ZS0
.xyzzyが10行以下で使っててごめんなさい

666:名無しさん@お腹いっぱい。
08/05/06 12:29:56 JErZfjgu0
>>662
特に最近は、他のエディタが追い付いてきて大差はないね。
今もメリットはあるけど、他のエディタのほうが優れている機能もある。

667:名無しさん@お腹いっぱい。
08/05/06 13:09:38 wrYIkdQK0
>>666
>他のエディタのほうが優れている機能もある。
具体的にどの機能が?
大抵はlispで実現できるんじゃないの?

668:名無しさん@お腹いっぱい。
08/05/06 14:11:25 p7ILj0rv0
>>666
最近はxyzzy以外のエディタについてほとんど知識がないんで、よかったら詳しく
教えてください。使ってみたいです。

669:名無しさん@お腹いっぱい。
08/05/06 21:43:49 TucKR8r40
xyzzyを使い始めた頃って他のエディタってほとんどが正規表現を外部DLLに依存してて
改行を挟んだ正規表現の扱いが厳しかったり、正規表現のgrepが遅かったり
長い正規表現を処理できなかったりでxyzzyくらいしかまともに使えるのがなかったよ。
当時の秀丸でMB単位のファイルを開くと激しく固まってたのをさくっと開けた印象もよかった。
当時は.xyzzyにwinkeyだけ入れてメニューからの操作のみで使ってたよ。
カスタマイズしない分には学習コストとか関係なかった。

>666
最近の追いついてきたエディタを教えて欲しい。
最近出てきたエディタってよく知らないので。

670:名無しさん@お腹いっぱい。
08/05/06 21:55:31 zHgfxIh70
今の使い方と大体同じものが一通り入ってないと乗り換えは難しいからなぁ

671:名無しさん@お腹いっぱい。
08/05/07 05:05:44 rB0Bplx40
>>667
基本的な機能は変えにくい
文字コードとか、lispのエンジンや、処理速度なんかみたいに
Cに依存してる所はlispじゃ変えにくいし、変えてもあんまり効果的じゃなかったりする

>>668-669
秀丸やEm、MIFESみたいな普通に有名なのがかなり進化してると思うよ。


672:名無しさん@お腹いっぱい。
08/05/07 05:28:41 5gu3NL2T0
>>667
xyzzyで実現できない or 凄く難しい機能といえば
インライン画像と折りたたみじゃない?何度か話題になってるし。

673:名無しさん@お腹いっぱい。
08/05/07 06:52:26 GrUGs+9w0
>秀丸やEm、MIFES
これらは、その基本的な機能をカスタマイズ出来るんか?

674:名無しさん@お腹いっぱい。
08/05/07 07:51:58 V2+BoGmZP
処理速度なんかは機能というより性能といったほうがいいんじゃないかな。
それでも性能も含めて秀丸とか進化してるというのはわかる。
かといってxyzzy基本性能が見劣りするわけじゃないけど。

実際機能となると>>672ぐらいかな。lispで実装が厳しいと思うのは。

675:名無しさん@お腹いっぱい。
08/05/07 09:13:40 Rw/gLkSf0
あと、プロポーショナルフォント、縦書きですか。

;; 自分は興味ないけど。

676:名無しさん@お腹いっぱい。
08/05/07 10:00:03 wnFUdw980
縦書きと折り畳みはバッファを2つ使えば実装できるでしょ。
縦書きを完璧に実装するには縦書き用のフォントが必要となるが。

文句を言う前に自分で実装を試みてみたらどうかな?

秀丸も少し使ってみたがgrepなんかはxyzzyの方が速いし、マクロもあまり速くない感じがする。
マクロでできることもxyzzyよりも大分制限があるんじゃないの?
基本的性能ではまだまだxyzzyに分があるんじゃないかね。

自分としては乗り換えるならemacsだけど速度や安定性がまだまだだし、いままで書いたlispコード(多分1万行を超えている^_^;)を
無駄にするのはきついので当分は考えられないし、特に不満なところもないけどね。

677:名無しさん@お腹いっぱい。
08/05/07 10:24:40 mzwPzBEJ0
初心者のころに書いたコードがちょっとの工夫で半分ほどになることも少なくないのが
lispの面白いところ

もう一度書き直してみてはいかが

678:名無しさん@お腹いっぱい。
08/05/07 10:54:40 YDYGxzFO0
>>676
> 縦書きと折り畳みはバッファを2つ使えば実装できるでしょ。
> 縦書きを完璧に実装するには縦書き用のフォントが必要となるが。
縦書きのIカーソルはどうやって実装するの?
後プロポーショナルの縦書き。
偉そうに言うならヒント頂戴よ。

679:名無しさん@お腹いっぱい。
08/05/07 11:28:55 V2+BoGmZP
>>676
バッファを2つ使って折りたたみを実装するって数年前にも同じような
話しあったね。
結局あの方法で実装した人いるのだろうか。
無理にlispで折りたたみを実装すると微妙なものが出来上がるっていう
レスもあったけど。

特に、同期のさせ方とundo/redoの情報、置き換えなどのバッファ全体に
影響を与えるコマンドが実行された場合の処理方法/速度が
気になるところ。
さらに、既存の拡張lispとの相性を考えるとなると。。

680:名無しさん@お腹いっぱい。
08/05/07 13:04:47 wnFUdw980
>>678
縦書きは表示だけなら出来てますよ。
URLリンク(homepage2.nifty.com)
tategaki.elというのもあります。
URLリンク(www.bookshelf.jp)

>縦書きのIカーソルはどうやって実装するの?
それは多分ソースに手を加える必要があるんじゃないかと。
>後プロポーショナルの縦書き。
上は等幅フォントが前提なのでプロポーショナルは難しいかも。

>>679
確かにlispで実装するには速度が気になりそうですね。
既存の拡張はほとんど使えなくなると思います。
まあやってみないとわからないですね。
微妙なものが出来上がるというのは実際試した上での発言なんですかね。

681:名無しさん@お腹いっぱい。
08/05/07 13:09:00 wnFUdw980
上の縦書きはどちらも()などの表示ができないので念のため。

682:名無しさん@お腹いっぱい。
08/05/07 13:10:51 YDYGxzFO0
>>680
そりゃソースいじれば実装できるだろうよ。
発言を読む限りlispの拡張だけで完璧に実装って前提で話してると思ったから
質問したんだけどなぁ。

683:名無しさん@お腹いっぱい。
08/05/07 13:16:47 wnFUdw980
>>682
だから縦書きフォントが必要といっているんだけどね。
偉そうに思われたなら悪かったが、自分で試しもせずに文句ばかり言うのもどうかと思うよ。

今ちょっと忙しいのでこのへんで。

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

685:名無しさん@お腹いっぱい。
08/05/07 14:04:37 wnFUdw980
>>684
だから冗談抜きで忙しいんだって。今は相手をするのは無理。

686:名無しさん@お腹いっぱい。
08/05/07 15:09:01 wRj9utXf0
どっちも見苦しいから消えてください

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

688:名無しさん@お腹いっぱい。
08/05/07 18:04:31 YtnO7lTo0
フルカラー表示も欲しいなぁ


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

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

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

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

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

692:名無しさん@お腹いっぱい。
08/05/08 08:41:53 Lb0voFVX0
30分でレスする余裕あるのに忙しいってww

693:名無しさん@お腹いっぱい。
08/05/08 09:50:34 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:名無しさん@お腹いっぱい。
08/05/08 23:55:25 gIg0pz6N0
xyzzy本体の開発の件だが、まずはSourceForgeにあげませんか。

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

696:名無しさん@お腹いっぱい。
08/05/09 02:48:36 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:名無しさん@お腹いっぱい。
08/05/09 07:46:10 /9lvKrjp0
>>696
ありがとうございます。

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

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

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

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

700:名無しさん@お腹いっぱい。
08/05/09 17:26:21 K02E7fyC0
| $foox は $barx にならず、$foox のまま、
| みたいに少し賢いと嬉しいです。

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

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

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

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

703:名無しさん@お腹いっぱい。
08/05/09 23:06:27 UscVxJCH0
URLリンク(www.moongift.jp)
何というか惜しい。

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

705:名無しさん@お腹いっぱい。
08/05/10 01:21:42 JW+OcfFi0
「単語単位で検索する」を使ってないのか

706:名無しさん@お腹いっぱい。
08/05/10 03:42:12 m0ZyYbac0
そんな機能があったとは…

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

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

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

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

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

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

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

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

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

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

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

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

# Lispやったら楽しいよ

715:名無しさん@お腹いっぱい。
08/05/12 00:35:42 XPPhw9DV0
結局やりたいようにやる人のようだから
楽しいかどうかは自分で

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

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

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

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

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

720:名無しさん@お腹いっぱい。
08/05/13 16:45:05 V5Hkmndn0
右手で反対側のCtrlを押すこともある

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

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

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

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

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

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

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

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

727:724
08/05/14 16:33:35 9+l/ew1c0
>>725
> 繭を持ち運ぶ問題点はまずドライバ使うことだと思うんだが…

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



728:名無しさん@お腹いっぱい。
08/05/14 16:37:04 dAcORiya0
>>727
気にするなってことよ。

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

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


730:名無しさん@お腹いっぱい。
08/05/19 12:14:21 2P1yashb0
>>729
emacsでいうfly-makeみたいなもの?

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

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




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

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

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

735:名無しさん@お腹いっぱい。
08/05/20 01:12:15 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:名無しさん@お腹いっぱい。
08/05/20 01:17:32 FtGjqSRJ0
しかしここまで作って気づいたのが
行をevalする際に、「1つの文がどこまでか」をさかのぼって調べようと思うと
構文解析まで必要?だとしたら最後まで作るのは自分には荷が重い・・
その点だけは、Lispは楽ちんだよなあw


737:名無しさん@お腹いっぱい。
08/05/20 11:01:38 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:名無しさん@お腹いっぱい。
08/05/20 11:21:36 ri2joa0h0
>>736
tuareg-mode というのを移植すればすぐできると思うよ。

739:名無しさん@お腹いっぱい。
08/05/20 16:21:41 lhHL8IKi0
移植もそんな楽なもんじゃないけどね。

740:名無しさん@お腹いっぱい。
08/05/20 16:58:44 kxZD+sl80
むしろ素人には移植の方が難しいという罠。

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


742:名無しさん@お腹いっぱい。
08/05/20 18:57:21 R6lAX3No0
tuareg-mode 読むの結構大変だと思うよ

743:名無しさん@お腹いっぱい。
08/05/20 20:50:36 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
08/05/20 21:41:39 R6lAX3No0
>>743
> これは正規表現で1ワード文だけsendしてるわけですよね。

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

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

745:737
08/05/20 21:54:17 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:名無しさん@お腹いっぱい。
08/05/20 22:27:24 FtGjqSRJ0
>>737
おお、これはいいですね
意識してインデントしておけば、ばっちり使えますね。
ぱくらせていただきますw


747:名無しさん@お腹いっぱい。
08/05/21 01:06:23 sTtd0uDN0
>>741
(defun mode-specific-indent-command-call ()
(interactive)
(funcall mode-specific-indent-command))


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

748:名無しさん@お腹いっぱい。
08/05/21 06:01:26 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:名無しさん@お腹いっぱい。
08/05/21 17:54:38 Km5J5G1o0
>>748
それだと Z と a の間のいくつかの記号も入っちゃうよ。

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


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


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

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

754:名無しさん@お腹いっぱい。
08/05/25 21:27:23 FIUu1jF/0
オフ会はどうだったんだろう

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

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

756:755
08/05/26 15:40:55 +wecsvlm0
すまそ、自己解決できた


757:名無しさん@お腹いっぱい。
08/05/26 16:25:35 PzsqpXfF0
どうやって解決したか書いたらいい

758:名無しさん@お腹いっぱい。
08/05/26 17:33:12 +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:名無しさん@お腹いっぱい。
08/05/27 23:38:57 RHToqyar0
uniquify.l もいいよ。

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


761:名無しさん@お腹いっぱい。
08/05/31 11:06:11 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>


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

5383日前に更新/293 KB
担当:undef