1 名前:名無しさん@お腹いっぱい。 [2011/11/29(火) 17:50:44.24 ] 前スレ Emacs Part 38 hibari.2ch.net/test/read.cgi/unix/1308635178/
2 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/29(火) 17:52:03.67 ] 2ゲトオ  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (´´ ∧∧ ) (´⌒(´ ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡  ̄ ̄ (´⌒(´⌒;; ズザーーーーーッ
3 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/29(火) 17:52:26.54 ] >>1 乙っす
4 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/29(火) 18:43:02.53 ] るびきち著
5 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/29(火) 19:12:02.43 ] いちおつ
6 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/29(火) 21:27:10.59 ] Ubuntu 初心者スレより Perl忍者 img.pics.livedoor.com/011/7/b/7b93db5444cf92f7cc91-LL.JPG img.pics.livedoor.com/011/3/7/37af7e092c96cad7b14f-LL.JPG img.pics.livedoor.com/012/5/1/51bc3004b6b4ec99063a-LL.JPG img.pics.livedoor.com/012/a/6/a6cf04c9fe815ad28228-LL.JPG
7 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/29(火) 22:59:18.27 ] スレッドルールは以下の通り: * 初心者にやさしく接すること * Emacsユーザーとの仲間意識をしっかり持って、馴れ合いを怠らないこと * このスレでのコミュニケーションを前スレ以上に活発にすること (用がなくとも、毎日の書き込みが理想) * 部外者/非Emacsユーザーの書き込みも可。但し、女性の書き込みは場の雰囲気を乱すので不可 * 自分で書いた便利なコード/アイディアは他人とシェアしようと試みること bzr先端 (emacs最新開発版): $ bzr checkout -v --lightweight bzr.savannah.gnu.org/r/emacs/trunk emacs
8 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/29(火) 23:00:00.00 ] GNU Emacs - Free Software Foundation (FSF) www.gnu.org/software/emacs/ EmacsWiki www.emacswiki.org/ Emacs 電子書棚 www.bookshelf.jp/ Emacs CVS Repositories [Savannah] savannah.gnu.org/cvs/?group=emacs Emacs Lisp List www.damtp.cam.ac.uk/user/sje30/emacs/ell-date.html ダウンロード ftp.gnu.org/pub/gnu/emacs/ Windows用 NTEmacs の最新ダウンロード https://sourceforge.jp/projects/ntemacsjp/files/ bzr: bzr branch bzr.savannah.gnu.org/r/emacs/trunk
9 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/30(水) 08:57:10.66 ] >>7 きめー。
10 名前:名無しさん@お腹いっぱい。 [2011/11/30(水) 14:26:52.41 ] 今度からスレ立てる時にリンクの中に一緒に張っておけよ? Amazon.co.jp: Emacs Lispテクニックバイブル: るびきち: 本 www.amazon.co.jp/Emacs-Lisp%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF%E3%83%90%E3%82%A4%E3%83%96%E3%83%AB-%E3%82%8B%E3%81%B3%E3%81%8D%E3%81%A1/dp/4774148970 Emacs Lisp言語のK&R候補だろ? ところで外人だとAnything使ってる人って少なくね? あまりというか、IRC覗いててもほとんど話題にもならないし。 いまいちなのかな。まぁ、そこまで外人からしたら画期的でも必須でもないんだろうなぁとは使ってても思うけど。 あいつらが何に関心があるのかいまいちわからん。
11 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/30(水) 14:40:32.68 ] 敢えて否定的な意見を書いてみることで 自分への非難を避けつつも宣伝しているな。 ま た お ま え か ! !
12 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/30(水) 14:41:45.26 ] さーせん
13 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/30(水) 14:47:14.71 ] >>10 URL長いよ。 www.amazon.co.jp/dp/4774148970
14 名前:名無しさん@お腹いっぱい。 [2011/11/30(水) 14:58:09.71 ] フッタとしてURL付けようぜ www.amazon.co.jp/dp/4774148970
15 名前:名無しさん@お腹いっぱい。 [2011/11/30(水) 16:09:38.22 ] RMSの.emacsください。どこにありますか?
16 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/30(水) 16:15:04.05 ] 空っぽじゃなかったっけ。
17 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/30(水) 19:33:42.59 ] >>10 るびきちの変な押しつけ多くて微妙だった。
18 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/30(水) 22:57:41.47 ] おしつけってどんなの?
19 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/30(水) 23:53:45.64 ] global-set-keyのキーの設定について質問します init.elに (global-set-key "\C-;" 'hoge) と書くとエラーが出ますが、 (global-set-key [?\C-\;] 'hoge) と書くと正常に通ります 前者がおかしいのは;がコメントとしてなぜか機能してしまうからでしょうか? また、前者のように""表記で同様のことを正常に行うことは可能でしょうか
20 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/01(木) 00:12:58.39 ] (global-set-key (kbd "C-;") 'hoge) で
21 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/01(木) 00:16:02.06 ] \C-; なんてコードは存在しないから、エラーになるのが正常。
22 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/01(木) 00:21:31.50 ] >>20-21 ありがとうございます。
23 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/01(木) 00:22:07.28 ] "\C-なんとか" って表記は、なんとかに対応する ASCII 制御文字(C-q C-なんとか で出てくるやつ)を表すだけのものだが、 使えるのは ASCII の "@" から "_" の範囲または "?" だけで、それら以外の文字をに当てはめても対応する制御文字が存在しないのでエラーになる。 これ見りゃわかると思うけど。→ja.wikipedia.org/wiki/ASCII 普段から kbd マクロ使っとくのが無難。
24 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/04(日) 08:34:56.11 ] 今日のお昼はオタフクソースご飯。
25 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/04(日) 16:51:22.80 ] メルマガはどうなの
26 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/04(日) 17:58:25.95 ] 意外と金はらってでも取るやつがいるみたいで怖い。 情弱相手の商売ってほんと儲かるんだなぁ。
27 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/04(日) 18:05:39.68 ] 512円・・・たっか! なんか気持ち悪い人になっちゃったな
28 名前:名無しさん@お腹いっぱい。 [2011/12/04(日) 18:08:38.09 ] このスレ見てるほうが勉強になるのにな
29 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/04(日) 18:13:24.23 ] 気持ち悪くなかった時なんてあっただろうか
30 名前:名無しさん@お腹いっぱい。 [2011/12/04(日) 18:18:02.62 ] ツイッターでもひどい自演してるしな
31 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/04(日) 18:22:46.76 ] 毎月512円も払って勉強しないと使いこなせないようなどうしょもないエディタだったっけ、Emacsって。 割合枯れたツールだしそもそも情弱が使っても何も嬉しいことないと思うんだけどなあ・・・ にしても今時メルマガかよ
32 名前:名無しさん@お腹いっぱい。 [2011/12/04(日) 18:50:52.02 ] 情弱にemacs使って欲しくないよな 汚れる気がする
33 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/04(日) 19:33:52.78 ] ずーっと前に使っていた派遣がファイルを編集するたびに % emacs filename で起動して編集後終了していた。filenameはXのコピペ機能で張り付けていたっけ。
34 名前:名無しさん@お腹いっぱい。 [2011/12/04(日) 19:42:04.31 ] 情弱はemacs使ってますって言いたいだけだからな vimではこんなことないのに
35 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/04(日) 19:44:19.29 ] いやむしろ最近はvimの方も酷い気もする 一時期のemacs状態だわ はてブとかで「vimで必要な10の設定」とかたまにあがってくるようになったしな
36 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/04(日) 20:09:48.95 ] るびきちはもうrubyやってないんだし名前かえたらいいとおもうの
37 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/04(日) 20:27:24.42 ] 「断言できます」という表現は「断言」の語意と矛盾する。 これをいい始めると人間やばい。
38 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/04(日) 20:28:51.24 ] >>33 まあ今となってはEmacsも大して重くなくなっちゃったから 今風の使い方ってことでいいんじゃね >>35 vimの設定もいまの主流からは外れちゃってるからな とは言え、だいたいsetだけで済むけど
39 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/04(日) 20:33:37.02 ] 4コアのPC新しく買ったからemacsいれてみたら あまりに起動早すぎてびっくりしたわ。 これは確かに一々終了してても気にならないレベル。
40 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/04(日) 20:45:54.41 ] いっぱい require してるから 4 コアだろうが気になる。 そして >>33 の派遣の話はずーっと昔の話なんじゃね? こういう奴、いたら即切りたくなるよな。
41 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/04(日) 21:55:38.98 ] まぁカリカリすんな 納期までに要件を満たすもの作ってきたらそれでいいじゃないか
42 名前:名無しさん@お腹いっぱい。 [2011/12/04(日) 21:58:45.63 ] 所詮下っ端だからな Emacsに相応わしくないよ
43 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/04(日) 22:04:50.96 ] 実際エディタ何使ってようが構わないし仕事ちゃんとしてくれれば何の問題もないんだけど アイスの蓋についたやつを舐めるか舐めないかレベルのイライラが募る
44 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/05(月) 00:01:37.51 ] みんな溜ってるの?
45 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/05(月) 00:17:32.35 ] さっき抜いてきたからすっきりしてるよ
46 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/05(月) 00:40:01.34 ] >45 せめて例のスレをあげてきたって書こうよ
47 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/05(月) 04:04:02.06 ] screen -d -m emacs -f server-start とかしておいて emacsclientを使ってる。
48 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/07(水) 19:21:55.07 ] >>42 どっちのウィンドウサイズも小さいけどね。
49 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/08(木) 22:58:23.91 ] Pomeraがemacsバインドで動けばいいのに ザウルスじゃあなぁ・・・・
50 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/09(金) 00:10:11.39 ] lisp cabinetというものにemascが入っていたので使ってみたのですが、 日本語入力で未確定の時点では文字が全く表示されません microsoft ime 2010で確かめて見たのですが、確定するときちんと表示されます 環境はwindows vistaです どうすれば入力中の文字が見えるようになるのでしょうか
51 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/09(金) 00:19:33.88 ] iphoneがOutlookの仕事スケジュールデータ破壊してくれたので もうこの際,Emacsのカレンダー(印刷できる!これが重要)に移行しようとおもった しかし最近はorg-modeなんてのがあるんだね。org-modeも印刷できるの?
52 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/09(金) 02:47:23.58 ] >>51 印刷出来る、出来ない、が何を意味してるのか分かんないけど全部 M-x print-buffer じゃダメなの?
53 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/09(金) 12:56:45.98 ] >>50 emasc はスレが違うよ。
54 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/09(金) 13:29:54.49 ] >>50 素のemacsをソースからコンパイルしたのもそうなった。 悩むのは嫌なので、IME-patchが適用されてるバイナリを探してインストールしたら 表示されるようになった。
55 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/09(金) 13:37:19.40 ] windowsでサクっと使いたいなら 今だとgnupackのemacs単独版インストールが一番楽だと思う。 IME-patch あててあるし。
56 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/09(金) 16:18:03.05 ] Meadow + Google IME の環境が快適すぎる。
57 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/09(金) 16:27:48.01 ] meadowってまだメンテされてんの?
58 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/09(金) 16:37:51.32 ] googleのアプリってWebページのボタン一発でインストール開始する凶悪なスパイウェア仕込むじゃん。 あれってその気になればWebページ閲覧しただけでアプリをこっそりインストールすることも可能だよね。
59 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/09(金) 16:53:29.01 ] ここで言われてもな。
60 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/09(金) 17:16:34.24 ] auto-install だってそうだよな。 wiki の中身こっそり差し替えられてたらどうするんだろう。
61 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/09(金) 17:18:53.90 ] auto-install()笑なんてウィルス満載パソコンを使ってる情弱専用ツールじゃん
62 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/09(金) 17:47:52.69 ] サーセン
63 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/09(金) 19:43:40.56 ] MacでGNU Emacs23.3を使っています 編集しているファイルを内包するフォルダをFinderで開くという動作を させたいのですが、なにか方法はありますか?
64 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/09(金) 20:01:12.99 ] こっちで聞いたほうがいいでない? Mac de Emacs総合スレ v6 hibari.2ch.net/test/read.cgi/mac/1228489176/
65 名前:63 mailto:sage [2011/12/09(金) 20:05:47.45 ] >>64 こんなスレがあったんですね こちらで聞いてきます、ありがとうございました
66 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/10(土) 02:57:34.54 ] Linux 3.1 + gnome-shell 3.2 + emacs 23.3 で背景透過が出来無いんだけど、同じ環境で出来てる人いる?
67 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/10(土) 12:27:02.18 ] >>54 ありがとうございます。 emacs for gnupack 24.0.92のビルド(SVGとGnuTLS対応版) - gnupackの開発メモ d.hatena.ne.jp/ksugita0510/20111204/p1 これのバイナリ版を試してみたら意図した通りに動きました そこでlisp cabinetのバイナリをpatchを当てたバイナリと交換しようと思って 旧バイナリを含むbinフォルダをpatch版バイナリを含むbinフォルダで上書きしたら lisp cabinet経由で起動しなくなりました おかしいと思って patchを当てたバイナリのうちlisp cabinet収録のemacsの版に近い emacs-23.1-20100403.exeを使って もう一度上書きしてみましたが同じ結果になってしまいました sourceforge.jp/projects/gnupack/releases/?package_id=10839 patch版バイナリのどちらもrunemacs.exeを直接たたけば普通に起動します どこの設定をいじればよいのでしょうか
68 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/10(土) 13:46:39.91 ] >>67 LispCabinetのemacsってスペシャルバージョンみたいじゃん。 emacsclient.exeをLispCabinetの物と置き換えれば、とりあえず起動だけなら するような気がするけど、emacs本体にも手が入ってるようだからダメだろうなあ。
69 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/10(土) 15:07:09.13 ] 起動時最大化できねー フレームの扱いまじ謎
70 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/10(土) 15:14:09.39 ] これ? stackoverflow.com/questions/815239/how-to-maximize-emacs-on-windows-at-startup
71 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/10(土) 20:33:26.34 ] >>67 それインストールしてアンインストールしたらシステム環境変数PATHをクリアしやがった。 ウイルスなみの悪質プログラムと認定。
72 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/10(土) 21:19:17.89 ] >>71 頼むからフィードバックしてあげてー。人手ないんだから。。
73 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/10(土) 23:37:50.97 ] >>68 そうですか。仕方が無いですね patchを当てたemacsをもとに lisp処理系をそろえようと思います
74 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/11(日) 18:14:29.89 ] >>71 その程度で環境変数変えられちまうOSのほうが悪質じゃね?
75 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/11(日) 18:34:33.41 ] >>74 管理者権限でアンインストールするんだから何でもアリだろ。
76 名前:名無しさん@お腹いっぱい。 [2011/12/11(日) 22:38:23.84 ] 左下がuuuじゃなくてuuUになってるんだがバク?
77 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 02:19:34.65 ] プログラミングもわからなくてこのソフトを導入したのですが、 背景を黒にして文字を白にする 反転はどうしたらできますか? マウス使わなくても環境が一通り整うみたいなので 近いうちにプログラミング言語も学びたいなとおもってます。
78 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 02:23:14.64 ] そんなんググればいくらでも出てくるだろ
79 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 11:03:59.24 ] > マウス使わなくても環境が一通り整う 釣りなのか?
80 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 11:05:11.95 ] 釣りに見えるのか?
81 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 11:13:17.60 ] ……だって、……だって、 Emacs使ったらマウスいらないじゃないですかぁっ! マウスさんかわいそうですぅ!
82 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 11:16:27.06 ] そういうのはいいです。
83 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 11:16:35.08 ] 「マウスを使わない」環境がひと通り揃う、ならわからんでもないけど 「マウスを使わないで」環境がひと通り揃うってのはよくわからんね。
84 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 11:32:24.69 ] GUIで設定する必要がない、って意味じゃない?
85 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 11:36:58.98 ] それじゃあ vim お勧め。 Emacs は ツールバーとかメニューバーとか Customize とかの軟弱インターフェースが揃ってるからお勧めしない。
86 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 11:46:03.98 ] >>85 > ツールバーとかメニューバーとか Customize とか 別にそんなの使わずに済むじゃん。
87 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 11:49:49.73 ] メニューバーも customize もマウスなしでいじれる。
88 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 11:53:48.97 ] 端末上で開いたとき、上部に出るメニューが邪魔なんですが消す方法ありますか
89 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 11:57:12.82 ] >>88 (tool-bar-mode 0) (menu-bar-mode 0) とか?
90 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 12:16:28.21 ] ~/.emacs に (menu-bar-mode 0) で出来ました、ありがとうございます
91 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 12:48:51.73 ] だらだらWeb見てる時なんかはむしろマウスだけで全て操作したくなる
92 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 13:03:32.07 ] マウスを使わない環境はいいとして、そこでどんなプログラムを作ってんの マウス使わないプログラムってRとかHadoopとか?
93 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 13:25:21.38 ] 組み込み土方じゃね?
94 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 13:27:40.77 ] >>93 エミュレーターでマウス使いまくりだYO!
95 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 15:39:07.02 ] コンシューマゲームとか
96 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 15:57:22.20 ] そういやずいぶん昔のレスで シフトだのコントロールだのをフットペダルで操作してはどうかみたいなのがあったな。 SKKスレだったかもしれんが
97 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 15:59:02.52 ] >>96 こっちかな。 Keyboard キーボード 3 hibari.2ch.net/test/read.cgi/unix/1285489282/
98 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 17:02:16.49 ] アナログペダルでC-u 出来たら便利だと思うんだ
99 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 17:09:50.71 ] C-u ってあんまり使ってないわ。
100 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/12(月) 19:39:16.11 ] 俺がよく使うC-uの使い方は3通りくらい。 ・同じ文字を一定数入力するとき ・マクロを一定回数実行するとき ・C-u C-SPC
101 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/13(火) 17:36:55.07 ] これからはマウスどころかキーボードもない環境が増える そんな中Emacsはどうなるんだろう?
102 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/13(火) 17:44:20.90 ] emacs for iPhone は実はもう存在している マウスもキーボードもない環境でのエディタってEmacsとは関係なしにどうやって文章入力するんだろ スクリーンキーボードだのフリック入力はキーボードとたいして変わらんから置いといたとして。 音声入力?
103 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/14(水) 00:16:48.02 ] anything最新にしたら起動しなくなった。。 ほんとにこういう事してるから信用無くすんだよな
104 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/14(水) 00:17:48.58 ] そもそもanything自体るびきち作じゃないしな。メンテナ引き継いだだけという。
105 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/14(水) 01:08:41.65 ] メンテナもまともにできないカスってこと?
106 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/14(水) 01:10:19.58 ] >>103 バグ報告した?
107 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/14(水) 03:09:08.33 ] メンテナが作者っぽくふるまうのはなぜだろう
108 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/14(水) 03:13:44.70 ] バグ報告なりパッチ送るなりすりゃいいだろ。 オープンソースもの使っててその態度はさすがにどうかと思うわ。 るびなんとかとか関係なく。
109 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/14(水) 08:50:54.00 ] 使えないモジュールは外せばいいだけ。 エニチングみたいなそこらじゅうに影響するやつだとダメージでかいけどw
110 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/14(水) 09:56:04.79 ] >>107 まさにわしがそだてた状態
111 名前:103 mailto:sage [2011/12/15(木) 01:08:04.34 ] なんか反響が大きかったが、とりあえず直ったようだ。
112 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/16(金) 12:35:57.09 ] >>67 dminor11th.blogspot.com/2011/04/windows7emacsime.html MS-IMEを捨てるという解があるらしい。
113 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/16(金) 17:13:50.82 ] >>63 超おそレスだけど (defun open-finder (dir) (interactive (list (expand-file-name default-directory))) (eshell-command (format "open -a finder %s" dir))) これを適当なキーにバインドしておけばどうかな
114 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/16(金) 17:51:07.06 ] eshellじゃないとだめなんだろうか。
115 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/16(金) 18:12:09.68 ] eshellといえば、あれだな。
116 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/16(金) 18:19:18.62 ] もちろんshell-commandでもいいですよ
117 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/16(金) 18:21:49.24 ] eshellの宣伝乙rbkt
118 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/16(金) 22:58:05.25 ] >>70 上手くいったありがとう 最初googleで釣れた時はなんとなく的外れポかったんで終いまで読んでなかったわ
119 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/16(金) 23:51:47.66 ] mag2でも有料のやつだけ異彩を放っている。 発行部数は公開されるのだろうか。
120 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/17(土) 00:31:51.18 ] もう発行されたの?
121 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/17(土) 08:27:07.07 ] してたと思うよ。 来年から有料なんじゃなかったっけ。
122 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/17(土) 14:39:48.20 ] 誰か感想プリーヅ
123 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/17(土) 14:42:37.53 ] キチのブログで公開してるから自分で見てこい
124 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/17(土) 19:06:44.42 ] キチ
125 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/20(火) 00:22:53.17 ] cl に入ってる find-if とかの関数使ったままコンパイルすると警告出るけど これは回避不可能なんだろか。 マクロだったら (eval-when-compile (require 'cl)) でいいんだろうけど。 > Warning: Function `find-if' from cl package called at runtime
126 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/20(火) 00:29:25.22 ] 自己解決 警告抑制で回避するしかないらしい。 (setq byte-compile-warnings '(not cl-functions))
127 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/20(火) 10:41:44.36 ] 小菊って開発停止してるのな・・ いつからそうなってたのかわからないけど Emacs 23 で find-file 中に completion 対象が内状況で 補完しようとすると Wrong type argument: stringp, file-exists-p とか出てくる。
128 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/20(火) 10:48:47.65 ] >>127 M-x toggle-debug-on-error して trace 出してみたら?コメントつくかも。
129 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/20(火) 11:00:52.00 ] 了解です。とりあえず貼ってみます。 ちなみにNTEmacs + Cygwin on Windows7 な環境です。 Kogiku:ON の状況で ~/.emacs.d/p で補完(pで始まるファイルはない)でTABを押すとこの状況になります。 Kogiku:Fire(OFF) の状況だとちゃんと [No match] が出ます。 Debugger entered--Lisp error: (wrong-type-argument stringp file-exists-p) signal(wrong-type-argument (stringp file-exists-p)) completion--some(#[(style) " \236A@\n\f $\207" [style completion-styles-alist string table pred point] 5] (basic partial-completion emacs22)) completion-try-completion("~/.emacs.d/p" kogiku-read-file-name-internal file-exists-p 12) completion--do-completion() minibuffer-complete() funcall(minibuffer-complete) (let ((minibuffer-completion-table minibuffer-completion-table)) (when (or ... ...) (setq minibuffer-completion-table ...)) (funcall (car kogiku-original-functions))) kogiku-complete(nil) call-interactively(kogiku-complete nil nil) completing-read("Find file: " read-file-name-internal file-exists-p confirm-after-completion "~/.emacs.d/" file-name-history "~/.emacs.d/") read-file-name("Find file: " nil "c:/Users/XXXXX/Documents/.emacs.d/" confirm-after-completion) find-file-read-args("Find file: " confirm-after-completion) byte-code("\300\301\302 \"\207" [find-file-read-args "Find file: " confirm-nonexistent-file-or-buffer] 3) call-interactively(find-file nil nil)
130 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/20(火) 17:04:01.70 ] jblevins.org/projects/markdown-mode/ のmarkdown-mode.elを入れたら 行頭に[がくるときに色づけがおかしくなることに気づきました a [example] testでは問題ないのですが [example] testのように行頭に[がくると ]: が現れるまでの行がずっと同じ色になります [example]: www.example.com/ こういう表記があるのですが、この [text]: url 形式だと設定が誤認しているのでは ないかと思います 行頭に[があって]:で終わっていない場合、つまり[example] testのような場合に 適切に色づけをするにはどこを修正すればよいのでしょうか markdown-mode.elを]:で検索してもそれらしき設定が見当たらないため、手詰まりしてしまいました よろしくお願いします
131 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/20(火) 17:14:04.67 ] >>130 多分 markdown-regex-reference-definition の正規表現に問題があるんだろうけど markdown をよく知らないのでどうなおしたらいいのかわからない .+?のところを改行を除くにしてみるとかなのかね。 (defconst markdown-regex-reference-definition "^ \\{0,3\\}\\(\\[.+?\\]\\):\\s *\\(.*?\\)\\s *\\( \"[^\"]*\"$\\|$\\)" "Regular expression for a link definition [id]: ...")
132 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/20(火) 17:36:04.39 ] replace-regexpでリージョン内の。を。\n(\nは改行)に 置換するにはどうすればよいのでしょうか replace-regexp [ret] 。 [ret] \&\n と入力したら invalid use of \ in replacement text となりました replace-regexp [ret] 。 [ret] \&\\n では。\nが出力され、失敗になります できれば。のあとに改行がきていないときだけ。のあとに改行を加えるような 置換処理をしたいです
133 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/20(火) 17:42:47.67 ] 改行は C-q [ret] で直接改行入れちゃえばいいと思う。 replace-regexp [ret] 。 C-q [ret]? [ret] 。C-q [ret]
134 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/20(火) 17:45:46.29 ] 改行文字は C-q C-j で入れる。 一度 。 ↓ 。 [C-j] に置換して、次に 。 [C-j] [C-j] ↓ 。 [C-j] に置換すればいい。 replace-string で十分。
135 名前:132 mailto:sage [2011/12/20(火) 19:15:34.11 ] >>133-134 できました。ありがとうございます。
136 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/21(水) 13:45:38.66 ] 特定ディレクトリ内の特定拡張子ファイル(*.txtや*.html)に grepをかけて置換する処理はemacsでできますか? できれば特定の拡張子を除外するという設定もしたいのですが
137 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/21(水) 14:01:19.31 ] grep-edit だの color-moccur だの色々あるよ
138 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/21(水) 15:02:50.36 ] あとfind-grepだな。
139 名前:127 mailto:sage [2011/12/21(水) 15:39:29.08 ] 小菊がemacs23でおかしくなった件ですが、とりあえずの回避方法がわかったので残しておきます。 completion-sytles の中の partial-completion が kogiku と相性が悪いようです。 emacs23 はデフォルトで partial-completion 有効になってたんですねー。 この方法だと補完対象が存在しない場合でもエラーにならず [not match] が出るようになります。 ただ、 "~[TAB]" などでまだエラーになるので根本的な解決にはなっていないようです。 ■以下を設定ファイルに記入 ;; completion-pcm-try-completion は kogiku と相性が悪いので使わない (setq completion-styles (delete 'partial-completion completion-styles)) ;; partial-completion を使いたい場合、partial-completion-mode を使う ; (partial-completion-mode t) ;; kogiku より前に実行 (require 'kogiku)
140 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/21(水) 19:18:57.79 ] >>139 ありがとうございます! anago.2ch.net/test/read.cgi/software/1221125611/951 から来た物ですが、この設定をしたら、wanderlustのdraftバッファで添付ファイルを添付しようと小菊でブラウズした際にNTEmacs毎落ちる現象が出なくなりました。 暫くこれで様子を見させてください!
141 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/21(水) 22:13:18.22 ] >>137-138 ありがとうございます。助かりました。
142 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 01:08:01.91 ] (set-frame-size (selected-frame) 168 51) を init.el の最後に書いてんだけど、最後にちょっとだけずれる。なんで?
143 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 01:18:43.67 ] init.el の読み込みより後に実行されるフックで評価されるようにしたらいいんじゃない
144 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 01:31:35.18 ] >>134 やってみた (add-hook 'after-init-hook '(lambda () (set-frame-position (selected-frame) 0 0) (set-frame-size (selected-frame) 168 51) )) って感じで。でもやっぱ最後にちょとだけずれて frame-height が 49 になる。なんで?
145 名前:142 mailto:sage [2011/12/22(木) 02:32:40.30 ] どうも selected-frame には tool-bar も含まれるようで、 これが原因のようです。 window-system や toolkit によって tool-bar や menu-bar と height の関係が異なるようです。 www.gnu.org/s/emacs/manual/html_node/elisp/Size-and-Position.html#Size-and-Position どうもお騒がせしました。
146 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 13:10:15.72 ] elispでshell-command経由でファイルを扱うとき ベースとなるディレクトリを変更したいのですがどうするのでしょうか
147 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 13:54:22.19 ] >>146 shell-command の引数に cd hoge; と書くか、直前に (cd "hoge") する。
148 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 14:25:05.51 ] Emacs 23 なんだけど、 ^L のリセンサーを上に行ったり下に行ったりしないようにするには どんな設定をすればいいの?
149 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 14:26:26.02 ] リセンサー→リセンター
150 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 14:28:19.97 ] >>148 M-x redraw-display ってこと?
151 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 14:36:22.41 ] >>148 (setq recenter-positions '(middle)) 質問前に \C-h k などを使って Help を見るようにすべき。
152 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 15:17:02.00 ] >>151 custom-set-variables に '(recenter-positions (quote (middle))) の設定を加えました。 ありがとう、勉強になった。
153 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 16:50:40.22 ] >>147 shell-commandの方がなぜかただしく動きませんがcdなら大丈夫でした ありがとうございます
154 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 18:03:12.62 ] elispを編集しているときに ()の)を入力したときには前括弧が太字になるのですが、 入力したときだけじゃなくてカーソルを合わせたときにも 太字にする方法はあるでしょうか?
155 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 18:18:50.61 ] >>154 show-paren-mode
156 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 19:34:35.43 ] >>155 ありがとうございます!
157 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 22:48:57.09 ] evil-modeとかvimpulse使ってる人いる? 個人的にはモーダルなemacsって最高だと思うんだけど邪道なのかな?
158 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/22(木) 22:57:27.11 ] そりゃ素直にvim使えとは思う。 色んなelispをvi系のモードに合わせるのってしんどくない? モーダルな入力でおもったけど (setq view-read-only t) にして view-mode をガンガン操作しやすくカスタマイズすれば C-x C-q (もしくはもっと気楽なキーバインド)をトリガにした素直なモーダル Emacs と言えるんじゃないかな。
159 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 02:34:38.74 ] xyzzyからemacsに移行しようと思うのですが キルリングとクリップボードが同期してしまうのをできれば解除したいです キルリングはemacs内だけで簡潔するようにし(他のアプリのクリップボードと連携せず)、 クリップボードは従来通り他のアプリと連携できるようにする こういった設定は可能でしょうか?
160 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 03:03:32.40 ] (setq interprogram-cut-function nil) (setq interprogram-paste-function nil) でどう?(試してない)
161 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 09:42:18.30 ] >>158 おぉ!斬新な考え方だな。 俺はちょっと編集して一息付く時に必ずセーブ→カーソル移動して確認 のような事をしているから、同時にセーブもすればいいんだな。 キーバインドはやっぱりESCだろうね。
162 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 15:06:12.55 ] shell-commandを非同期実行で順番に使いたいとき、 たとえば 1.hoge.exeを起動して処理する 2.1.の処理後にtest.exeを起動して処理 3.2.の処理後にfoo.exeを起動して処理 4.処理終了 こういうことはemacsで設定できるでしょうか 非同期実行が shell-command と & の組み合わせでできるということまではわかったのですが その先がよくわかりません
163 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 15:21:00.40 ] >>162 shell が何かによるけど (hoge.exe ; test.exe ; fo0.exe) & それぞれが成功した時だけ(戻り値0の場合だけ)次を実行したい場合は (hoge.exe && test.exe && foo.exe) &
164 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 15:21:50.70 ] shell-command だけでやるんならそれぞれのコマンドを && で連結して実行する。 hoge.exe の処理結果を emacs で一旦受けとってから test.exe に渡したいん なら、低レベル API の start-process を使って hoge.exe を呼び出して process-sentinel で test.exe 以降を順次実行する。
165 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 15:27:30.08 ] >>163-164 ありがとうございます。 &&ですかなるほど。もしかするとstart-processを使って調整するかもしれませんでしたので とても参考になりました。
166 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 16:09:11.99 ] >162 それは同期実行ではだめなの? (shell-command "hoge.exe") (shell-command "test.exe") (shell-command "foo.exe")
167 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 16:47:23.22 ] 時間かかる処理なら止まっちゃうじゃん。
168 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 16:57:23.03 ] gnupackのemacsを使っています eshellをexitで抜けようとしたらエラーが出るようになってしまいました init.elのいろいろな場所を編集する最中だったため、原因を突き止められていません *Warning* buffarにはこうあります These default coding systems were tried to encode text in the buffer ` *temp*': (utf-8 ...) However, each of them encountered characters it couldn't encode: utf-8 cannot encode these: ... japanese-shift-jis cannot encode these: ... init.elでこう設定しています (set-keyboard-coding-system 'cp932) (prefer-coding-system 'utf-8-dos) (set-file-name-coding-system 'cp932) (setq default-process-coding-system '(cp932 . cp932)) (add-hook 'set-language-environment-hook (lambda () (when (equal "ja_JP.UTF-8" (getenv "LANG")) (setq default-process-coding-system '(utf-8 . utf-8)) (setq default-file-name-coding-system 'utf-8)) (when (equal "Japanese" current-language-environment) (setq default-buffer-file-coding-system 'utf-8)))) (set-language-environment "Japanese") どうも過去に日本語を含むパスのelispの履歴が残っているようで それを削除すれば解決すると考えているのですが、 そうなるとどのファイルを編集することになるのでしょうか
169 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 17:17:54.97 ] 全然わからんけど session-save-file かなぁ。 おれが思うに eshell なんて使わない方がいいよ。変なのが伝染る。
170 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 17:24:53.82 ] ~/.eshell/history じゃないの? つーかるびきちの悪影響だよな eshellなんか使うのは
171 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 17:36:24.38 ] win+cygwin なもんで ansi-term がまともに動かんから shell-mode で我慢してる。っていうかあれで充分。シグナル変なのは advice つけて直した
172 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 18:31:37.90 ] 文字符号入り乱れた複数のファイルを標準出力つこて扱う時に 文字化け対策用変換パイププログラムとかねーのかな
173 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 18:34:00.68 ] iconvとかnkfとかそいうんではなく?
174 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 19:11:46.96 ] >>169-170 ありがとうございます そのあたりをあさっていたら ~/.eshell/lastdir のファイルがおかしいことに気づきました その箇所を削除したら無事終了するようになりました ところで、>>170 の通りるびきちの本をもとにeshellを使いはじめてみたのですが emacsを使う人は通常他の外部シェルを使うのでしょうか
175 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 19:18:37.63 ] このスレはるびきちにツンデレだから
176 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 19:23:02.71 ] 一般的かどうかは分からないけど、なんで今さら eshell なんだよって感じは する。るびきちに関しては感性が相当に偏っているので、彼のいうことにあん まり没頭しすぎるのは考えものだとは思う。
177 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 19:27:14.55 ] >>176 そういわれればそうですね
178 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 19:30:55.80 ] 俺はるびキチが使う前からeshellをバリバリ使ってたけど、 msysだのcygwin入れなくても、ls,cp,mv,rm,chmod,とか使えるのは相当便利だよ。
179 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 19:38:39.16 ] POSIXコマンドがネイティブに使える環境ではあえて eshell 使う理由もないと思う。 シェルをカスタマイズしまくっているなら ansi-term 一択
180 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 20:06:41.14 ] でも重いんだよねえ。 結構 CPU 負荷がかかる。
181 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 20:23:56.55 ] >>158 最近evil-mode使い始めたところなんたけど 確かに設定が面倒くさい。 viewモードメインのアプローチも確かに良さそうだね。そっちも試してみる。
182 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 20:37:24.12 ] migemoをisearch-modeの時はオンにして、RETしてsearch-foward等の時は オフにするにはどうすればいいですか。
183 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/23(金) 22:28:23.45 ] GNU Emacs Lispリファレンスマニュアル: Emacs Lisp関数のアドバイス www.bookshelf.jp/texi/elisp-manual-20-2.5-jp/elisp_17.html アドバイス機能を使って >isearch-modeの時はオンにして、RETしてsearch-foward等の時はオフにする そのとおりに設定するのがよいかと 具体的にはisearch-modeの実行時にmigemoをonに切り替えるようbeforeで設定 isearch-modeの実行終了時に migemoをoffに こうするとsearch-forward等には手をつけなくていいかと
184 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/24(土) 00:09:46.51 ] >>131 お礼が遅くなってすみません それでうまくいきました
185 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/24(土) 02:03:40.31 ] elispの書き方について質問します (if test (list (aa) (bb) (cc) (dd) (ee)) (list (aa) (ff) (ee))) (aa)や(dd)などはすべて文字列を返す関数で、 このような処理をしようと思うのですが、 list関数と aa, ee関数が重複しており編集しづらいです 重複分を削る手はないでしょうか
186 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/24(土) 02:45:42.90 ] 編集しづらいってコードの編集のことか? list の中身のソート順をプログラマが考えて決めるんだったらある程度冗長 になるのは仕方ないと思うんだけど。 どうしたいのかいまいちわからない。
187 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/24(土) 03:01:13.07 ] 重複分とlistを削ってみた。元の方が全然見やすいな。 `(,(aa) ,@(mapcar #'(lambda (f) (funcall f)) (if test '(bb cc dd) '(ff))) ,(ee))
188 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/24(土) 03:27:46.43 ] >>185 こんな感じ? (append (list (aa)) (if test (list (bb) (cc) (dd)) (list (ff))) (list (ee)) (mapcar 'funcall `(aa ,@(if test '(bb cc dd) '(ff)) ee))
189 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/24(土) 08:59:28.95 ] みなさんは、WindowsでEmacsって使われてますか?
190 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/24(土) 09:12:31.39 ] 使ってるよ。 NTEmacsスレもよろしくね。 anago.2ch.net/test/read.cgi/software/1221125611/
191 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/24(土) 11:05:00.31 ] >>186 そうです。コード編集です。 もっと縮められないものかとおもっていました >>187-188 ありがとうございます。 appendとバッククオートでそう組み立てるのは思いつきませんでした 例を示していただいて気づいたのですが、自分はリスト生成の内側でifを使いたかったんだなと
192 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/24(土) 12:25:44.35 ] ネタだが、Google Insights for Search を使った Emacs ユーザの特性考察がなかなかおもろい。 ttp://d.hatena.ne.jp/shim0mura/20111220/1324575061
193 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/24(土) 12:36:21.37 ] 関数の再定義についてお伺いしたいのですが (require 'hoge)で読み込んでいるファイル hoge.el に書いてある関数を init.elに新たに関数を書いて上書きしようとしてもうまくいきません hoge.elの該当部分の関数定義をコメントアウトすると init.elで再定義したとおりに動きます どうすればいいのでしょうか
194 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/24(土) 12:36:25.61 ] >>191 書きやすいコードより見やすいコードを目指した方がいい。
195 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/24(土) 12:58:09.19 ] >>193 新たな関数を (require 'hoge) より前に書いてるというオチではないよな?
196 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/24(土) 13:06:18.14 ] >>193 (eval-after-load 'hoge '(defun ...)) とか、多分邪道だけど (defadvice fuga (around ... ) ad-do-it なし) にする。
197 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/24(土) 14:02:29.09 ] >>193 再定義していると思っている関数のスペルが間違っている 再定義後に再びload-file, load-libraryしている
198 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/24(土) 17:38:11.00 ] >>196 なんとなく書き換わるの怖くてdefadvice派だなぁ。
199 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 05:44:00.27 ] >>192 おそらく一部には反感を買いそうだけど、 楽しんで書いてるのが伝わってきて確かに面白い。
200 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 10:45:34.31 ] >>192 の派生記事でこんなのがあったんだけど d.hatena.ne.jp/takuya_1st/20111222/1324550041 この中にでてくる、EmEditorの「折り返し行表示も論理的にインデントされる」機能って なかなか素敵だと思うんだけど Emacs 用でそういうのないかな。 自前のソースだったら長くなりすぎないよう適度に分割するんだけど 拾ってきたソース見てる時とかウィンドウ幅細くして眺めてる時とかこれできたらちょっとうれしい気がする。
201 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 11:52:18.04 ] >192 田舎を馬鹿にしてるのは芸風かと思うけど、 emacsに関する分析で、石川県にJAISTがあるのを知らないのか、 知ってて無視してるのか…
202 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 12:10:42.62 ] emacs関係でその大学の名前を聞いた記憶があんまりないんだけど。 オープンソース扱ってるとときどき聞くけど。
203 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 12:26:15.80 ] 現在開いているファイルがutf-8のとき、 utf-8bomかutf-8non bomかを開いているファイル名情報(ミニバッファ欄というのでしょうか)の 左側に表示したいのですが、可能でしょうか?
204 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 12:27:38.96 ] 書き忘れていました。 改行がlfかcrかも表示させたいです
205 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 12:50:00.45 ] >>203 ; BOMなしを 大文字の U に (coding-system-put 'utf-8 :mnemonic ?U) ; BOMありを 小文字の u に (coding-system-put 'utf-8-with-signature :mnemonic ?u) 基本的に一文字でしか表示は出来ないみたい。 ちなみに今何が設定されているか知りたいときは以下を実行 M-x list-coding-systems UTF関連は全部ひっくるめてUになっちゃってるから必要であれば細かくわけたほうがいいかも。 一文字縛りだから厳しいけど。
206 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 12:51:07.42 ] >>204 cr だの lf だの crlf は一応もともと表示はされているけど、 もっとわかりやすくしたいなら以下で。 (setq eol-mnemonic-dos "[CRLF]") (setq eol-mnemonic-unix "[LF]") (setq eol-mnemonic-mac "[CR]") (setq eol-mnemonic-undecided "[?]")
207 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 13:20:29.19 ] >>202 うーむ、月日が流れるのは早いもんだ。
208 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 13:22:36.47 ] > (ミニバッファ欄というのでしょうか) mode-line ね。 mode-line-mule-info いじればなんとでもなりそうな気はするけど。 マウスカーソル合わせればいろいろ表示できるからそれで十分な気がする。
209 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 13:30:34.87 ] session.el を使っていると file-name-history に w3m の一時ファイル名が溜まるのが嫌なので (setq session-set-file-name-exclude-regexp "[/\\]\\.overview\\|[/\\]\\.session\\|News[/\\]\\|w3mtmp") というように、デフォルトの値に付け加えてみたんですが、やはりお構いなしに溜っていきます。 Emacs は 21.1 を使っているんですが、これを設定してる人はちゃんと効いてますか?
210 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 13:30:46.10 ] load-path とかを設定するときに append したり add-to-list を繰り返したりするのはよくみるけど バッククオート使ったリスト展開使ってる人ってあんまり見かけない気がするんですが、 何かデメリットとか互換性とかでまずい点とかがあるんでしょうか? (setq load-path `("~/lisp" "~/site-lisp" ,@load-path))
211 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 13:36:40.41 ] >>210 デメリットは読みづらいって点じゃないかね。 真性 lisper の作った macro とか読んでると分かるかも。
212 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 13:39:17.64 ] >>211 なるほど、あんまり見ないという意味で読みづらいってのはありそう。 でもただリストに追加するだけ、ってのが設定ファイル上だと多発してるんで、 短くて読みやすいこっちを使ってみます。 ありがとうございました。
213 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 14:57:06.79 ] xyzzyにはある機能だな emacsはというと見当たらない気がする
214 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 15:10:17.46 ] >>213 リスト展開はEmacsで普通に使えてるぞ
215 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 15:59:36.74 ] >>214 すまねえ、>>213 は>>200 向けのレスだった アンカーが抜けてしまったわ
216 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 16:05:04.22 ] >>215 ああ、そういうことか。了解。 >>200 はxyzzyで使えるなら頑張ればEmacsにも移植出来そうなもんだね。
217 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 17:27:51.00 ] バッファローカルなマクロや関数を設定する方法ってありますでしょうか?
218 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 17:48:27.78 ] オーソドックスな方法はない。 obarray とか make-variable-buffer-local とか intern とか組み合わせてが んばればもしかしたらそれっぽいことはできるかも。何がやりたいかによりそ う。
219 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 18:09:35.92 ] >>218 特定のファイル内でのみ使える使い捨ての関数を使いたかったのでした。 funcall での呼び出しで妥協するなら make-local-variable => lambda => funcall で他への影響少なく 実現出来ましたが、fset しちゃうとしっかりグローバルにマップされちゃうのが残念な感じ・・
220 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 18:29:51.56 ] 特定のファイル(バッファ?)内で呼び出すならそれでいいけど、 いろんなところで呼び出す関数の中でその使い捨て関数を使おうとするとだめじゃないか? ↓はevalしたバッファでなら問題なく動くけど他のバッファで say-hello するとNG (set (make-local-variable 'somefunc) (lambda () (message "hola!"))) (defun say-hello () (interactive) (funcall somefunc))
221 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 22:34:15.94 ] リストの中で条件に一致するものだけを抜き出す関数ってありますか? find-if みたいな条件式を外から渡せるものが欲しいです。
222 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 22:57:39.93 ] remove-if-not かな。名前分かりづらいよね。
223 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/25(日) 23:05:47.16 ] >>222 ありがとうございます。条件に一致しないものを全て除く、なんですね。 わかりづらいですねw
224 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/26(月) 20:45:07.50 ] >>160 すみません。ためして見ましたが他のアプリとの連携が完全に断ち切られてしまいました。 よく考えてみたらxyzzyでいうところのセレクションとリージョンの区別が emacsには無いのかもしれないと思いました xyzzyの説明はこれです hie.s64.xrea.com/xyzzy/note/region-selection.html#1 希望する動作を詳しくいうと、もしもemacsにセレクションの機能があるとして 仮にメモ帳の文字をコピーしたとしてemacsに貼り付けようとするとき セレクションの貼り付け->メモ帳からの貼り付けok キルリングのヤンク->メモ帳からの貼り付けNG 逆も同様で、emacsで セレクションの範囲選択からコピー->メモ帳に貼り付けok リージョンの範囲選択からコピー->->メモ帳に貼り付けNG セレクションが無いとするとキルリングを改変して 独立したリージョンのようなもの (指定したキルリングのみ他のアプリと文字の受け渡し可) を使いたいのですが可能でしょうか。何か複雑なことになってしまいましたが…
225 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/26(月) 21:13:29.20 ] >>224 ちょっとよく分からないけど・・ クリップボードと同期したくないだけなら (setq x-select-enable-clipboard nil) でよかったはず。 上記の状態でキルリングではなくクリップボードから貼付けしたい時は clipboard-yank 切り取りの clipboard-kill-region と貼付けの clipboard-kill-ring-save ってのはあるんだけど こっちは kill-ring にも入っちゃうんだよね。 クリップボードと直接やり取りしてるのは >>160 が言ってる変数の中身に指定されている関数である x-select-text と x-get-selection-value。 セレクションについても普段使ってるプライマリの他にセカンダリ(Alt+ドラッグで指定出来る/Alt+真ん中クリックで貼付け) ってのがあるから、それと組み合わせて何か関数作ればクリップボード連携専用セレクションは作れると思う。
226 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/26(月) 21:40:30.25 ] やっつけでかいてみた。 ;; クリップボードとのkill/yank連携解除 (setq x-select-enable-clipboard nil) ;; クリップボードから貼付け (global-set-key (kbd "C-c y") (lambda () (interactive) (let ((x-select-enable-clipboard t) (x-last-selected-text nil)) (insert (or (x-get-selection-value) ""))))) ;; クリップボードへコピー (global-set-key (kbd "C-c w") (lambda () (interactive) (when (region-active-p) (let ((x-select-enable-clipboard t)) (x-select-text (buffer-substring-no-properties (region-beginning) (region-end)))))))
227 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/26(月) 22:43:20.34 ] >>226 やっつけに突っ込む & 試してないけれど、 (lambda (beg end) (interactive "r") (let ((x-select-enable-clipboard t)) (x-select-text (buffer-substring-no-properties beg end))))
228 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/27(火) 00:56:12.67 ] >>225-227 ありがとうございます!まさに意図したとおり動いています 思わず笑顔になってしまいました >>225 の説明がわかりやすくて参考になります ありがとうございました
229 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/27(火) 11:39:39.37 ] windowsでファイラーの右クリックからemacsにファイルを送ると あらたなemacsが起動してしまうのですが emacsがすでに起動しているならそのemacs内でファイルを開くように設定できますか
230 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/27(火) 12:04:09.38 ] >>229 emacsclientw.exe とか?
231 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/27(火) 13:57:42.71 ] >>230 ありがとうございます それを使って設定できました
232 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/27(火) 21:10:00.44 ] メジャーモードの作成でdefine-generic-modeを使うとき キーワードリストで設定するのと色づけリスト内のfont-lock-keyword-faceで設定するのは 変わりないのでしょうか? それと、予約語や組み込み関数が膨大な言語を扱うときに一つ一つを書くのではなくて 予約語一覧や組み込み関数一覧の別ファイルを読みこんでfont-lockを設定できないものでしょうか るびきち著のemacslispテクニックバイブル10章を読んでもこのあたりのことが 書いていないのでよくわかりません。
233 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/27(火) 22:00:50.40 ] generic-mode ではキーワードの外出しはサポートしてないっぽいね。 ↓の関数でどうでしょ。 (defun keywords-from-file (file) "ファイルからキーワードのリストを取得。ファイル内のキーワードは改行で区切ること" (with-temp-buffer (insert-file-contents file) (split-string (buffer-substring-no-properties (point-min) (point-max)) "[\r\n]" t))) (define-generic-mode 'hogehoge-mode '("#") (keywords-from-file "~/.emacs.d/hogehoge-mode-keywords") ... ) みたいな感じで。
234 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 02:04:40.26 ] >>233 ありがとうございます。うまくいきました。
235 名前:名無しさん@お腹いっぱい。 [2011/12/28(水) 10:32:52.68 ] C-yでyankした後にM-yで履歴を遡れますが、 うっかり戻り過ぎた時に戻るコマンドはないのでしょうか。 リングを全部もう1周するのは大変です。 C-/でundoするのも時にはありなんですが、 やっぱり違ったって時にM-yを継続できないので不便です。 簡単に履歴を行ったり来たりできないのでしょうか。
236 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 10:39:02.54 ] anything-show-kill-ringを使うといいよ^^^
237 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 10:43:02.78 ] 標準の M-y だとあんまり器用なことはできないね。 M-1 M-y とかで yank するヒストリの位置を指定したりできるけどそんなの頭で把握していないだろうし。 素直に browse-yank とか kill-summary とか browse-kill-ring とか popup-kill-ring とかの 貼る奴を選べるタイプのを使ったほうがいいと思う。 anything でも kill-ring は扱えるらしいんだけど使っていないからちょっとそっちは分からない。
238 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 10:55:49.77 ] >>235 C-u -1 M-y
239 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 11:06:30.27 ] M-- M-y でいいじゃん。 anything なんか勧めるな
240 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 11:18:09.10 ] そういうこと言っちゃうとまた彼がくるよ。
241 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 11:24:06.46 ] 実際anything使ってるの? auto-completeの作者はanythingアンチっぽいな
242 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 11:35:51.24 ] 割と技術ある人はだいたいanythingアンチ。 若い人があの人の煽りに乗せられちゃってるんだよ。
243 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 12:06:07.16 ] > auto-completeの作者はanythingアンチっぽいな これソース何?その人のブログとか読んだ限りじゃanythingユーザっぽいんだが…
244 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 12:27:14.73 ] 過剰反応
245 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 13:25:04.41 ] >>235 redo.elで検索
246 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 14:35:05.68 ] 技術のある人はanythingを使わない(キリ 技術のある人はるびきち本などクソだと思っている(キリッ vim・nviなどviではない(キリリッ
247 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 16:01:44.06 ] /* test hoge test hoge */ これ全体にヒットするelispの正規表現はどのようなものでしょうか? /\\*[\\n.]+\\*/ と書いたのですがヒットしませんでした
248 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 16:12:30.51 ] > /\\*[\\n.]+\\*/ bracket (文字クラス) の中では . の意味は失われて通常文字になる。 (re-search-forward "/\\*\\(\n\\|.\\)*?\\*/") でとりあえずマッチする。 コメントみたいなのに正規表現はあんまりよくないんじゃないかね。
249 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 16:18:39.47 ] > コメントみたいなのに正規表現はあんまりよくないんじゃないかね。 よくないって書いたのはコメントが大きくなってきたときに正規表現がオーバー フローするって意味です。ちょっとした利用なら気にしなくていいはずです。
250 名前:247 mailto:sage [2011/12/28(水) 16:25:53.05 ] ありがとうございます。わかりました。
251 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 17:20:48.37 ] るびきちとご飯を食べる会とかやってるみたいだし elisp書いてる界隈は総じて仲良いように見えるけどな。 anything!!anything!!ってプッシュしてなきゃあの人も色々面白い記事かくいい人だと思うよ。
252 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 17:29:19.67 ] どんないい記事かこうとあの情報商材みたいな文章の羅列ですべて台無しだよ。 どっかの大学にでも勤めて真っ当な研究でもすればいいのに。いや無理か。。
253 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 17:30:56.46 ] うるせえ、創造的破壊するぞ
254 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 17:33:59.06 ] イノベーション()
255 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 17:38:16.02 ] そうだね 倭猿ごときがEmacsの伝道師なぞ恐れ多いわ
256 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 17:41:26.13 ] Lisp方言ならまかせろー!ならまだいいんだけど たかだか1エディタの設定だけだもんな
257 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 17:46:11.19 ] もうちょっと手広くやればいいのにね。 Emacsだけで食べるなんて無理だよ。 100ユーザ集ったとか悪いけど嘘くさすぎる。
258 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 17:48:25.85 ] まだ本業のrubyがあるからあわてる時期じゃない
259 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 17:50:15.62 ] そういえば設定本にviewer.elでview-modeのmode-lineを色付けして 他のモードと区別しやすくしようなんてページがあったのだけど 載ってるスクショが白黒だた
260 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 17:53:07.29 ] >>258 最後の ruby kaigi に参加したとき自分の中でrubyは三年前のままで時間が止まってるとかほざいてたぞ。 お前その名前詐欺だろと思ったわ。
261 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 17:55:39.93 ] >>259 ズコーw
262 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 17:57:45.09 ] お前ら文句いいつつもしっかり本買ってるあたり、るびきちのことなんだかんだいって好きだよな
263 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 17:58:27.22 ] 嫌いです。
264 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 17:58:35.12 ] ひとくくりにされてもな。
265 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 18:03:04.34 ] Elisp本はLisp遊びで充分です
266 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 18:04:38.74 ] リスト遊びか?
267 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 18:18:48.69 ] 俺らるびきちなんて格下興味ないからな
268 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 18:23:38.65 ] lisp遊びなんてでてたんや
269 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 18:54:32.36 ] 山本さんのじゃなくて?
270 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 18:57:51.43 ] >>264 なあ。俺らはるびきち本がどんなにつまらん内容か確認するためだけに買ってその後捨てたわ。
271 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 19:17:33.42 ] せめてbookoffに。
272 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 19:24:54.32 ] 少しでも無意味な本が世に出回らんようにという配慮だ emacswikiもいらん、このスレだけで十二分だ
273 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 19:41:22.07 ] 俺なんか間違ってあんな本を買うやつが出ないように近くの本屋で買い占めたからな
274 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 19:49:32.87 ] 山本さんは今ではHaskellの人というイメージやな
275 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 20:39:36.16 ] お前らかずさんのことを悪く言うのか
276 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 20:42:01.54 ] emacswiki面白いけどなあ。 >>273 俺も買い占めは出来なかったけどせめての布教防止にと2冊買った。
277 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 22:27:24.40 ] だれもkazuさんのことを悪く言ってない 悪く言われているのは……
278 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 22:39:30.78 ] なんでルビキチって叩かれてるの?
279 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 22:44:46.33 ] 一流のスポーツ選手ほど叩かれる つまりそういうことだ
280 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 22:46:15.31 ] つまりルビキチは神ってことすか?
281 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 22:49:10.02 ] 神キチ
282 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 23:06:09.34 ] キチさんってruby時代から叩かれてるよね あの頃は顔写真まで使って叩いてて酷いと思った
283 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 23:07:47.51 ] アクの強いキャラクターだからなあ 別に悪人じゃないし色々貢献している人ではあるんだけど
284 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 23:12:26.85 ] いったい何に貢献してるんだ? 最近anything連呼してるだけじゃん。
285 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 23:13:51.02 ] 個人的にはjplの人が一番偉いと思ってる
286 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 23:14:14.58 ] 設定本では「筆者が開発している」anythingだったのが elisp本では「筆者がメンテナンス・開発している」anythingになっていた ちなみに原作者の名前はまったく出てこない。まさに神の御業である
287 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 23:45:54.41 ] るびきちが残念なのはemacsの枠内でだけ考えていること anything.elもなんだかんだ言って既存のemacsスクリプトを取り込んで拡張していったから 自ずと限界は見えてしまう anything.elがemacsの諸ライブラリの統合だと主張するのはわかったから つぎはvimとemacsの統合というか融合の形を見せてほしい
288 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 23:49:42.01 ] なんだそりゃ
289 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/28(水) 23:55:24.14 ] viperでいいのでは
290 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 00:01:08.69 ] いちおうるびきちのブログみる感じだとemacs内で閉じるのは×で 外部プログラム使おうぜって主張だったと思うけど。 正直emacs内のhttpライブラリとかうんこちんちんだからなあ。 ただ外部プログラム呼ぶと他の環境に移る時めんどくさい。
291 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 00:35:35.93 ] >>290 >正直emacs内のhttpライブラリとかうんこちんちんだからなあ。 詳しく聞きたい
292 名前:名無しさん@お腹いっぱい。 [2011/12/29(木) 00:40:34.06 ] 俺達って、もう Emacs だけで第一線張っていくの無理なのかな……(涙 なんとか言ってくれよ誰か!俺達が…俺達が費した青春は何だったんだよ!
293 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 00:47:03.98 ] url.el が糞な点 ・POSTメソッドをサポートしてない ・非同期接続時にタイムアウト指定できない ・接続待機はコンパイル時のオプション次第によっては非同期にならない これはあかんよ。
294 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 01:06:16.02 ] >>293 postメソッドについては知らなかった そうだったのか
295 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 11:50:02.70 ] モードラインに現在のバッファの最大行数を常に表示するのにはどうしたらいいんですか?
296 名前:235 mailto:sage [2011/12/29(木) 12:39:55.01 ] 外部プログラムに頼りたくないので>>239 さんの M-- M-y を使いたいと思います。 みなさんありがとうございました。
297 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 12:49:16.97 ] define-generic-modeの初期化関数リストの部分で (custom-set-faces '(font-lock-keyword-face ((t (:foreground "yellow"))))) のようにすると他のモードにも色が反映されてしまうのですが、 任意のモードのときにのみ特定の色をつけるということは可能でしょうか
298 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 13:09:33.71 ] >>297 デフォルトのfaceを使いたくない場合は、自分でfaceを作って font-lock に教えてあげる必要がある。 特定のフェイスの色をバッファ毎に置き換える方法はちょっと分からない。 (make-face 'hogehoge-green-face) (set-face-attribute 'hogehoge-green-face nil :foreground "green") (make-face 'hogehoge-red-face) (set-face-attribute 'hogehoge-red-face nil :foreground "red") (font-lock-add-keywords 'hogehoge-mode '(("^GREEN: .*" . 'hogehoge-green-face) ("^RED: .*" . 'hogehoge-red-face))) んで、 generic-mode の場合は generic-make-keyword-list って関数があって、 これだとキーワードのリストに対して任意の face を指定出来るみたいだからこっち使ったほうがいいのかもね。 詳しい使い方は関数のヘルプをみてちょうだいな。
299 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 13:11:14.19 ] typo だ。 × generic-make-keyword-list ○ generic-make-keywords-list
300 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 14:34:09.80 ] kbd マクロに変数を渡すとエラーになってしまいますが どうしても変数を渡したい場合は以下の方法しかないんでしょうか? (setq a "C-c a") (kbd a) ;; => (wrong-type-argument integer-or-marker-p a) (eval `(kbd ,a)) ;; => "^C"
301 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 14:57:49.13 ] 横レスだけど (macroexpand '(kbd a)) で >Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p a) となるのはなぜなのだろう? (macroexpand '(dolist (x '(a b c)) (print x))) は問題ないのに
302 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 15:32:41.59 ] なんでって質問にはなかなか答えられないかもしれない。。 lisp reader作っちゃうような真性lisperの集まるスレに行って聞くといいかも。 プログラム板のschemeとかclとかの。 >>300 (setq a "C-c a") (read-kbd-macro a) ってやっちゃうととりあえず願いは叶うんだろうけど、これじゃ不満だろうか? kbd はシンタックスシュガーな気がするしループの中でなんかするとかそうい う使い方じゃないんじゃなかろうか。
303 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 15:49:18.27 ] >>301 だけどありがとう なるほど
304 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 16:11:41.68 ] >>301 macroexpandはマクロを実行するものだから。 マクロというのはありえいにいえば処理系に置き換えてもらいたい式を返す関数。 この場合 (kbd 'a) が実行される。
305 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 16:30:54.88 ] elispを編集中にカーソル下の関数の説明を見るにはどうすればよいですか?
306 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 17:34:09.08 ] >>305 describe-function C-h をバックスペースにしてなければ C-h f
307 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 19:30:33.63 ] >>306 ありがとうございました。
308 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 20:03:41.81 ] メジャーモードやマイナーモードで 1タブあたりの半角空白の数を指定するにはどうするのですか
309 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 20:14:26.30 ] (add-hook 'なんかの-mode-hook (lambda () (setq tab-width 4)))
310 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 20:17:02.17 ] (add-hook 'hoge-mode-hook (lambda () (set (make-variable-local 'tab-width) 10) (set (make-variable-local 'tab-stop-list) '(10 20 30 40 50 60 70 80 90))))
311 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 20:17:19.76 ] 間違い make-local-variable だった。
312 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 20:35:18.17 ] >>309 できました。
313 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 20:45:44.21 ] 初心者質問増えた気がするのはrubikitch本の影響なのかなぁ。
314 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 21:07:39.90 ] www.mag2.com/m/0001373131.html るびきちの経歴をはじめて見た気がする
315 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 21:08:33.99 ] >>313 Software Design とかで Emacs の特集くまれたのも関係してるのかもね。
316 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 21:08:33.89 ] るびきちは責任もってにわかの処理をしろ
317 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 21:14:15.30 ] とりあえず anything 使っとけで OK
318 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 21:16:33.71 ] Emacs をこれからわざわざ使い始める必要はないと思うけどなあ。 Emacsのキーバインドは呪いだぞ。下手になれるとずーーーーーっと付きまとわれる。
319 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 21:17:07.28 ] 小指が痛いのは呪いのせいだぜ。
320 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 21:35:38.97 ] >>316 www.mag2.com/m/0001373131.html で500yen/1month払った人の相手は責任もってやります。
321 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 21:39:04.70 ] 内容読んでないからわからないけど むしろ入門書よんでたら describe-function とかタブ幅設定知らないってことはないんじゃないのか?
322 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 21:39:34.05 ] www.mag2.com/m/0001373131.html > 【月額512円】 1配信あたり約 512円 これが525円? ぼったくりにもほどがある。
323 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 21:53:46.94 ] 512って書いてあんじゃん!
324 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 21:54:34.37 ] 消費税の魔力は恐ろしいな。
325 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 22:04:44.97 ] テンプレに初心者はるびきちに聞けって入れとうこうぜ
326 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 22:17:21.39 ] inhibit-startup-echo-area-message ってなんでわざわざあんなめんどくさい仕様なの?
327 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 22:20:05.18 ] バイトコンパイルで動作が速くなるというのは.elと比べて 起動時の読み込み処理+起動後の処理の両方が速くなるということでしょうか
328 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 22:23:48.15 ] 読み込みが早くなるだけで実行速度はかわらないんでないの。 読み込んだ後にどうせ内部的にコンパイルしているわけだし。
329 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 22:49:44.35 ] いや、計算が多いコードだと明らかに速くなるよ。
330 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 23:14:35.22 ] 現行のバイトコンパイラはlucid製の最適化コンパイラで実行速度も速い。
331 名前:327 mailto:sage [2011/12/29(木) 23:28:18.08 ] 分かりました
332 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 11:12:48.18 ] キャラクタセット毎にフォントを指定する時の疑問なんですが、 (set-fontset-font "xxx" 'japanese-jisx0208 "SomeFont") みたいに直接指定するのと (set-fontset-font "xxx" 'japanese-jisx0208 (font-spec :family "SomeFont" :registry "unicode-bmp" :lang 'ja)) みたいにfont-specで指定するのってどう違いがあるんでしょう?
333 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 11:18:48.69 ] set-fontset-font is a built-in function in `C source code'. (set-fontset-font NAME TARGET FONT-SPEC &optional FRAME ADD) FONT-SPEC may one of these: * A font-spec object made by the function `font-spec' (which see). * A cons (FAMILY . REGISTRY), where FAMILY is a font family name and REGISTRY is a font registry name. FAMILY may contain foundry name, and REGISTRY may contain encoding name. * A font name string. * nil, which explicitly specifies that there's no font for TARGET.
334 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 11:44:46.71 ] ということは、SomeFont の特定の registry に属するものだけ指定したい場合とかだけ font-spec 使ったり cons セル渡したりすれば良いということなんですね。 font と fontset の仕組みがなかなか理解できないなぁ・・・ list-fontsets で出てくるフォントセット名って必ずしもそこで指定された family に属してるフォントだけってわけでもないんですよね。
335 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 12:15:08.17 ] > フォントセット名って必ずしもそこで 「そこ」ってどこよ? set-fontset-fontの事? フォントセットはcreate-fontset*で作成し、その時にフォントセット名を指定する。 set-fontset-fontで指定してないフォントセット名がリストされても何も不思議じゃないんだが。
336 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 12:29:14.72 ] >>335 create-fontset* したときにフォントセット名を未指定だと そのフォントの XLFD がフォントセット名になるじゃないですか。 それがあったから自分にはわかりづらかったんですよ。 なんで Family が * じゃないのに別の Family のフォントが使えるの???みたいに。 フォントセット名って結局は単純に名前なだけで内容は別に XLFD とは関係ないってことなんですよね。
337 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 12:50:29.54 ] set-frame-font等でフォントファミリーで指定することもできるので無関係というわけでもない。
338 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 12:55:33.81 ] 正月休みに読もうと、図書館でるびきち本を借りようとしたら貸し出し中だった 自分以外にも買わないで済ます奴がいるんだなw
339 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 13:23:40.98 ] 本屋で平積みになってたので 上に『いまどきのアセンブラプログラミング』を乗せてきた
340 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 14:29:28.44 ] いまどきのアセンブラプログラミングちょっと気になるな とおもって書評見に行ったらメタクソでワロタ。 中身もトンデモだった。
341 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 14:54:17.74 ] キチの本は評判どうなんだろう
342 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 15:00:56.70 ] るびきちのemacs本を2冊とも持っているけど 誤植が結構ある気がするんだよな(とくにemacs lispの方) 正誤表がネットにあればいいのに
343 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 15:04:58.08 ] Emacsテクニックバイブルの方は正誤表あった d.hatena.ne.jp/rubikitch/20100810/emacsbookerrata Emacs Lispテクニックバイブルの方は知らん 電子書籍で販売しないあたりがオールドタイプ
344 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 15:07:51.32 ] >奇跡はまだ終わりません。 ちょうど1年後、2008年にanythingの開発を引 >き継ぐことになりました。 原作者はanything開発の時間が取れないとの >ことで、熱烈なanythingファンの筆者がすぐに次期開発者として名乗りを >上げ、了承されました。 バグを修正し、使いやすくするために大幅に機 >能を追加しました。 その結果、コードは約4倍に膨れ上がりました。 熱 >狂的なファンも増えました。 anythingを使ったLispプログラムもたくさ >ん登場しました。 いつしかanythingがないと生きていけない様を表す >「anything脳」という言葉も登場しました。 anythingで生産性が上がっ >た人がたくさんいます。 そして現在は「anythingのるびきち」として知 >られるようになりました。 きんもーい
345 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 15:10:59.90 ] これもきもい > 42歳のおっさんです。前著作とともに購入しました。 > ともに自宅用、会社用に1冊ずつ、合計4冊購入しました。 > ただ、すでに痛み始めているので、ともに、あと1冊ずつ購入することになると思います。 > メルマガも先ほど、購読の手続きを完了しました。楽しみにしています。
346 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 15:58:14.87 ] 別にきもくはない。年齢的にも金持ってるんだろうし、俺もリファレンス的 な本は会社と自宅で2冊買ってたりしてた。
347 名前:342 mailto:sage [2011/12/30(金) 16:00:32.43 ] >>343 ありがとう。手元にあるemacsテクニックバイブルは2刷りだけど 日本語の文章としておかしい箇所があった気がする メモをしていなかったので場所は忘れた コードはざっと見た限りひどい間違いはなさそう もう一度通読してみるか
348 名前:名無しさん@お腹いっぱい。 [2011/12/30(金) 16:55:04.23 ] >>293 嘘よくない…。post できるヨ…。
349 名前:名無しさん@お腹いっぱい。 [2011/12/30(金) 18:45:36.05 ] 無知乙。10年前ぐらいはPOSTできないのが常識だった事も知らんのか。
350 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 19:02:40.92 ] 誰に対して無知なんだよ…
351 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 19:04:55.83 ] HTTP/0.9にはGETメソッドしかなかったからな。
352 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 19:25:34.59 ] バカだとかアホだとかおよそ書籍に似つかわしくない単語が並んでた。
353 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 21:05:55.40 ] >>352 ?どういうこと?
354 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 21:23:42.61 ] キチボンにそういう単語が並んでるってこと?
355 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 21:29:48.87 ] そう。cl に関する記述の部分だったかな。 おれはこのことに怒っているぞみたいなこと書いてあった。
356 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 21:32:26.59 ] ああいう表現って編集の人に止められないもんなのかね。 触らぬキに祟りなしとかで何も言わないのか。
357 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 23:04:23.29 ] cl に関しては公式が正しいと思うけどな。 Common LispだけがLispじゃないんだし。
358 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 23:09:10.31 ] ただ、dolist みたいな便利マクロが標準で用意されててもいいだろとは思ったわ。 どうせみんな書くんだろうし。
359 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 23:11:07.88 ] >>348 リクエストメソッドをPOSTに出来るだけでしょ。 マルチパートの送信も出来ないのにPOST出来るとはとてもとても。
360 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 23:39:38.22 ] >>356 clマクロを取りまく現状について 「こうしたねじれた事態は馬鹿げている」と強い口調で書いてはある けれどバカと馬鹿げているではニュアンスがまるで違うからキとか言うのはよくない
361 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 23:42:51.17 ] キについては自称だからなぁ。
362 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 23:44:13.73 ] cl 使うなっていうなら標準で添付するなよなとは思うわ。 意味わからん。
363 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 00:31:14.97 ] >>358 dolist, dotimes は subr.el に標準で用意されている。 正直 cl とマージすればいいと思うんだけど、何かポリシー があるんだろうな。
364 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 00:33:53.26 ] 自前の使い捨てスクリプト書くときは便利だし。 パッケージとして作るものに (require 'cl) するなって意味だったような。
365 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 00:51:35.45 ] > バカと馬鹿げているではニュアンスがまるで違う 単語だけ切り出したらそう思うかもしれないけど、 全体の文脈からしてかなり烈しい内容だったと思うけどな。 この辺が幼稚な印象を強くしちゃうんだよ。rbktせんせ。
366 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 00:58:58.98 ] なんで subr に入れないんだろうね。 find-if とかの cl-seq の中身便利なのに。
367 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 01:07:28.40 ] 文字数をモード列に表示することはできるのでしょうか
368 名前:名無しさん@お腹いっぱい。 [2011/12/31(土) 02:34:37.32 ] >>364 すみません、私はcl.el大好きなんですが、 eval-when-compileで囲んでもやはり使うべきではない、 というのが現在の一般的な意見、ということになっているのでしょうか? >>366 RMSがキーワード引数が好きではないから、という説を どこかで聞いた気がします。
369 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 02:41:52.98 ] FMV-BIBLO LOOX(6インチモニタのノート)でemacs常用している猛者はいないか? 買うかどうか悩んでるんだ。ソースコード編集してC-c C-cで部分実行するだけならこの画面で十分な気がするんだけどどうだろ
370 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 02:51:04.54 ] (eval-when-compile (require 'cl)) して使っていいのがCLマクロ 使っちゃダメなのがCL関数 じゃないの?
371 名前:名無しさん@お腹いっぱい。 [2011/12/31(土) 04:32:15.06 ] Richard Stallmanは以下のように書いているのですが、 The rule against using CL functions at run time is for the sake of the user. The CL functions are not a standard part of the Emacs Lisp namespace. Thus, loading CL can conflict with the user's function definitions. subr.elでdefunされているremoveと、 cl-seq.elでdefunされているremove-ifとでは、 「can conflict with the user's function definitions」という点で どのような違いがあるのでしょうか。
372 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 09:34:41.01 ] 皆でガンガンclの関数使って形骸化させようぜみたいなのにならなかったのだろうか
373 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 09:38:21.89 ] clの実装は小汚いからな。 喜んで使うのは三流グラマだけ。
374 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 09:52:56.96 ] >>371 subr.el で定義されている -> ぶつかったらユーザの責任 cl.el で定義されている -> ぶつかったら cl.el をロードしたやつの責任 という点で異なる
375 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 10:01:45.63 ] 下手に準拠唄うとアレがダメだこれがダメだと重箱の角ツツク ゴミッカスが喜び勢い付くだけだからね〜
376 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 10:18:28.75 ] anythingに関しても今のところはつっこまれてないだけで、これからつっこま れる可能性は高いよね。ところでanythingの標準添付の作業ってどこでされて るんだ?trunk見ても見当たらないんだけど。
377 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 11:45:32.41 ] きちさんの脳内じゃない? cedet もそうだけどあえて一緒にしない方がいいパッケージってあるよな
378 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 13:02:19.33 ] アレが添付されると臭くなりそうだな。
379 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 13:08:23.97 ] emacs本体の一部として配布されるEmacs Lispコードの中でremove-ifを使いたいという要求があったとして、 仮にremove-ifがcl-remove-ifという名前でcl-seq.elでdefunされていたとすると、 -> ぶつかったらユーザの責任、なので -> -> emacs本体の一部として配布されるEmacs Lispコードでeval-when-compileで囲まずに(require 'cl)してOK と言えるんでしょうか? あるいは、remove-ifがマクロなら(eval-when-compile (require 'cl))して標準配布物内で使ってOK、だとして、 remove-ifをマクロとして再実装するのはすごくたいへんなんでしょうか?
380 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 13:14:40.25 ] そういや remove-if の実装どうなってんだろと思ってみにいったら 関数に cl-* の接頭辞が付きまくってて目眩がした ネームスペースの仕組みあればねえ。
381 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 14:00:39.92 ] c--がよくわかりません describe-keyで調べたらこう出ました (negative-argument ARG) Begin a negative numeric argument for the next command. C-u following digits or minus sign ends the argument. 具体的にはどういうことなのでしょうか 使い道を知りたいです
382 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 14:12:24.79 ] >>381 C-- 数字 コマンド でそのコマンドに -数字 の引数を与えられるってこと。 C-- 3 C-p とかやると 三行「下に」移動する。
383 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 14:31:15.96 ] >>382 なるほど、C-uの繰り返しがデフォルトで4となっていましたが、 それの基本的な機能なのですね わかりました
384 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 14:34:32.20 ] >>383 C-- はあくまで負の数な。 正の数の動作が基本だから C-3 C-p とか M-3 C-p とかの方が普通。
385 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 14:56:23.71 ] >>293 え、POSTできるけど……
386 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 15:01:55.78 ] フォントを設定するとき、ある family に属するフォントが無い場合、別の family を使う、というのを実現するのに 以下のような関数を作ったのですが、もっと妥当なやり方があれば教えていただけると助かります。 (require 'cl) (defun safe-font (&rest family-list) "有効なフォントファミリを返す。" (find-if (lambda (f) (find-font (font-spec :family f))) family-list)) (set-face-attribute 'default nil :font (safe-font "あずきフォントL" "MeiryoKe_Console" "MS Gothic" "mono"))
387 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 15:02:52.09 ] >>385 >>359
388 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 15:10:04.48 ] flet で作ったローカルな関数をスコープから外れてからも呼ぶ方法はありませんでしょうか? 具体的にはこんな感じです。 (flet ((greeting (msg) (message "%s" msg))) (defun say-hello () (greeting "hello")) (defun say-good-bye () (greeting "good bye"))) (say-hello) ;; greeting が無いって怒られないようにしたい (say-good-bye) ;; 同上 (greeting "nono") ;; でも greeting は外から見せたくない
389 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 15:24:12.63 ] >>388 flet の代わりに labels を使う。 ダイナミックスコープとレキシカルスコープを調べるべし。
390 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 15:24:53.27 ] macroletなら。 Emacsの関数はただのlambda式(か、それをバイトコンパイルしたもの)なので、 fletじゃ無理。実行時にgreetingが見えなければエラーになって終わり。
391 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 15:36:12.19 ] >>389 ありがとうございます。macrolet だとマクロとしてその場に展開、 labels だと文脈依存の関数としてちゃんと関数として定義されるってことですね。 レキシカルとダイナミックを見てて思ったんですが、 純粋なローカル変数を使いたい場合は let より lexical-let を使うべきな気がするんですけど (内部の関数で参照しているシンボルを不用意に束縛しないため) そういう認識であっていますか?
392 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 15:44:04.23 ] いや。クロージャとして持ち出したい場合以外は普通のletの方がいい。 なぜならEmacsには基本的にそっちしかないから。 レキシカルスコープは擬似的なものなんだよ。 基本的にはgensymで作った「変な名前の内緒のグローバル変数」に 値や式を持っておいてそれをsymbol-valueで取り出す。 labelsにせよ、lexical-letにせよ、適当な式をmacroexpand-allすればわかる。
393 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 16:17:46.66 ] >>392 なるほど。そうすると let で使うシンボル名は せめて既に使われているようなのを不用意に使わないよう気をつけるしかないですか。
394 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 21:45:31.70 ] 次のようなテキストファイルがあります Test1243 (@import "./foo/foo.txt") (@import "/usr/mytext.txt") Pipipi テキスト中に(@import path)と書いてある時はPathのファイルを埋め込んで別のテキストファイルとして出力したいです Elispの正規表現でpathの文字列を取り出すのは分かるのですが ファイルを読み込んだ上でファイルを作るのが良くわかりません よろしくお願いします
395 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 22:00:24.55 ] こんな感じのこと? ;; 文字コードてきとー (defun hoge-func () (let ((in (read-file-name "入力ファイル: ")) (out (read-file-name "出力先ファイル: "))) (with-temp-buffer (insert-file-contents in) (goto-char (point-min)) ;; 正規表現てきとー (while (re-search-forward "(@import \"\\([^\"]+\\)\")" nil t) (let* ((fn (match-string 1)) (contents (save-match-data (with-temp-buffer (insert-file-contents fn) (buffer-string))))) (replace-match contents nil nil nil 0))) (write-region (point-min) (point-max) out))))
396 名前:名無しさん@お腹いっぱい。 [2011/12/31(土) 22:22:46.05 ] emacsのtext-modeで、タブを押したときにインデントを、 前の行には関係なく、一定量に設定するにはどうすればよいでしょうか? (1)ではなく(2)となるようにしたいのですが。 (1)前の行を参照するタブ 123456789 abc ←スペースの後の位置に移動 (2)タブの移動量を8に 123456789 abc// ←ここに移動
397 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 22:32:56.01 ] よーわからんけど C-q C-i でタブ文字強制入力じゃだめ?
398 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 22:33:24.10 ] C-q TAB で純粋にタブ移動できるけど恒久的にやる方法はちょっとわからない。 というかいつの間に indented-text-mode = text-mode になってたんだ・・気づかなかった。
399 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 22:41:12.31 ] もっとまともな方法があるとは思うけど↓でtext-modeのTABは強制的に\tになる。 (add-hook 'text-mode-hook (lambda () (setq indent-line-function (lambda () (insert " "))) ))
400 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 22:41:52.06 ] " " のところは C-q C-i でタブが入力されてると思ってくれ。
401 名前:396 mailto:sage [2011/12/31(土) 22:54:22.58 ] >>397-400 ありがとうございます。 >>399 これで完璧に解決しました。とても助かりました。
402 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 23:11:00.92 ] TAB関連で tab-to-tab-stop の文字位置へ移動するにはどんなコード書けばいいんだろう?
403 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 23:14:38.73 ] (move-to-tab-stop)じゃあかんの?
404 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 00:07:44.48 ] Elispをすらすら書ける人は 普段からlispに慣れている人なのかな 尊敬するわ
405 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 01:15:55.55 ] 一口にLispっつーても色々あって、それぞれノウハウ違うから elispをスラスラ書ける人は普段からelispに慣れてる人だと思う
406 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 01:48:01.75 ] リストの処理とかがスラスラ書けても バッファの弄り方とかテキストプロパティとかオーバレイとか辺りになってくると あんまりLisp関係ないもんね。
407 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 12:40:54.90 ] 暇なので elisp 紹介 ■emacs で google map 表示 julien.danjou.info/software/google-maps.el M-x google-maps して地名を入れるとpopupしたバッファに地図が表示される そのままだと地名がアルファベットになっちゃうので以下を追加 (eval-after-load "google-maps" '(defadvice google-maps-static-show (before google-maps-set-lang activate) (ad-set-args 0 (append '(:language "ja")) (ad-get-args 0)))) popwin の管理下に入れておくとうっとおしくなくて良い。
408 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 12:43:07.23 ] oh... ちょっと間違った ↓ね。 (defadvice google-maps-static-show (before google-maps-set-lang activate) (ad-set-args 0 (append '(:language "ja") (ad-get-args 0))))
409 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 13:35:41.22 ] >>407 dd、これはいいねぇ
410 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 13:46:38.69 ] おれもー どっかから拾ってきた奴 yankしたとき貼りつけた内容がハイライトされる popup-kill-ring つこうてる人は popup-kill-ring-interactive-insert が t じゃないと ちゃんと反応してくれない (defadvice yank (after yank-highlight-string activate) (let ((ol (make-overlay (mark t) (point)))) (overlay-put ol 'face 'highlight) (sit-for 0.5) (delete-overlay ol))) (defadvice yank-pop (after yank-pop-highlight-string activate) (when (eq last-command 'yank) (let ((ol (make-overlay (mark t) (point)))) (overlay-put ol 'face 'highlight) (sit-for 0.5) (delete-overlay ol))))
411 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 15:04:21.29 ] せめて unwind-protect で overlay の後始末はするべきだな。
412 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 15:08:16.25 ] >>411 にならって直してみた (defadvice yank (after yank-highlight-string activate) (let ((ol (make-overlay (mark t) (point)))) (unwind-protect (progn (overlay-put ol 'face 'highlight) (sit-for 0.5)) (delete-overlay ol)))) (defadvice yank-pop (after yank-pop-highlight-string activate) (when (eq last-command 'yank) (let ((ol (make-overlay (mark t) (point)))) (unwind-protect (progn (overlay-put ol 'face 'highlight) (sit-for 0.5)) (delete-overlay ol)))))
413 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 15:11:01.01 ] いいですね。いただきます。
414 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 16:34:08.50 ] >>412 の真似して undo で文章が復帰した時にもハイライトするようにしてみた。 もうちょっとマシな書き方出来ないか誰か添削してくれると嬉しい。 やってることは、 buffer-undo-list を頭からたどっていって ・(integerp . integerp) の cons セルにあたったらその範囲をハイライトしてループ終了 ・(stringp . なんか) の cons セルにあたったらループ終了 (defadvice undo (after flash activate) (catch 'loop (dolist (c buffer-undo-list) (let ((beg (car c)) (end (cdr c))) (cond ((and (integerp beg) (integerp end)) (let ((ol (make-overlay beg end))) (unwind-protect (progn (overlay-put ol 'face 'highlight) (sit-for 0.5)) (delete-overlay ol) (throw 'loop nil)))) ((stringp beg) (throw 'loop nil)))))))
415 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 16:57:08.39 ] >>412 副作用が怖いですが アドバイス対象をinsert-for-yankにすると一つで済みました
416 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 17:59:01.61 ] >>414 dolist の中から return で脱出できたような。 けれど自分ならこうするかな。 (defadvice undo (after flash activate) (loop for (beg . end) in buffer-undo-list if (and (integerp beg) (integerp end)) return (let ((ol (make-overlay beg end))) (unwind-protect (progn (overlay-put ol 'face 'highlight) (sit-for 0.5)) (delete-overlay ol))) else when (stringp beg) return nil))
417 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 18:23:18.31 ] >>416 loop を使うとシンプルになるんですね。 勉強しないといかんなーloop難しい
418 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 19:44:03.56 ] >>416 わかりやすいコードでいいね
419 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 00:40:25.00 ] NTEmacs スレが沈んだ >>1 が2008年9月とかのんびりした進行だっただけに誰も次スレ建てなかったわけだ
420 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 14:53:59.03 ] flet で関数を置き換えた際に、その関数内で置き換え前の関数を呼ぶ方法はありませんでしょうか? (flet ((load (file &optional noerror nomessage nosuffix must-suffix) (load file noerror t nosuffix must-suffix))) (load "something")) こんな風にすると再帰してしまいます。
421 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 14:59:40.35 ] symbol-function で関数の実体を取り出してどっかの変数に退避しておいてっ て方法はある。 こんな感じかな? (let ((original (symbol-function 'load))) (flet ((load (file &optional noerror nomessage nosuffix must-suffix) (funcall original file noerror t nosuffix must-suffix))) (load "something")))
422 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 15:15:59.61 ] >>421 なるほど!ありがとうございます。これでやりたいことが出来ました。 session.el でセッション復帰時のローディングメッセージを消したかったのでした。 ソースの load してるところを直接書き換えちゃえばそれで済むといえばそれまでなんですが。 (defadvice session-initialize (around session-load-silently activate) "セッションロード時のメッセージ抑制" (let ((org-load (symbol-function 'load))) (flet ((load (file &optional noerror nomessage nosuffix must-suffix) (funcall org-load file noerror t nosuffix must-suffix))) ad-do-it)))
423 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 15:37:23.73 ] >>387 www.emacswiki.org/emacs/http-post-simple.el
424 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 15:41:37.42 ] >>423 そんな標準で用意されていない elisp 持ち出されても。 むしろそういうのが標準パッケージに取り込まれないあたりが話になんね。 やっぱ url.el はうんこちんちんだな。
425 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 15:52:00.34 ] どうせemacsから画像のアップロードとかしないからいいんじゃね。
426 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 16:13:53.44 ] Gnu pack emacsを使っています (open-file "./index.html")のようにして windowsの関連付けどおりにファイルを開くことは可能でしょうか それらしき関数が見当たらなかったので質問しました
427 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 16:19:35.26 ] gnusで仕様的に正しいmime multipartなメッセージ作れるんじゃないの?と思ってみてみたけど multipart/mixedとかは良い感じに実装されてるのにmultipart/form-dataはないのな。惜しいな。
428 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 16:22:33.06 ] >>426 gnupack で cygwin もセットで導入しているなら (defun open-file (file) (interactive) (start-process "cygstart" nil "cygstart" file)) cygwin いれてないなら cygstart を start に置き換えればいいんじゃないかな。
429 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 16:26:41.04 ] >>428 interactiveなのに引数必須とはいかがなものか。 (defun open-file (&optional file) (interactive "fFile: ") (start-process "cygstart" nil "cygstart" file))
430 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 17:08:05.60 ] >>429 file が nil だとエラーになるだろうし、 &optional がいらない。
431 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 17:08:59.52 ] ニワカが増えたな。
432 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 17:11:57.96 ] るびきちのせいだ
433 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 17:19:09.42 ] >>429 水準の間違いは昔からだろ。ただの勘違いかもしれないけど。
434 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 17:20:19.64 ] 神社で除夜の鐘ならせるところってあるんだ? てっきり寺だけかと思ってたんだが。
435 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 17:25:14.37 ] るびきちはemacs内で完結しないでどんどん外部のプログラムをelisp内から使えよって言ってるけど 外部のプログラムが入ってくると色んな環境で動かす時めんどくさくてやだ。 elispで完結してる方がいいよ。
436 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 17:58:55.73 ] elisp遅いし正規表現うんこだし非同期がアレじゃないの? まあ確かに面倒だしキチは嫌いだけどな
437 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 20:06:07.02 ] emacs に喋らせたくて google 翻訳使ったのを作ったんだけど、日本語含むのがちゃんと動かない。 url-hexify-string の中で encode-coding-string utf-8 してるから問題ないと思ったんだけど何が不味いんだろう。 助言をください・・・ (require 'url-http) (defvar speech-default-language "en" "デフォルトの言語。") (defvar speech-sound-player "cmd /c start %s" "mp3音声再生プログラム。%s にファイル名が入る。") ;; windows 向け設定 (defun speech-message (text &optional lang) "指定された文章を音声再生する。" (interactive "sMessage: ") (let ((coding-system-for-read 'binary) (coding-system-for-write 'binary) temp-file) (with-current-buffer (url-retrieve-synchronously (format "translate.google.com/translate_tts?tl=%s&q=%s? " (or lang speech-default-language) (url-hexify-string text))) (set-buffer-multibyte nil) (setq temp-file (make-temp-file "speech-" nil ".mp3")) (write-region (point-min) (point-max) temp-file nil 'silent) (apply 'start-process "player" nil (split-string (format speech-sound-player temp-file)))))) ;; 以下を評価でしゃべる (speech-message "a happy new year!") (speech-message "a happy new year!" "ja") ;; 言語指定 (speech-message "あけましておめでとうございます" "ja") ;; 動作がおかしい...
438 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 20:21:32.48 ] temp-file の中身のぞいてみたら?日本語の結果には明らかに mp3 っぽくな いものが入ってくるけど。google に投げるパラメータが正しいのか確認を。 で、気になったのが英語の方は再生できるとなると、http ヘッダがファイル に残ってても再生できるってことなのか?
439 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 20:46:38.58 ] >>438 ヘッダ切り出ししなきゃいけなかったんですね。 MediaPlayerでためしてたからか、先頭にゴミがつまってても再生できてたみたいでした。 >>437 の一部を直してヘッダを切り取ってみましたが、状況変わらずでした。 (point-min) (point-max) temp-file nil 'silent) ↓ (goto-char (point-min)) (write-region (search-forward-regexp "\n\n") (point-max) temp-file nil 'silent) ↓を評価して出来上がる文字列を chrome で表示するとちゃんと「あけましておめでとう・・」って音声が出てくるので emacs側の文字コード変換とかが間違っているんでしょうか・・・ (format "translate.google.com/translate_tts?tl=%s&q=%s " "ja" (url-hexify-string "あけましておめでとうございます")) ↓ "translate.google.com/translate_tts?tl=ja&q=%e3%81%82%e3%81%91%e3%81%be%e3%81%97%e3%81%a6%e3%81%8a%e3%82%81%e3%81%a7%e3%81%94%e3%81%86%e3%81%94%e3%81%96%e3%81%84%e3%81%be%e3%81%99 "
440 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 20:47:47.37 ] URL間違ってた・・・ ↓です。 translate.google.com/translate_tts?tl=ja&q=%e3%81%82%e3%81%91%e3%81%be%e3%81%97%e3%81%a6%e3%81%8a%e3%82%81%e3%81%a7%e3%81%a8%e3%81%86%e3%81%94%e3%81%96%e3%81%84%e3%81%be%e3%81%99
441 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 21:43:52.50 ] あとは chrome で送ってる http ヘッダと url-http.el で送ってる http ヘッ ダを調べながら試してくしかないかなぁ。 どうやら User-Agent で弾いてはいないみたいだが。
442 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 22:02:11.86 ] >>441 url-debug を t にしてみてみたところ、emacs 側でリクエスト文字列が途中で書き変わってたりということはありませんでした。 他でどうなんだろうとおもって wget で試してみたところ User-Agent に何か適当なのが入っていないと 403 エラーになりました。 指定して取得した結果は英語は大丈夫、日本語は Emacs の時とまったく同じ変な結果が返されてきました。 おっしゃるとおり Chrome のリクエストヘッダと比較して差分を調べて見ることにします。何か足りていないんでしょうね。 ありがとうございました。
443 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 22:45:45.02 ] うまくいきましたので報告します。 結論から言って User-Agent でした。"Safari/" が含まれていないとなんでか半分ぐらいに切れた結果が返ってきてしまうようです。 (なのでIEでもEmacsと同じ壊れ方になりました。) あと長過ぎてもダメだったりもするみたいですね。これは通常の Webインターフェースからでも制限かかってるみたいでした。 最終的に以下のようになりました。これで sdic で発音チェックしたり読み方わからない漢字読ませたり出来そうです。 ;; (speech-message "鮃より鰆を食べたい。" "ja") ;; (speech-message "Learn basic keystroke commands." "en") (defvar speech-default-language "en" "デフォルトの言語。") (defvar speech-sound-player "cmd /c start %s" "音声再生プログラム。%s にファイル名が入る。") (defun speech-message (text &optional lang) "指定された文章を音声再生する。" (interactive "sMessage: ") (let ((coding-system-for-read 'binary) (coding-system-for-write 'binary) (url-privacy-level 'paranoid) (url-request-extra-headers '(("User-Agent" . "Emacs/URI Safari/0")))) (with-current-buffer (url-retrieve-synchronously (format "translate.google.com/translate_tts?sl=en&tl=%s&q=%s " (or lang speech-default-language) (url-hexify-string text))) (let* ((coding-system-for-read 'binary) (coding-system-for-write 'binary) (temp-file (make-temp-file "speech-" nil ".mp3")) (cmdlist (split-string (format speech-sound-player temp-file)))) (set-buffer-multibyte nil) (goto-char (point-min)) (write-region (search-forward-regexp "\n\n") (point-max) temp-file nil 'silent) (apply 'call-process (car cmdlist) nil nil nil (cdr cmdlist))))))
444 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 22:50:38.11 ] >>443 環境や目的によるけれど、 open-jtalk なら日本語発声できるよ。 日本語のパースや発音方法を自前でするなら mbrola などでもできる。
445 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 23:03:14.58 ] >>443 url.elは糞だ、外部プログラム呼ぶのはキチだって話してる最中にいい度胸だな。
446 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 23:09:56.87 ] おもしろいね (setq speech-sound-player "mpg123 %s")
447 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 23:19:58.45 ] おもしろいじゃん カーソル位置の単語を喋らせるのつくってみたよ (defun speech-at-point () (interactive) (speech-message (thing-at-point 'word))) (global-set-key (kbd "C-c C-s") 'speech-at-point) これで日本語対象にしてみたらダメだった 文字列から言語判別出来るようにすればよさそうだな
448 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 00:37:02.55 ] 自分なりに改造してみた。 取り敢えず非同期に & >>447 の機能をいれた。 > 文字列から言語判別出来るようにすればよさそうだな これはできてない。 あと、エラーになったときにバッファやファイルが削除されないかも。 (defun speech-callback (status &rest cbargs) (unwind-protect (progn (set-buffer-multibyte nil) (goto-char (point-min)) (lexical-let ((temp-file (make-temp-file "speech-" nil ".mp3"))) (let ((coding-system-for-read 'binary) (coding-system-for-write 'binary) (cmdlist (split-string (format speech-sound-player temp-file)))) (write-region (search-forward-regexp "\n\n") (point-max) temp-file nil 'silent) (set-process-sentinel (apply 'start-process (car cmdlist) nil cmdlist) (lambda (process event) (delete-file temp-file)))))) (kill-buffer))) (defun speech-message (text &optional lang) "指定された文章を音声再生する。" (interactive (list (read-string "Message: " (thing-at-point 'word)))) (let ((coding-system-for-read 'binary) (coding-system-for-write 'binary) (url-privacy-level 'paranoid) (url-request-extra-headers '(("User-Agent" . "Emacs/URI Safari/0")))) (url-retrieve (format "translate.google.com/translate_tts?sl=en&tl=%s&q=%s " (or lang speech-default-language) (url-hexify-string text)) 'speech-callback)))
449 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 02:44:31.02 ] 手抜きで (or lang (and (string-match "\\cj" text) "ja") speech-default-language)
450 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 12:03:34.70 ] ちょいとうざいがベルの代わりに声で叱ってもらう '("もう" "だめよ" "しかたないこね" "ちょっとだけよ")とかもいいな (defvar speech-bell-messages '("おい" "こら" "いい加減にせいや" "いてまうぞわれ") "御叱りの言葉") (defvar speech-bell-language "ja" "御叱りの言語") (defvar speech-bell-cur nil) (defun speech-bell-function () "声で叱る" (let ((ring-bell-function nil)) (unless speech-bell-cur (setq speech-bell-cur speech-bell-messages)) (speech-message (pop speech-bell-cur) speech-bell-language))) (setq ring-bell-function #'speech-bell-function)
451 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 13:41:41.56 ] そういやemacspeakってのあったよな。
452 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 13:44:26.85 ] す、すばらしい (speech-message "C'est parfait!" "fr")
453 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 13:58:29.87 ] >>448 おおー set-process-sentiel で終了を検知すれば後始末が出来るんですね。 勉強になります。
454 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 14:50:57.48 ] Windowsでcmd /c start とかで再生しちゃうとiTunesだのMediaPlayerとかだのでてうざかったから mplayerのWindows用gui無し版を入れたらはかどった。mpg123のwindowsビルドだとなんでか再生うまくいかなかったので。 www.mplayerhq.hu/design7/news.html (setq speech-sound-player "mplayer -really-quiet %s")
455 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 15:00:57.91 ] 今年こそは脱emacsしたい
456 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 15:05:52.66 ] >>453 >>448 だと lexical-let を使ったけれど、 (let ((process (apply 'start-process (car cmdlist) nil cmdlist))) (set-process-plist process `(temp-file ,temp-file)) (set-process-sentinel process (lambda (process event) (delete-file (get 'temp-file (process-plist process)))))) という風にするほうが真っ当かもしれない。
457 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 15:08:39.08 ] ( ) 脱イ・・・・・・ ( ) | | ヽ('A`)ノ マックス!!! ( ) ノε| __[警] ( ) ('A`) ( )Vノ ) | | | |
458 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 15:18:16.09 ] おやくそくの alias emacs=vim
459 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 15:52:40.25 ] >>428-430 できました。ありがとうございます。
460 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 16:00:41.47 ] 一応NTEmacsスレ立てといた NTEmacs スレッド 3 anago.2ch.net/test/read.cgi/software/1325573999/
461 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 19:09:55.27 ] >>395 完璧です。どうもです。
462 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 19:38:37.96 ] anythingを入れています。 emacs起動後に*scratch*などで評価(作成)した関数が anythingの候補一覧に載ってほしいのですが どうすればよいのでしょうか
463 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 19:43:29.24 ] るびきちに聞けやボケぇ
464 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 19:49:26.67 ] anything使ってる人なんて都市伝説だろ
465 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 21:12:08.20 ] 複数の関数に同じ advice を付けたいのですが、うまく書けません。 第一引数に変数を持ってくる正しい書き方はどのようにしたらよいのでしょう? ;; func-a と func-b に同じadviceをつける (dolist (func '(func-a func-b)) (defadvice func (before ad-func activate) (message "before"))) これだと func 変数についてしまったようで func-a と func-b には何もなしでした。
466 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 21:17:05.44 ] どこからつっこめばいいかわからない。
467 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 21:18:12.97 ] るびきちの責任は重いな
468 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 21:25:45.54 ] >>466 マクロと関数と引数の評価は初心者が嵌りそうなところだと思うけれどなあ。
469 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 21:29:06.07 ] るびきちは責任もってニワカを引き取れよ
470 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 23:25:19.84 ] 500円払えよ
471 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 23:26:58.36 ] 本買ってやったじゃん。さっさと教えないと捨てるぞ。
472 名前:465 mailto:sage [2012/01/03(火) 23:50:32.16 ] 色々調べて書きなおしてみました。 これで正しいのか、なんでうまくいっているのかいまいち理解できていないですが動いているのでよしとしました。 (dolist (func '(func-a func-b)) (eval `(defadvice ,func (before ,(intern (format "ad-%s" (symbol-name func))) activate) (message "before")))) >>466 すみませんでした。本買って勉強しなおしてきます。
473 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 00:05:35.25 ] Anything無いと途方に暮れる。 C-:にanything-filelist+を割り当ててるけど、これ以上素早く ファイル(バッファ)を開く術は無いと思うけど。 あと、Semanticを有効にした状態でのimenuも便利過ぎる。
474 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 13:03:01.19 ] うわっ・・・私のEmacs起動、遅すぎ・・・? (message "init time: %d msec" (+ (* (- (nth 1 after-init-time) (nth 1 before-init-time)) 1000) (/ (- (nth 2 after-init-time) (nth 2 before-init-time)) 1000))) => init time: 5172 msec
475 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 13:09:54.22 ] M-x emacs-init-time
476 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 13:24:41.72 ] M-x emacs-init-time 1.2 seconds 普通こんくらい。
477 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 13:38:19.83 ] 9.4 seconds
478 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 13:46:51.94 ] yasnippet を入れないと 1秒台、入れないと3秒台
479 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 13:53:28.13 ] 15.1 seconds だ。 Emacs 起動と同時に Gnus も起動してるともっとかかる、多分 1 分ぐらい。
480 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 14:12:44.28 ] 15秒っていったいどんだけのファイルロードしてるんだ・・・
481 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 14:55:50.16 ] 12.3 secondsだった 結構かかっているな
482 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 14:59:19.82 ] みなさんキーボードはハッピーハッキングキーボードなのでしょうか ハッピーハッキングキーボードだとCGソフトのBlenderがうまく使えないので 乗り換えるべきか迷うのですが ハッピーハッキングキーボードのメリットってなんでしょう?
483 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 15:04:58.86 ] そんなこと悩む時点でメリットなんて特にない。 あれは呪いにかかった人が仕方なく使うアイテム。
484 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 15:27:43.87 ] ぶっちゃけ中二病アイテムでしかないよな ワナビ御用達って感じ
485 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 15:58:04.74 ] 20.5秒だった
486 名前:479 mailto:sage [2012/01/04(水) 16:12:44.06 ] >>480 もしかして、自分はここの人たちと比べても変態なのか……!? PC のスペックが Intel(R) Atom(TM) CPU N455 @ 1.66GHz と低いことに原因があるのかな。
487 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 16:25:04.74 ] Atomだから遅いのかもね。 あとうちでは一回目と二回目で起動時間の差が生じたな。 初回は7秒ぐらいだったのが2回目は1秒ぐらいになってた。 ディスクキャッシュとかフォントとかそこら辺のせいっぽいなあ。
488 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 19:16:11.14 ] imenuとかこんなに便利なもの全然しらなかったよ menubar関係かと思ってスルーしてた るびきちの本はニワカだったら買って損ないわ 知ったかして敬遠してて損した
489 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 19:32:28.19 ] ステマか
490 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 19:42:10.48 ] あからさマ
491 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 19:55:25.37 ] とうとうこんな僻地のEmacsスレにまでステマの波が・・・
492 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 20:25:01.45 ] 放置しておくべきなんだろうけど。 あいつよっぽど生活苦しいんだろうな。
493 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 20:35:53.09 ] 買い支えてやれよ。 どうせならLisp極めてそれ系の本出したほうがかっこいいのにね。
494 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 20:50:22.94 ] なんでelispに拘り続けるのかわからんよね。 elispをバネに他の言語にも拡げればいいのに。 rubyに挫折して大した能力がないと自覚しちゃったのかな? だとしたら、気の毒で憐れなやつだよな。
495 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 20:51:17.33 ] Emacs Lispテクニックバイブル正誤 - (rubikitch loves (Emacs Ruby CUI Books)) d.hatena.ne.jp/rubikitch/20120104/elispbookerrata
496 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 21:16:02.43 ] >>495 >完全メールサポートつきで初月無料 >でなので安心して誤登録ください。 errata で誤字とか lisp 的でいいな。
497 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 21:18:40.48 ] 誤って登録しても初月無料ですから安心してっていいたかったんじゃない?
498 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 21:28:39.22 ] なるほど
499 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 21:54:57.85 ] >>494 るびきちより有能な奴10000人が書き込むこのスレって天才たちの社交場だな
500 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 05:00:09.62 ] >>499 ああ、こういうのを負け犬の遠吠えっていうんだな。
501 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 10:55:29.78 ] emacs24はクロージャ正式にサポートかよ
502 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 11:57:07.33 ] 今年こそは真面目に脱Emacsをはかるぜ リハビリにしばらくWindowsのメモ帳だけで生活してやる
503 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 12:11:07.06 ] おもむろに elisp 紹介 ・Ace jump mode - emacs 用 hit-a-hint 風カーソル移動 https://github.com/winterTTr/ace-jump-mode/ (require 'ace-jump-mode) (global-set-key (kbd "C-;") 'ace-jump-mode) ってやって C-; a とか押すと画面上の a のところにアルファベットの連番が振られて 押せばジャンプできる。
504 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 12:17:38.59 ] isearchでよくね?
505 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 12:21:35.58 ] バッファ開きまくってる人がこれで統計とると面白そうだ (defun buffer-mode-histogram () "Display a histogram of emacs buffer modes." (interactive) (let* ((totals '()) (buffers (buffer-list())) (total-buffers (length buffers)) (ht (make-hash-table :test 'equal))) (save-excursion (dolist (buffer buffers) (set-buffer buffer) (let ((mode-name (symbol-name major-mode))) (puthash mode-name (1+ (gethash mode-name ht 0)) ht)))) (maphash (lambda (key value) (setq totals (cons (list key value) totals))) ht) (setq totals (sort totals (lambda (x y) (> (cadr x) (cadr y))))) (with-output-to-temp-buffer "Buffer mode histogram" (princ (format "%d buffers open, in %d distinct modes\n\n" total-buffers (length totals))) (dolist (item totals) (let ((key (car item)) (count (cadr item))) (if (equal (substring key -5) "-mode") (setq key (substring key 0 -5))) (princ (format "%2d %20s %s\n" count key (make-string count ?+))))))))
506 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 12:44:35.74 ] emacs ユーザ分布 maps.google.com/maps/ms?msid=206578397069667369090.0004b0f0502b612864fbe&msa=0&ll=19.642588,23.554688&spn=103.499573,345.585938 日本人いねーぞこら
507 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 12:55:44.01 ] >>501 そもそもいつ正式リリースなの?
508 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 13:03:05.07 ] emacs を heroku で動かす。マジキチ https://github.com/technomancy/heroku-buildpack-emacs
509 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 13:10:03.26 ] >>502 頑張れ ちゃんとそれを周りの人間にも広めるんだぞ
510 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 20:27:35.45 ] >>502 copy con ファイル名 でおk
511 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 20:31:29.98 ] じゃあ俺は type con > ファイル名ちゃん!
512 名前:名無しさん@お腹いっぱい。 [2012/01/05(木) 20:48:11.81 ] 半角空白と全角空白とタブに色をつけて区別したいのですが どうすればよいのでしょうか
513 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 21:02:06.09 ] >>512 whitespace-mode 標準だと全角には対応していないと思うので、 適当に whitespace-space-regexp などを変更する。
514 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 21:10:29.22 ] find-dired の結果が綺麗に縦並びにならないのは仕様と思って諦めるしかないんでしょうか。
515 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 21:22:02.03 ] >>499 , >>500 痛いところ突いちゃってごめん。反省してます。 人を傷付けると自分も傷つきますね。
516 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 21:34:42.64 ] はやく答えろよるびきち以下の低能ども
517 名前:名無しさん@お腹いっぱい。 [2012/01/05(木) 21:41:08.82 ] 世界最高のエディタで世界最先端の研究を行い IT業界すなわち世界経済を支える るびきちに逆らえるのは各国首脳クラスから。 2ちゃんねらーは常に「るびきち様」と呼ばなければいけない。
518 名前:514 mailto:sage [2012/01/05(木) 21:50:47.17 ] find-dired の日付フォーマットは変更出来るのでしょうか? find-ls-option の ls 部分に '--time-style=+%Y/%M/%D' とかつけたところ 出力の日付は望みどおりになったのですが、その代わり dired が正しくファイルを認識して くれなくなってしまいました。
519 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 21:54:29.66 ] >>514 diredなんて窓から投げ捨てるのが正しいと思う。 あんな表示すら満足に変えられない前世紀の遺物を使うやつの気がしれん。
520 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 22:19:14.76 ] 投げ捨てられないやつがemacs使ってるんだよ。 ただ、ゴミはあってもゴミじゃない。
521 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 23:38:44.28 ] RMSが離れたとたんリリースサイクルが速くなったような気がする
522 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 23:50:17.07 ] もうrmsも老害か。lose32ってやってるの見ててなんか色々思っちゃった。
523 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 23:51:11.63 ] >>519 少しカスタマイズしたdiredですこぶる快適に使えているが。 とりあえず何が不満なのか言ってみ。
524 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 00:24:49.33 ] レジスタ使いこなしてる人ってどんだけいるんだろう
525 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 00:34:22.55 ] bf-mode と popwin の相性が今ひとつで悲しい
526 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 10:30:11.51 ] >>513 ありがとうございます。 できました。
527 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 12:36:51.01 ] find-grep-dired でも lv 付属の lgrep を使いたいんですがうまく動作できません。 うまく動かせている方はいらっしゃりますでしょうか? find-grep-dired のソースを見てみると、lgrep が対応していないオプション -e がハードコーディングされていたので defadvice で書き換えたのですが、こんどは lgrep に出力無しにするオプションがないため dired 側がまともに動かなくなりました。
528 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 13:15:53.03 ] 過去ログ眺めてるとるびきちがいかに愛されているかよくわかっていいな。
529 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 13:20:10.22 ] * このスレでのコミュニケーションを前スレ以上に活発にすること (用がなくとも、毎日の書き込みが理想) * 部外者/非Emacsユーザーの書き込みも可。但し、女性の書き込みは場の雰囲気を乱すので不可
530 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 13:26:07.82 ] >>527 find-grep-dired で lgrep を使うメリットは何?
531 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 13:26:47.90 ] auto-complete.elで候補選択にカーソルキーではなくてC-nとC-pを使うようにするには どうすればよいですか 候補選択時だけカーソルキーまで手を伸ばすのに違和感がありますので
532 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 13:32:39.48 ] >>530 日本語で検索したかったので。 色んなエンコードのファイルが散らばっているのです。
533 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 13:32:56.08 ] (setq ac-use-menu-map t)
534 名前:530 mailto:sage [2012/01/06(金) 13:33:41.70 ] >>532 わり、勘違いした。
535 名前:531 mailto:sage [2012/01/06(金) 13:49:57.19 ] >>533 探していたのはまさにそれです ありがとうございます。
536 名前:名無しさん@お腹いっぱい。 [2012/01/06(金) 13:53:42.91 ] 最近カキコが多いな、なんで?
537 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 13:55:35.12 ] メルマガから人ながれてきてるんだろ
538 名前:名無しさん@お腹いっぱい。 [2012/01/06(金) 13:59:10.09 ] 例のメルマガか
539 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 14:06:22.37 ] (read-string)で入力を要求しバッファ内の文字列とヒットするなら再度入力を求め、 ヒットしないならコマンドを呼び出した位置に入力した文字列を装飾して挿入したいです (interactive) (let ((str (read-string "input: "))) (save-excursion (while (search-forward str nil t) ; バッファ内の文字列とヒットしてしまった ;; ここで(read-string)を再度呼び出したい )) ;; save-excursionを抜けてからstrを使って挿入する (insert (format "%s" (make-my-decoration str)))) このような処理を考えたのですが (read-string)を二度書かない方法はあるでしょうか
540 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 14:07:36.00 ] すみません一行分抜けていました (save-excursion は (save-excursion (goto-char (point-min)) です
541 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 14:09:26.25 ] 2度書かないって、再度入力する必要があるなら2度呼ばなきゃいけないんじゃ・・ それとも再帰的に処理したいってことか?
542 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 14:29:08.57 ] (defun somefunc () (interactive) (let ((buf (save-excursion (save-restriction (widen) (buffer-substring-no-properties (point-min) (point-max))))) str) (save-match-data (while (and (setq str (read-string "input:")) (string-match (regexp-quote str) buf)))) (insert (format "%s" (make-my-decoration str))) ))
543 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 14:38:52.45 ] >>542 widen するかどうかは処理内容によるんじゃないのか?あとバッファ全コピはやりすぎだ (defun somefunc () (interactive) (let (str) (save-match-data (while (and (setq str (read-string "input:")) (save-excursion (goto-char (point-min)) (search-forward str nil t)))) (insert (format "%s" (なんか str))) )))
544 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 14:54:56.86 ] 最近elispはじめました!なコード貼る奴増えたな。
545 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 14:56:12.28 ] elispを編集しているとcomment-dwimの便利さに驚きます そこでdefine-generim-modeで作ったモードにも同様の機能を盛り込みたいのですが どうすればよいのですか elispのコメントの仕様と同じものを希望します 具体的には、文字列が入力されている行なら行末に;1つ (私の環境ではelispでは行末から20文字くらい右につきます) リージョンが設定されているか 行に何も書いていなければ行頭に;2つ よろしくお願いします
546 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 14:59:19.24 ] >>544 いいことだな。
547 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 15:01:11.90 ] おいおいゴミかきこが増えたな るびきちのせいでこのスレのレベルが低下するのは勘弁だぜ
548 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 15:01:27.84 ] >>545 外してたらすまんが、define-generic-mode の引数で正しくコメントの書式設定してたら commend-dwim で普通にその動作にならない?
549 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 15:02:47.50 ] 2chなんぞよりredditがよっぽど有意義な盛り上がりを見せてるぞ。 www.reddit.com/r/emacs
550 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 15:14:40.55 ] ,.,.,.,.,.,.,.,.,__ ,,;f::::::::::::::::::::::ヽ i::/' ̄ ̄ ̄ヾi::l |::| / \,|::| |r-( ・ );( ・ )-| ( ヽ :::(__)..:: } <・・・で? ,____/ヽ -==- / r'"ヽ t、 ヽ___/ / 、、i ヽ__,,/ / ヽノ j , j |ヽ |⌒`'、__ / / /r | {  ̄''ー-、,,_,ヘ^ | ゝ-,,,_____)--、j / \__ /
551 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 15:40:58.79 ] >>539 別解っぽいものを書いてみた。 call-interactively は使わないほうが行儀が良いような気がする。 >>544 変だったら指摘してくれると大助かり。 (defun somefunc (str) (interactive "sinput: ") (if (save-excursion (goto-char (point-min)) (save-match-data (search-forward str nil 'noerror))) (call-interactively 'somefunc) (insert str))) ただし call-interactively は使わないほうが行儀が良い気がする。
552 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 17:21:25.66 ] Emacs 用バイブコントローラ www.youtube.com/watch?feature=player_detailpage&v=D1sXuHnf_lo#t=78s
553 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 17:31:06.54 ] sdic が独自のポップアップ表示してるせいで popwin 管理下に置けなくてストレスMAX
554 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 17:45:38.45 ] >>553 ほれ ;; popwin 管理下におく (add-to-list 'popwin:special-display-config `(,sdic-buffer-name)) ;; sdic-display-buffer 書き換え (defadvice sdic-display-buffer (around sdic-display-buffer-normalize activate) "sdic のバッファ表示を普通にする。" (let ((p (or (ad-get-arg 0) (point)))) (and sdic-warning-hidden-entry (> p (point-min)) (message "この前にもエントリがあります。")) (goto-char p)) (display-buffer (get-buffer sdic-buffer-name)))
555 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 17:53:07.75 ] >>554 ありがとでも sdic-describe-word-at-point がちょっと変な気がする
556 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 17:59:14.72 ] >>555 ほれ。あとちょっと挙動違ってた部分もついでになおした。 ;; sdic-display-buffer 書き換え (defadvice sdic-display-buffer (around sdic-display-buffer-normalize activate) "sdic のバッファ表示を普通にする。" (setq ad-return-value (buffer-size)) (let ((p (or (ad-get-arg 0) (point)))) (and sdic-warning-hidden-entry (> p (point-min)) (message "この前にもエントリがあります。")) (goto-char p) (display-buffer (get-buffer sdic-buffer-name)) (set-window-start (get-buffer-window sdic-buffer-name) p)))
557 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 18:14:46.00 ] 追加。閉じる時の変なチラチラも消える。 (defadvice sdic-other-window (around sdic-other-normalize activate) "sdic のバッファ移動を普通にする。" (other-window 1)) (defadvice sdic-close-window (around sdic-close-normalize activate) "sdic のバッファクローズを普通にする。" (bury-buffer sdic-buffer-name))
558 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 18:20:47.72 ] >>554 >(add-to-list 'popwin:special-display-config `(,sdic-buffer-name)) を (add-to-list 'popwin:special-display-config `(,sdic-buffer-name ,sdic-window-height)) に直したら大分良くなった
559 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 18:21:28.63 ] ミスった (add-to-list 'popwin:special-display-config `(,sdic-buffer-name :height ,sdic-window-height))
560 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 18:33:53.57 ] ありがてえ・・・
561 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 19:08:58.15 ] 速攻でコード書いてくれて凄腕って思うだろ? こいつらみんな無職なんだぜ……
562 名前:545 mailto:sage [2012/01/06(金) 19:46:26.97 ] >>548 ありがとうございます。確認してみました。 (define-generic-mode 'my-mode '(";") こういう書き出しではじまるgeneric-modeで ;の出力される位置は行頭行末とも適切だとわかったのですがただ行頭が;;になりません 普通generic-modeでこう設定すると行頭は;;となるのでしょうか
563 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 20:19:12.42 ] >>562 emacs-lisp-mode みてみたら、どうやら comment-add って変数で ; の数を制御しているみたい。 モードのセットアップしてるところで (setq (make-local-variable 'comment-add) 1) ってやってみて。
564 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 20:19:20.55 ] ここがサポート掲示板か
565 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 20:20:28.45 ] まちがった setq じゃなくて set ね
566 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 20:23:51.57 ] にわかはるびきちが引き取れって言ってるだろうが!!
567 名前:545 mailto:sage [2012/01/06(金) 20:28:48.11 ] >>563 ありがとうございます。意図した通りの結果が出てきました!
568 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 20:31:57.02 ] きちぼんは誰かに献本されなかったのだろうか。 思うにあいつかなりドケチだよな。
569 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 20:41:56.80 ] 書店が献本したがレビューが後回しにされてる d.hatena.ne.jp/rokujyouhitoma/20110816/1313468638 lispじゃなくて普通の方だな
570 名前:539 mailto:sage [2012/01/06(金) 21:11:16.68 ] >>542-543 >>551 ありがとうございます。save-match-data の使い方を勉強します。 >>541 説明が不足でした。重複している処理なので whileのたぐいで一度だけ書けばどうにかならないかと悩んでいました。 書き方は再帰でもloopでもかまいませんでした。
571 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 21:23:48.68 ] >>570 save-match-data は >>542 が string-match 使った時に混入しただけで search-forward 使う分には入れる必要ないかと。
572 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 00:03:43.68 ] あとは bf-mode が popwin 対応すればもう勝利は目前だな。
573 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 00:07:29.32 ] 必死でアピールしてるな。
574 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 00:30:53.33 ] bf-modeみたいなメンテナのはっきりしないelispは埋もれていく定め
575 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 01:04:50.46 ] もしかして eval-after-load の中のフォームってバイトコンパイルされなかったりする?
576 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 01:23:09.55 ] てst
577 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 10:32:37.89 ] Android 版ありますか?
578 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 10:42:25.69 ] iOS版は確かあったけどAndroid版はまだじゃないかなあ と思ったら一応出来ないことはないみたい www.emacswiki.org/emacs/EmacsOnAndroid
579 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 11:44:15.55 ] emacs から emacs を立ち上げれば elisp だけでの並列プログラミングが実現出来るんじゃないか? マルチスレッドじゃなくマルチプロセスだけど。
580 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 11:46:26.85 ] Androidのバージョンとか不明ですが Emacs for Android ttp://d.hatena.ne.jp/MATSUZAKI/20101104/1288882148
581 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 12:25:49.29 ] >>579 emacs24からはポート指定でサーバ立ち上げられるし server-eval-at なんてのも追加されてるからあながち間違ったアプローチじゃないとおもう。
582 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 14:14:17.26 ] replace-regexpについて質問します このようなテキストがあるところで akasatana hamayarawa ikisitini 「元のテキスト 元のテキスト」のようにテキストを複製するかのような処理を 正規表現の置換で行いたいのですがうまくいきません 置換対象の文字列検索はre-builderでは大丈夫でした replace-regexp [ret] \\(.+\\) [ret] \\1 \\1 [ret] 何を修正すればよいのでしょうか
583 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 14:21:09.16 ] \ を \\ と書く時ってのはどういう理由でそれが必要だったのか考え直せ
584 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 14:39:22.04 ] emacs の正規表現はもうちょっとなんとかならんのかと常々思うわ。
585 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 15:03:07.77 ] 似たような問題はどんな言語いじっててもあるからね。
586 名前:582 mailto:sage [2012/01/07(土) 16:00:50.27 ] >>583 なるほど、re-builderは""内に書くから\\(\\)と書かなければならなくて、 replace-regexpは""内に書かないから\(\)と書くということですね すっきりしました
587 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 16:21:58.76 ] ELPAの作者がemacsをcommon lispで書き直そうとしているみたい The Cliffs of Inanity ? Emacs and Common Lisp tromey.com/blog/?p=709 そうなると長い目で見ればcommon lispを知っておいた方がよさそう
588 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 16:26:03.17 ] EmacsをCommon Lispでって・・・・ 10年前に Erik Naggum が言ってたのと同じことやん。 歴史は繰り返す。
589 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 16:53:47.36 ] climacs があるけれど、elisp の便利な資産が使えないからなあ。
590 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 17:10:02.39 ] >>588 このあたりの話が関係するか。emacsをcommon lispで、っていうのは真っ正面から議論されていたのかな? Island Life - 「Cで書くコードの方がCommon Lispで書くより速いって人がいたら、それは彼のCの技量が高すぎるってことだね。」 blog.practical-scheme.net/shiro/20100620a-lisp-speed
591 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 17:15:34.53 ] guile emacs の方がいいよ それはそうと emacs 24で`image-library-alist' is renamed to `dynamic-library-alist' ってなってるの見て ああもう本当にストールマンいなくなったんだなと実感した
592 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 17:22:54.27 ] elisp to cl emasc なコンバータを作るとか。
593 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 17:32:50.08 ] >>584 正規表現リテラルでもありゃあいいのにな。
594 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 17:51:12.15 ] >>591 のストールマンなら聞いたことがあるが他の人は寡聞にして知らない emacsの開発歴史というよりも どういう人がemacsにどういう影響を与えたか、を聞きたい
595 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 18:00:10.33 ] まず名前があがるのがるびきちさんだな
596 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 18:03:58.85 ] >>594 ja.wikipedia.org/wiki/Emacs 結構ちゃんと人物も記載されてるよ。
597 名前:545 mailto:sage [2012/01/07(土) 19:07:20.82 ] define-generic-modeの質問をした者ですが関連する質問をします test_func { test } のように{が行末に来たときは次の行をスペース2つ分(かタブ1つ分)右にシフトさせて }が行頭に来たときには左にシフトさせる設定はdefine-generic-mode向けに何かありますか (上の例では全角スペースを使っています) 単体のemacsでは設定できずyasnippetのようなものを併用しなければならないでしょうか
598 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 19:52:42.00 ] >>597 凝ったことしたくなったら generic-mode 使わないで素でmajor-mode作ってもいいような気もするけど { を入力したときに勝手に整形されるようにするのか、 改行したときに勝手にそうなるようにしたいのか、 C-i だの TAB だの入力して indent したときにそうしたいのかによって微妙に入り口は異なると思うけど 基本的には自力で整形処理を書かなきゃいけないと思うよ。 c-mode の c-indent-line の辺り読んで頑張れ
599 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 19:59:36.41 ] indent-line-function に前の行の { の位置をみてインデント位置を調節する関数を設定する。
600 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 22:41:57.81 ] gnusわかりにくすぎる
601 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 22:46:09.78 ] ttp://blog.livedoor.jp/dankogai/archives/51763038.html (require 'cl) ; cl (defun mapbetween (f l) (let (y) (mapl #'(lambda (x) (when (cadr x) (push (funcall f (cadr x) (car x)) y))) l) (nreverse y))) ; mapbetween (mapbetween #'+ '(1 2 3 4 5)) ; (3 5 7 9) (mapbetween #'- '(0 1 4 9)) ; (1 3 5)
602 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 22:47:16.57 ] いや、ダンコーガイに直接コメントしてやれよ
603 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 22:47:31.32 ] >>527 もう解決してるかもしれないけど、別のスクリプト (qlgrep) に lgrep を包むって方法は採れそう。 #!/bin/sh lgrep "$@" > /dev/null 2>&1 さらに別の関数 (find-lgrep-dired) も用意する。 (defun find-lgrep-dired (dir regexp) (interactive "DFind-grep (directory): \nsFind-grep (grep regexp): ") (find-dired dir (concat "-type f -exec qlgrep - " (shell-quote-argument regexp) " " (shell-quote-argument "{}") " " ;; Doesn't work with "+". (shell-quote-argument ";"))))
604 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 12:25:43.23 ] which-func-mode ってなんであんなにお馬鹿なんだろう
605 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 12:29:35.16 ] 汎用だからね。
606 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 13:46:03.01 ] minibuffer だけスクロールバー無しって出来るんでしょうか?
607 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 14:16:32.10 ] >>597 解説とか殆ど見たことないけど、emacs23からは インデントカスタマイズ用の smie ってライブラリが入ってるみたい。 つかったことないけどドキュメント読んだ感じ結構凝ったこと出来そうね。 www.gnu.org/software/emacs/manual/html_node/elisp/SMIE.html#SMIE emacs24 の octave-mode とかは実際に使ってるみたいだから見てみたけど 文法定義から始まる重量級のライブラリだなこれ
608 名前:名無しさん@お腹いっぱい。 [2012/01/08(日) 17:34:12.70 ] diredでファイル一覧を表示させた後,そこに表示されたあるファイルについ て,フルパス付きのファイル名をkill-ring-saveする方法はあるでしょうか。 ちょっとわかりにくかもしれませんが,例えば,diredで一覧表示した.emacs に適用したなら,/home/hogehoge/.emacs という情報をコピペできる関数を探 しています。
609 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 17:49:12.34 ] lookupってもう終わってるの? これの次は?
610 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 17:51:00.10 ] >>608 C-0w
611 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 19:00:19.17 ] >>608 C-u 0 w w runs the command dired-copy-filename-as-kill, which is an interactive compiled Lisp function in `dired.el'. It is bound to w. (dired-copy-filename-as-kill &optional ARG) Copy names of marked (or next ARG) files into the kill ring. The names are separated by a space. With a zero prefix arg, use the absolute file name of each marked file.
612 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 19:51:29.65 ] >>609 まだ開発続いてると思うけど。
613 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 20:38:47.17 ] >>609 lookup て辞書検索できる lookup のことかな。 次といっても dict と epwing が理解できればそれで十分に思える、自分には。
614 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 20:54:03.71 ] epwing自体がおわコンというか… 変換スクリプトもメンテされてないし、入手不可能だったり。
615 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 20:57:40.10 ] ネット辞書から引けたほうがまだいいわな。 ただ emacs-w3m がいまいちだからねえ。 emacs-xwidget + webkit が安定して使えるようになったらうっはうはなんだが・・・
616 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 21:14:40.45 ] >>615 それなら普通にブラウザ使う方がいい。
617 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 21:56:44.63 ] >>612 RHEL6のx64でまともに動かんかった emacsが悪いのか外部が悪いのかよく分からん 4文字の単語を退いたときだけ駄目とか変な挙動いろいろで調べる気が起きん
618 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 22:02:12.17 ] >>616 むしろブラウザだけでいい
619 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 22:21:01.13 ] firefox+keysnailにファイルエディット機能つければemacsの代わりに使えるんじゃね?
620 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 22:25:56.90 ] むしろfirefoxにemacsを組み込んだ方が
621 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 22:34:39.67 ] ブラウザにEmacs組み込むのと Emacsにブラウザ組み込むのどっちが楽だろう
622 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 22:42:25.03 ] >>621 後者は既出感が…
623 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 22:44:19.10 ] ちゃんとJavaScript 解釈してかつ elisp からブラウザの状態弄れるのがいいなあ
624 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 22:48:48.36 ] なんか面白い elisp ないかしらん
625 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 01:29:57.86 ] >>624 seimei.el tako.el trr.el
626 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 01:43:55.29 ] なんであれだけ発行部数出てないんだろうねぇ。
627 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 02:55:49.39 ] >>621 Javascript PC Emulator ttp://bellard.org/jslinux/ で、ブラウザ上でQEmacsが使えます。 ~ # which emacs /usr/bin/emacs ~ # ls -l /usr/bin/emacs lrwxrwxrwx 1 root root 2 May 14 2011 /usr/bin/emacs -> qe ~ # ls -l /usr/bin/qe -rwxr-xr-x 1 root root 108240 May 16 2011 /usr/bin/qe ~ # strings /usr/bin/emacs | fgrep -i version QEmacs version 0.3.1, Copyright (c) 2000-2003 Fabrice Bellard
628 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 03:17:21.81 ] 【スタッフ募集】路線名を擬人化させたエロゲ【鉄オタも】 hayabusa.2ch.net/test/read.cgi/news4vip/1326032146/ 【wiki】 www38.atwiki.jp/train_erog/ 【避難所】 jbbs.livedoor.jp/game/54004/
629 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 08:39:46.95 ] >>625 tako.el みて普通に日本語のシンボル名作れることに驚愕した
630 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 12:53:58.93 ] 関数の中で直接呼び出されている関数*だけ*置き換える方法ってありませんでしょうか? (defun greeting (msg who) (message "%s, %s" msg who)) (defun hello (who) (message "===hello===") (greeting "hello" who)) みたいになっている時、 hello の中で直接呼ばれてる message だけ置き換えたいのです。 flet を使うと greeting の中の message まで置き換えられてしまいます。 関数定義をそのまま引っ張ってきて書き換えたものを再定義したり fset したりする以外に方法はありませんでしょうか?
631 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 12:58:14.67 ] 関数を around アドバイスして flet ってやったらできないんだっけ?
632 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 12:58:40.71 ] あ、馬鹿なこと言ったごめ。
633 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 13:57:27.13 ] 全然うまい方法が思いつかなかったので、じゃあせめて置き換え後の関数で 呼び出し元の関数を判断して挙動を変えようと思ったのですが、 今度は呼び出し元の関数の調べ方がわかりません。 b.hatena.ne.jp/IMAKADO/elisp/callee/ とかは見つかったんですが 肝心のリンク先が壊れて見れないという・・・トレースとか書いてあるから バックトレースの内容を参照するってことなんでしょうかね・・難しい。
634 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 14:42:51.45 ] なんかものすごく力技な感じになりましたが一応実装できたので貼っておきます。 なんかもっとスマートな方法はないのか・・・・ (defun greeting (msg who) (message "%s, %s" msg who)) (defun hello (who) (message "===hello===") (greeting "hello" who)) (defun callee () "呼び出し元の関数名を文字列で返す" (let ((bt (split-string (with-output-to-string (backtrace)) "^ *\\|\n" t))) (while (and bt (not (string-match "^callee\\>" (pop bt))))) (cadr bt))) (defadvice hello (around ad-hello-no-heading activate compile) "hello が直で呼び出している message だけ ignore に置き換える" (let ((org-message (symbol-function 'message))) (flet ((message (format-string &rest args) (if (string-match "^ad-Orig-hello\\>" (callee)) ;; advice の場合は ad-Orig-* になる (ignore) (apply org-message format-string args)))) ad-do-it)))
635 名前:597 mailto:sage [2012/01/09(月) 16:29:31.21 ] >>598-599 >>607 ありがとうございます。 indent-line-function等で制御するよりも>>607 を改変すればよさそうだと思いました ですが改変がうまくいきません if (x>0) { proc1() proc2() } else if (x<0) { proc3() proc4() } else { proc5() proc6() } こういう風に自動的にインデントさせようとして www.gnu.org/software/emacs/manual//html_node/elisp/SMIE-Grammar.html#SMIE-Grammar の("then" insts "end")を("{" insts "}")、 ("if" exp "then" inst "else" inst)を("if" exp inst "else" inst)、 (insts (insts ";" insts) (inst))を(insts (insts insts) (inst))、 に書き換えましたが、{を入力してC-jを押すと(newline-and-indent) (wrong-type-argument integer-or-marker-p nil) とエラーが出ました このif (test) {procs} else if (test) {procs} else {procs} を (procsは改行区切りです) インデントさえできればいいのですが どうすればよいでしょうか
636 名前:597 mailto:sage [2012/01/09(月) 16:39:18.77 ] あと、調べていて気づいたのですが www.emacswiki.org/emacs/IndentingC#toc1 このcc modeをdefine-generic-modeで作成したモードで 使えればよさそうだと思いました というのも整えようとしているのがc++ likeのコードに似ているからです 上のsmie改変がうまくいかないときにはこれで十分です define-generic-modeで作成したモードの初期化部分で このcc modeの機能を利用することはできるでしょうか
637 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 16:39:19.97 ] ちなみにサンプルの設定ではうまく動いたの? smieって何やってるのかわからなかったけど smie-setup で indent-line-function 設定してるのな。 ちょっと真面目に使い方勉強してみるか。
638 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 16:40:28.70 ] >>636 特定のモードを元にモードを作る場合は define-derived-mode を使うといいよ。
639 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 17:09:57.88 ] >>635 "}"とかが token として認識されてないんじゃないの?
640 名前:597 mailto:sage [2012/01/09(月) 17:50:59.31 ] >>637 はい。サンプルは動きました。↓の各セクションから以下の設定をコピペして www.gnu.org/software/emacs/manual//html_node/elisp/SMIE.html#SMIE (eval-when-compile (require 'cl)) (require 'smie) (defvar sample-smie-grammar (defvar sample-keywords-regexp (defun sample-smie-forward-token () (defun sample-smie-backward-token () インデント分をこう設定し (defvar sample-indent-basic 4) メジャーモードを作成する (define-generic-mode の初期化部分で (list (function (lambda () (add-hook 'hoge-mode-hook (lambda () (smie-setup sample-smie-grammar #'sample-smie-rules) と書きました。 あと、>>635 の(insts (insts ";" insts) (inst))は書き換えないままでした 書き換えるとエラーになります すみません >>639 確かにtokenの設定が抜け落ちていました。ですが (defvar sample-keywords-regexp (regexp-opt '("+" "*" "," ";" ">" ">=" "<" "<=" ":=" "="))) を (defvar sample-keywords-regexp (regexp-opt '("+" "*" "," ";" ">" ">=" "<" "<=" ":=" "=" "{" "}" "(" ")"))) に書き換えましたがだめでした >>638 なるほど、ただキーワードの色づけ設定は引き継ぎたくないのでdefine-gereric-modeで設定しました インデントとキーフックのみ特定のモードを引き継ぐという機能があればいいのですが
641 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 18:02:41.16 ] >>640 自分とこでちょっと動かしてみたいけど長そうだから ↓ここにコピペしてURL教えてくれ paste.lisp.org/new/emacs
642 名前:597 mailto:sage [2012/01/09(月) 19:05:20.29 ] 書きました paste.lisp.org/display/126938 よろしくお願いします
643 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 19:42:06.40 ] うおお、難しい とりあえずコメントの ';' と 区切り文字の ';' が干渉してるのと sample-smie-forward-token で a+b みたいなのが一気に通過しちゃうのが気になったけど じっくり取り組まないとわからんなあ・・・
644 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 21:32:24.24 ] サンプルのまんまで実行しても emacs 23 では wrong-type-argument が出るねえ。 emacs 24 で実行するとエラーは出ないけどちゃんと動いてるような感じがしない。 サンプルそのままで実行してもぶら下がりelseがちゃんと処理できてないように見えるなぁ。
645 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 00:11:10.77 ] >>629 skk に含まれてる skk-ja-names.el とか見てみろよ。 こんなだぞ。 (defalias 'SKKモード 'skk-mode) (defalias 'SKKのバージョン 'skk-version) (defalias 'SKKのバグを報告する 'skk-submit-bug-report) (defalias 'SKKのチュートリアル 'skk-tutorial)
646 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 11:26:09.75 ] load-path の追加に normal-top-level-add-subdirs-to-load-path を使うのを 止めたら起動時間が 500〜700ms 近く早くなって感動した
647 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 15:26:23.62 ] emacs使いの大半はcapslockをctrlにしている? それともそのまま?
648 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 15:30:40.42 ] そんなの調査のしようがないからなぁ。
649 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 15:34:21.26 ] 大半かどうかは知らんけどEmacs関係なく一定数いることは確か。 MSなんか公式でCTRL<=>CAPS逆にするドライバ配布してるし。 これも呪いの一つだとは思う。
650 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 17:29:15.59 ] なんでこれでエラーがでるんでしょう? (string-match (migemo-get-pattern "popw") "popwin") ここまでは大丈夫なのに。 (string-match (migemo-get-pattern "pop") "popwin")
651 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 17:37:09.14 ] 失礼しやした。 キャッシュがぶっ壊れていただけだった。
652 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 18:44:24.40 ] >>649 MSのドライバ配布なんて聞いたことがなかったから調べてみた www.atmarkit.co.jp/fwin2k/win2ktips/1182ctrl2cap/ctrl2cap.html ふむふむこれか。楽ちんなツールもあるもんだな
653 名前: 忍法帖【Lv=34,xxxPT】 mailto:sage [2012/01/10(火) 18:48:32.71 ] 入れ替えじゃなくてcapslockをctrlにしたい
654 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 19:51:36.16 ] 職場なんかだと交換よりCAPS潰すの方が ちょっと同僚が叩いた時とかに面倒がなくていいわ
655 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 00:27:15.52 ] 最新のソースを取得するにはどうすればいいんだ? ttp://savannah.gnu.org/projects/emacs/ ここに書いてあるとおり bzr branch bzr://bzr.savannah.gnu.org/emacs/trunk としても、メールで[Emacs-diffs]が届いた時点のソースが取得出来ない。 その後、bzr updateしても一向に更新されないし、bzrよーわからん。 そもそも、bzr branchが異様に時間が掛かるし、bzr腐ってる。
656 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 00:32:21.68 ] github のミラー使ったら? https://github.com/emacsmirror/emacs >A Mirror of the Emacs Bazaar repository ― Read more >www.emacswiki.org/emacs/EmacsFromGit
657 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 01:05:13.24 ] gitのミラーはとまってることがまれにあるのが玉に瑕。
658 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 08:32:51.99 ] git clone git://git.savannah.gnu.org/emacs.git
659 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 10:21:02.18 ] ecbとかセマンティックは消滅しちゃうんだろうか
660 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 12:14:29.24 ] 23.4のtarballsまだかよ。
661 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 12:40:39.01 ] カーソル移動は(previous-line)でできることは分かったのですが、 カーソル位置にある文字とその一つ前の文字を取得する関数はありますか? 取得した文字によって処理を分岐させたいのですが方法が分かりません
662 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 12:56:44.81 ] \C-x = が似たようなことをやっている。
663 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 13:01:57.88 ] char-after char-before following-char preceding-char
664 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 13:08:21.16 ] >>662-663 ありがとうございます
665 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 13:49:11.90 ] >>659 いや、普通に残ってる。 w3 っていつの間に消えてたんだろう・・・
666 名前:名無しさん@お腹いっぱい。 [2012/01/11(水) 16:05:23.89 ] *scratch*バッファをキルしたあとで,また*scratch*バッファを 開く方法無いですか? やりたいことは,*scratch*バッファの内容を復元することではなく メモ用のバッファを作ることなのですが・・・
667 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 16:09:05.64 ] >>666 www.bookshelf.jp/soft/meadow_29.html#SEC392 とかを参考に。
668 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 16:10:02.14 ] 普通に C-x b で *scratch* を開けばいいよ。別に特別なバッファじゃない。 お好みで initial-major-mode にしてあるメジャーモードにすればいい。 scratch の内容保存系の lisp おいてるところよく見ると 消せないようにするだけの設定が抜き出せるからそれ参考にしてみれば?
669 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 16:10:06.91 ] >>666 www.bookshelf.jp/soft/meadow_11.html#SEC75 つーかこっちか。 モード設定は勝手にやってくれるかも。
670 名前:名無しさん@お腹いっぱい。 [2012/01/11(水) 16:36:53.69 ] >>667 ,668,669 しばらくC-x b *scratch* を使ってみることにします. ありがとうございます.
671 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 19:20:52.27 ] abbrevの登録単語削除の方法がサパーり判らんのでスゲームカムカしてきた C-u C-x a l
672 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 21:05:05.68 ] M-x list-abbrevs して適当に消して C-c C-c じゃない? abbrev まともにつかったことないな・・・
673 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 21:43:02.80 ] 無名関数の再帰を調べていたら Y コンビネータが出てきた あのわけわからん世界に繋がりつつあるんだと思うとちょっとうれしい
674 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 21:56:17.64 ] 文字列中の "$@"、または "$" をそれぞれスペース一個にする処理を書いています。 ただし、"$$" はエスケープ処理のパターンなので "$$@" なんて場合は "$$ " に置換したいです。 ( "hoge$@$$@hage" なんかは "hoge $ hage"になる) こういうエスケープ文字を含む置換は一回の置換で済ますのは難しいでしょうか?
675 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 22:18:20.68 ] >>674 > ただし、"$$" はエスケープ処理のパターンなので "$$@" なんて場合は "$$ " に置換したいです。 だと "hoge$@$$@hage" -> "hoge $$ hage" にならないといけないような。 とりあえず (replace-regexp-in-string "\\(\\$?\\)\\$@?" "\\1 " "hoge$@$$@hage") -> "hoge $ hage" となる。
676 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 22:40:32.37 ] >>675 ああっ・・・すみません、"hoge$@$$@hage" は "hoge $$ hage" でした。 なるほど、直前の $ があれば保存するって書き方も出来るんですね。 もう少し考えてみます。ありがとうございます。
677 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 22:44:05.81 ] >>676 下手糞だけれど、 (replace-regexp-in-string "\\(\\$?\\)\\$@?" "\\1\\1 " "hoge$@$$@hage")
678 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 22:57:17.40 ] >>677 $$ の場合、前の$を2つおいちゃうわけですね ただその場合 "hoge$$hage" が "hoge$$ hage" になってしまいます ううむ・・・
679 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 08:16:55.07 ] emacs24 のパッケージシステム、ELPAの登録少なすぎ糞がと思ってたけど mamalade 追加したら予想してたよりしっかり登録されてて感心した。
680 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 09:45:12.56 ] ELPA標準+marmaladeでel-getはオワコンか
681 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 09:57:57.84 ] el-get + githubのemacsmirror これ最強な
682 名前:名無しさん@お腹いっぱい。 [2012/01/12(木) 10:00:49.74 ] emacsmirror いいよな。 emacswiki のelisp 落としたい放題
683 名前:名無しさん@お腹いっぱい。 [2012/01/12(木) 10:23:06.46 ] そんなものよりるびきちさんのauto-installを使えよ
684 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 11:34:39.88 ] emacsmirrorのレポジトリ群からel-get用レシピ生成するelispはよ
685 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 18:37:38.11 ] emacs24のlexical-binding、ヘッダに lexical-binding: t とか入れると 全部の let が文脈依存になるのかよ・・・ 使いづれえ
686 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 07:43:15.33 ] scratch buffer で lexical どうやんのかな
687 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 10:28:58.27 ] lexical-let を正式サポートでよかったのに。
688 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 10:35:18.21 ] 冗談はやめてくれ。
689 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 10:41:53.08 ] *scratch* で M-: (setq lexical-binding t) でいいんじゃない? ;; 今まで (setq a 100) (defun foo () (message "%d" a)) (progn (let ((a 200)) (foo)) (foo)) => 200 100 ;; lex bind (setq lexical-binding t) (setq a 100) (defun foo () (message "%d" a)) (progn (let ((a 200)) (foo)) (foo)) => 100 100 ただし、a が defvar で宣言されている場合は lexical-binding を t にしてても強制的に dynamical binding (ようするに今までのと同じ)になる。 だから基本的には置き換えしてもそんなに影響はでないはず。
690 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 10:51:34.62 ] あと lexical-binding t にすると lambda が closure を返すようになるな。 バッファ内の未評価の defvar とかが評価結果に含まれててなんかすごく気持ち悪いけど。
691 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 10:57:03.63 ] バッククオート展開で無理やり変数埋め込みとかしなくてよくなるのは嬉しい
692 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 11:06:45.92 ] >>689 どっかで defvar してるシンボル名とバッティングしないような名前を使わなきゃいけないところは 変わらんってことか。 ネームスペースはよ
693 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 14:48:38.91 ] auto-completeでメジャーモードhoge-modeの補完候補を~/.emacs.d/ac-dict/hoge-modeの各行としたいです tabを押さずに自動的に補完候補を表示するスタイルにしたいと思います .emacsに (setq ac-auto-start t) (add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict") (add-to-list 'ac-modes 'hoge-mode) と書いてhoge-modeを~/.emacs.d/ac-dictに置いたのですが何にもなりません ac-dict/hoge-modeは改行(lf)区切りなのですが、それがいけないのでしょうか cx4a.org/software/auto-complete/manual.ja.html このマニュアルにはそういうことが書いていないのでよくわかりません
694 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 15:27:05.91 ] 当然だけど (require 'auto-complete-config) とか (ac-config-default) とかは普通に書いてあるんだよな?
695 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 16:16:39.75 ] >>694 (require 'auto-complete-config) は書いていましたが (ac-config-default)が抜けていました。 ばっちり動きました!ありがとうございました。
696 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 10:09:51.35 ] anythingってupgradeするたびに動かなくなるね。ぽぽぽぽーん。。 すごいわ。修正された行数とかもすさまじいし。。 うんざり。
697 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 10:20:52.49 ] Semanticはちゃんと補完してくれてかなりいいんだけど、カーソルの下の 関数名の定義場所がエコーエリアに表示されているにもかかわらず、 そこに飛ぶ術がないという糞仕様。 そもそも使いづらいからAnything用のインターフェースでも作るかな…
698 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 10:27:57.09 ] あ、動いた。どうやらanything-match-plugin.elが必須になったぽいな。 そしてこのモッサリ感。鈍重すぎる。 もともと腐ってたのが白骨化した死骸のような感じになってきたな。
699 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:07:34.45 ] ごめん質問。ひさびさのEmacsで困ってる。 eshellでも(call-proccess ... )の出力をバッファに出しても 表示される日本語部分が化けてしまう。UTF-8なテキストファイル開くと化けない。 UTF-8環境なLinux上。Emacs23にて。 set-language-environment "Japanese"だし set-terminal-coding-systemもset-keyboard-coding-systemも set-buffer-file-coding-systemもdefault-buffer-file-coding-systemも 全部utf-8としたし、実際化けてるバッファでも左下はU:と表示されてるからutf-8に なってるはずなんだが。 なにか解決のヒントくれたらおいら嬉しいのでおねがいしまふ
700 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:14:26.08 ] default-coding-system は設定してある? 最近は個別にコーディングシステム設定しないで (prefer-coding-system 'utf-8-unix) とかするもんらしい。 バッファ/ファイル名からプロセスから何から何まで一発でやってくれるよ。
701 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:22:24.16 ] あわわ × default-coding-system ○ default-process-coding-system でした
702 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:24:27.36 ] >>697 anything と semantic で検索するとちらほら引っかかるけど それじゃだめなん?
703 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:34:23.81 ] >>699 process-filter-multibyte-p set-buffer-multibyte とかの multibyte 関係。
704 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:37:58.99 ] むしろ一旦何も設定しない状態で試したほうがいいと思うの
705 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:44:07.38 ] そもそも最近の emacs って LANG=ja_JP.UTF=8 とかしておけば特に何の設定もしなくても ちゃんと日本語でUTF-8な環境にセットアップしてくれるんだよな。
706 名前:名無しさん@お腹いっぱい。 [2012/01/14(土) 13:20:19.97 ] 編集中の文書のアウトライン表示させるためにsr-speedbarを試しています。 www.emacswiki.org/emacs/SrSpeedbar なかなかいい感じですが編集中ファイルと同じディレクトリに他のファイルが あると,speedbarにそれらのファイル以外も表示されてしまいます。編集中の ファイルだけをspeedbarに表示する方法があれば教えてください。
707 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 13:33:09.07 ] >>706 自分で新たに speedbar のモードを書くしかないと思う。 *SPEEDBAR* で b とか r を押せば開いているバッファが表示されるけれど、これは違うのだろうし。
708 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 13:48:41.17 ] speedbar-file-regexp を make-local-variable して バッファ名だかバッファファイル名だかだけ引っかかるような設定にすりゃいいんでないの。 これも悪くないな d.hatena.ne.jp/kitokitoki/20100517
709 名前:699 mailto:sage [2012/01/14(土) 14:06:07.65 ] >>700 (prefer-coding-system 'utf-8-unix) でいけました。ありがとー
710 名前:697 mailto:sage [2012/01/14(土) 14:10:38.94 ] >>702 ttp://dev.ariel-networks.com/Members/matsuyama/open-anything-emacs/ ここで目的のものが見つかった。 ただ、Anythingのソース作成方法を理解してないからよくわからん。 積読状態だった例の本をちゃんと読むか…
711 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:07:22.59 ] るびきちさんが叩かれてる理由がだんだん分かってきた。
712 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:08:20.51 ] 大部分が男のジェラシーですね
713 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:16:00.39 ] >>712 違うと思う。
714 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:39:05.52 ] ジェラシーとか嫉妬とか言うやつは一人しかいないわけで。 何もかも一人でやってるようなグラマにろくなのはいないっていう悪例だよ。
715 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:43:01.18 ] カーソル行の冒頭の空白の類いを取得したいです 正規表現は^[\t\s]+でカーソル行を取得するのは(thing-at-point 'line)でよいのですが 取り出した文字列を正規表現で検索する方法がわかりません 正規表現で検索というとre-search-forwardがありますが これではバッファ内の文字列を検索することになってしまいます どうすればいいでしょうか
716 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:48:26.55 ] string-match
717 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:57:07.69 ] \C-h f re-search-backward
718 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 16:24:06.55 ] >>716-717 ありがとうございます。調べた結果 string-matchでもre-search-backwardでもできました
719 名前:名無しさん@お腹いっぱい。 [2012/01/14(土) 16:39:21.50 ] >>707 >>708 ありがとうございます。 自分で設定する方法はわからないので,しばらくはimenu-treeと併用してみます。
720 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 19:31:25.59 ] マクロを使いたいけど以下のようにしたい場合はどうしたらいいのでしょう? ・コンパイル後は内容が展開されるのでマクロ自体は未定義になってほしい ・コンパイルしないで el のみのロードの場合は普通に定義されたままでよい eval-when-compile だと el のみのロードの場合にダメになっちゃいますよね・・・
721 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 19:35:53.07 ] >>720 describe-function eval-when-compile > In interpreted code, this is entirely equivalent to `progn'.
722 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 19:53:14.68 ] >>721 ありがとうございます。 eval-when-compile の中にマクロ定義を置く、で何ら問題なかったんですね。 しかし、eval-after-load みたいなコンパイルされない式の方だと実行時にマクロ定義がないとエラーになってしまいます。 これをコンパイル時にマクロ展開する方法はないのでしょうか?
723 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 20:26:35.83 ] (eval-when-compile (require 'cl)) (defun my-func () (loopとか)) (eval-after-load "library" '(my-func)) じゃだめなのけ?
724 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 20:36:30.14 ] >>723 みたいに関数化した方がバイトコンパイルもされるから実際一番いいと思う。 一応別解 (eval-when-compile (defmacro somemacro (x) (concat x "-ok"))) (eval-after-load "hogehoge" (eval-when-compile (macroexpand-all '(progn (setq hoge (somemacro "hoge")))))) eval-after-load から macroexpand-all までを eval-when-compile 内にマクロで置けば完璧 これなら el でロードしてもコンパイルしてもちゃんとマクロ展開される
725 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/15(日) 16:36:48.20 ] >>653 レジストリ書き換える方法で良ければ、scancode map でぐぐると見つかる。 XP以降はLoginユーザ別に設定できる。 windows server 2003 resource kitに入っている remapkey.exe というのでも 出来るけど。ユーザ個別設定は出来ないかもしれない。
726 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 18:42:59.64 ] たしかC-aやC-eを連続して押すとカーソルが行ったり来たり(?)する elispがどこかで公開されていた気がするのですが ご存じの方はいらっしゃいませんか これでカーソル移動がもっと快適になるとか書いてあったような気がします るびきち本とかどっちかと思いましたが見つかりませんでした
727 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 18:46:46.90 ] アドベントカレンダーで見た気がする
728 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 18:50:20.77 ] マジキチ先生のsequential-commandかな 他にも似たようなのあるかもしらんが
729 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 20:11:35.65 ] >>727-728 ありがとうございます。両方の情報とも関係がありそうだと検討をつけて探したら そのものずばりのページにたどり着けました emacs.g.hatena.ne.jp/k1LoW/20101211/1292046538 この図こそ記憶にあったものです 感謝です
730 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 20:25:39.60 ] gnupackのemacsで等幅フォント(migu 1m)を使っているはずなのに 微妙にずれてしまう気がします 対処策はあるのでしょうか
731 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 21:45:30.64 ] >>730 NTEmacsスレの方がストレートな解答が貰えるかもしれない。 Windowsだとフォント重ねあわせでボールド化するとかの設定有効にしてると ずれることがあるって聞いたことがあるな。変数名は忘れたが。
732 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 22:03:50.99 ] あれ、うちもだそれ。LinuxでGNU Emacs 23.3.1、Ricty 3.1.2 Rictyを使ってるんだけど例えば $ の幅が他の文字の 90% ぐらいになってる フォントの設定はなんか難しいから放置中
733 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 22:18:58.39 ] Rictyってたしか複数のフォントをマージした奴だったよね。 しかもライセンスの問題でバッチ処理で自分で結合処理するんだった記憶が。 幅あってないんじゃない?
734 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 22:31:27.69 ] いやRictyって幅を合わせたのが売りじゃなかったっけ?
735 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 22:40:43.46 ] C-u C-x = で $ と字を調べてみたら? 違うフォントや違うサイズが割り当てられてたりしない?
736 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 23:02:15.92 ] ヒントどうもです。 差し当たり $ と 1 についての C-u C-x = の出力および init.el の関係ありそうな設定部分を貼っときます codepad.org/cN7neV2I ($) xft:-unknown-Ricty-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x07) (1) xft:-unknown-Ricty-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x14)
737 名前:730 mailto:sage [2012/01/17(火) 13:39:36.57 ] 解決策がわかりました フォントのサイズを3の倍数にすればよいだけでした >Emacs で等幅フォントの半角文字・全角文字の横幅比 1:2 を必ず達成するフォント設定 ttp://stickydiary.blog88.fc2.com/blog-entry-107.html
738 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 14:43:24.37 ] EmacsLisp勉強中です。自作の関数をさらしますので添削お願いします。 (defun random-string (length) (let ((i length) (s "0123456789abcdefghijklmnopqrstuvwxyz") (a '()) n c) (while (> i 0) (setq n (random 36)) (setq c (substring s n (+ n 1))) (setq a (cons c a)) (setq i (- i 1))) (string-join "" a)))
739 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 14:50:18.40 ] 動けばいいってこと? (defun random-string (length) (let ((i length) (s "0123456789abcdefghijklmnopqrstuvwxyz") (a '()) n c) (while (> i 0) (setq n (random 36)) (setq c (substring s n (1+ n))) (setq a (cons c a)) (setq i (- i 1))) (mapconcat 'identity a "")))
740 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 15:05:13.65 ] (defun random-string (length) (let ((s "0123456789abcdefghijklmnopqrstuvwxyz") a n) (while (> length 0) (setq n (random 36)) (setq a (concat a (substring s n (1+ n)))) (setq length (1- length))) a))
741 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 15:24:40.20 ] (defun random-string (length) (concat (loop with s = "0123456789abcdefghijklmnopqrstuvwxyz" repeat length collect (aref s (random 36)))))
742 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 15:40:14.13 ] (defun random-string (length) (let* ((offset (random 36)) (char (substring "0123456789abcdefghijklmnopqrstuvwxyz" offset (1+ offset)))) (if (> length 1) (concat char (random-string (1- length))) char)))
743 名前:名無しさん@お腹いっぱい。 [2012/01/17(火) 15:59:27.93 ] (defun random-string (length) (substring (shuffle-vector "0123456789abcdefghijklmnopqrstuvwxyz") 0 length))
744 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 16:08:57.86 ] (defun random-string (length) (loop with s = (make-string length 0) for i from 0 to (1- length) do (aset s i (aref "0123456789abcdefghijklmnopqrstuvwxyz" (random 36))) finally return s))
745 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 16:13:45.58 ] はい、そこまで。
746 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 16:33:07.71 ] アホ学生の課題か
747 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:17:27.28 ] random 36っていうのは何というかスマートじゃ無いな
748 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:26:31.48 ] 見る限り >>742 >>743 はトーシロだな。
749 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:29:19.73 ] >>748 なんで?
750 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:33:44.72 ] 関数への入力値を大きくしてみたまえ。
751 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:41:13.00 ] そんなデカい値で使うような関数か?
752 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:44:04.87 ] 負け犬プログラマーがここにも。こーゆーやつよくいるんだよね。ヽ(´▽`)ノ
753 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:47:45.79 ] 職場でやられると締め殺したくなるやつだな。w
754 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:58:40.75 ] elispだけで文字列をパスワードつけて暗号化できるパッケージないですか?
755 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 18:52:51.80 ] 七色に光るタッチキーボードかあ 好きな色にキーボード光らせるなら ctrとaltは目立つ色にしたいな
756 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 18:53:41.57 ] >>755 誤爆?
757 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 18:55:29.08 ] ax3s.blog54.fc2.com/blog-entry-345.html こいつでemacsとか最高じゃないか
758 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 18:58:37.67 ] キーボードの話はこっちでいいんじゃない。 Keyboard キーボード 3 toro.2ch.net/test/read.cgi/unix/1285489282/
759 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 19:17:47.77 ] >>757 テンキーレスってところがいいな。 英語配列ならなおよかったんだけど。
760 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 19:20:18.21 ] 「ハンファ」 なんかヤダ。
761 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 19:23:45.05 ] Emacsとなにも関係ない件
762 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 20:16:45.69 ] 自由にカスタマイズできるって言っても、C-cの後とかC-xの後に有効なキーだけ 色を変えるってのはできないんでしょう?
763 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 20:25:40.12 ] 色を変えるってキーボードの?ww
764 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 20:58:16.61 ] あんたインテリアこだわるの好きね。
765 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 21:42:54.57 ] Emacsにハマりそうで怖い。 論文書くのにWordだとだるい ↓ Emacs + LaTexってよさげ ↓ Tutorialをやってみる ↓ るびきち本を買ってくる ← いまここ 独特の操作系で敷居が高いと思っていたけれど、 これはこれでアリだと思う様になってきた。
766 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 21:44:16.70 ] >>765 LaTeX を使うなら他のエディタを選択することもできただろうに。
767 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 22:16:48.10 ] Emacsだけで色々完結するってのも惹かれた点。 しかしGoogle DocsやEvernoteなんかまで編集できるとは思わなかった。
768 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 22:21:42.98 ] >>762 でもブラインドタッチしてる以上あんまり色かわっても意味ないな。 無効なキーを押すと電流が走るとかなら教育効果があるかもしれん。
769 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 22:22:11.64 ] >>767 今ならまだ間に合う。引き返せ。 わりとマジで。
770 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 22:26:38.41 ] >>769 後悔してる理由教えて
771 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 22:28:11.82 ] >>769 後悔してる理由教えて
772 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 22:39:33.15 ] 呪いが解けなくなるよ
773 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 01:28:50.52 ] >>739-744 たくさんの人に答えていただき、ありがどうございます。 けど、結局どう書くのがいいのかは、よみとれませんでした。 ・string-joinよりconcatのほうがいいの? ・loopとかつかったほうがいいの? ・for i from 0 to ... とか初めて見たけど、これって普通に使われているの? もうちょっと、EmacsLisp初心者向けにお願いしたいんですが、だめでしょうか。
774 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 02:47:01.89 ] どっから持って来たんだ、string-join って どうせ中身は mapconcat なんだろうけど
775 名前:名無しさん@お腹いっぱい。 [2012/01/18(水) 02:48:56.76 ] 半ページスクロールってできないっすか?
776 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 08:52:46.80 ] >>773 > ・string-joinよりconcatのほうがいいの? ・mapconcat は文字列のリストに作用するし、concat は char のリストに作 用すると覚えておけ。apply 使えるようになれば違いはほとんどない。 > ・loopとかつかったほうがいいの? とりあえず使うな。while と mapcar を覚えろ。 > ・for i from 0 to ... とか初めて見たけど、これって普通に使われているの? はい。loop に狂ってる連中は使う。ほとんどが上級者だな。 ここで質問する前に他の人のコードをひたすら読め。 elisp以前にプログラマの基本だ。
777 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 10:08:52.24 ] cl系使うのは抵抗あるな。
778 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 12:35:55.81 ] るびききの書いたelispのソースを見て気づいたんだけど 日付と履歴情報が自動的に更新されている気がする たとえば www.emacswiki.org/emacs/download/auto-install.el 日付の自動更新はtime-stamp.elでできるけど 履歴情報(changelog)の自動更新はどうやるのだろう
779 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 16:24:31.76 ] これバージョン管理が勝手に入れるやつじゃないの? elispファイルに履歴なんて書いても誰もみないから分離してほしいよな。 githubにでもリポジトリ公開すればいいのに。
780 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 16:31:22.63 ] Change log:のところにChangeLogを挿入してるんじゃないの? まあChangeLogはふつう別ファイルだから何かしら細工していると思うが $Id: の部分も別ファイルのChangeLogを挿入しているだけかと
781 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 17:06:37.54 ] なんで意固地になって読みづらいchangelogを挿入するのだろうか。
782 名前: 忍法帖【Lv=38,xxxPT】 mailto:sage [2012/01/18(水) 17:12:34.07 ] >>776 > とりあえず使うな。while と mapcar を覚えろ。 mapcもね
783 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 18:12:11.63 ] DAdams病
784 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 18:42:21.52 ] remove-if とか find-if が便利すぎて loop 覚える気がしない
785 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 20:53:48.69 ] cl の関数を使っちゃってるかどうか検査する方法って何があるかな コンパイルするしかない?
786 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 20:59:27.45 ] elintで検出できたっけ?
787 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 22:51:29.37 ] 検出は知らんけどhighlight-clで目視できるようにはしてる
788 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 08:03:24.33 ] yasnippet が堂々と (require 'cl) しているのを見て なんかもうどうでもよくなった
789 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 08:36:10.64 ] 本体に取り込んでやるからその汚い(require 'cl)をどうにかしろ とか言われない限り取り除く気は無い
790 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 16:08:28.58 ] viのmコマンドに相当するのは、emacsでは何になりますか。 やりたいことは、現在のポジションを短い名前付きで覚えておき、あとからその名前を使ってジャンプすることです。 emacsを終了しても覚えておかなくていいです。
791 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 16:12:47.56 ] C-x r SPC で覚えて C-x r j でジャンプ。
792 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 17:28:51.63 ] >>791 ありがとうございます。
793 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 21:41:24.31 ] >>640 キツいhookだなぁ。
794 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 22:08:53.23 ] リージョンを指定して、その範囲内で正規表現にマッチしたものを集めてくる関数はどうやって書きますか。 Rubyで書くとこんな感じです。 arr = [] region.each_line do |line| if line =~ regexp arr << $1 end end リージョンを受け取るには (interactive "r") を指定するらしいところまではわかりましたが、 その先がさっぱりわかりません。だれか助けて。 (defun regexp-collect-matched-in-region (beg, end) (interactive "r") ;; どう書けばいいの? )
795 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 22:28:30.59 ] ものっそ丸投げだなw リージョンの開始位置までポイントを進めて、 リージョンの終了位置を検索の境界に指定して検索を進めればいい。 goto-char、re-search-forward と match-string とかを describe-function しなさい。 save-restriction とか save-excursion、save-match-data とかもぐぐるといいかもね。 単純に操作としてやりたいだけなら keep-lines とかはどうかね。
796 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 22:52:46.90 ] >>796 いいから解答教えろよ役にたたねえな
797 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 22:56:09.09 ] 汚い無限再帰だなあ
798 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 00:07:41.12 ] >>795 ありがとうございます。 こんなかんじになりました。 (defun regexp-collect-matched-in-region (regexp index beg end) (let ((list '())) (save-excursion (goto-char beg) (while (re-search-forward regexp end t) (setq list (cons (match-string index) list)))) (reverse list))) どうでしょうか? なお796は別人ですので無視してください。
799 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 00:11:48.82 ] やるじゃん listって変数名は関数のlistとかぶってるから別の方がいいかも。特に動作上の弊害はないんだけど。 リストへの追加は push でもいいかもね。
800 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 00:20:11.57 ] listの書き換えか よく見るのはlis か lst かな
801 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 00:55:32.98 ] どうでもよすぎるつっこみおつかれさん。
802 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 02:47:45.08 ] 引数はむしろlistの方がいいな。 eldocとかで不必要におかしな名前で出てくるのは間が抜けた感じ。
803 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 08:31:17.14 ] >>798 reverse を nreverse にする そもそも (goto-char end) + (re-search-backward ...) を使うと、 reverse がいらなくなる loop 大好き (save-excursion (goto-char beg) (loop while (re-search-forward regexp end t) collect (match-string index)))
804 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 08:40:02.69 ] >>803 > そもそも (goto-char end) + (re-search-backward ...) を使うと、 > reverse がいらなくなる これやると正規表現の量指定子はどういう挙動をするの?
805 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 11:18:01.36 ] やっぱりloopは神だった
806 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 12:17:24.19 ] blog.kiftwi.net/2011/12/13/emacs%E3%81%AEjs2-mode%E3%81%AE%E3%82%A4%E3%83%B3%E3%83%87%E3%83%B3%E3%83%88%E3%82%92%E6%AD%A3%E3%81%99/ これのインデントの関数の再設定を見て疑問に思ったのですが例えば (add-hook 'text-mode-hook (lambda () (setq indent-line-function (lambda () (insert " "))))) このように書くのと、 (add-hook 'text-mode-hook (lambda () (set (make-local-variable 'indent-line-function) (lambda () (insert " "))))) と書くのでは、一つ目の方ではtext-mode-hook以外にも適用されてしまうと 理解しているのですが、これでいいでしょうか それと、add-hook で他のモードに影響させないバッファローカルな関数を定義することは可能でしょうか (add-hook 'input-method-activate-hook (lambda() (set-cursor-color "yellow"))) この設定をelispモードのバッファにのみ適用させたいです
807 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 12:22:38.49 ] >>803 はたぶん意味を理解していない。
808 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 12:28:15.44 ] >>806 > と書くのでは、一つ目の方ではtext-mode-hook以外にも適用されてしまうと text-mode-hook が実行? されるバッファ以外にもだけれど、合ってる。 (add-hook 'emacs-lisp-mode-hook (lambda () (add-hook 'input-method-activate-hook (lambda() (set-cursor-color "yellow")) nil 'local)))
809 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 13:20:47.87 ] >>808 ありがとうございます。その例とadd-hookのdocを見て理解できました。
810 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 17:42:04.36 ] loop きもすぎる
811 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 18:14:36.03 ] reddit にでてたけど、Emacs にも Achievement System あったら楽しそうだな。 www.reddit.com/r/emacs/comments/ook6a/does_something_like_this_exist_for_emacs/
812 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 00:58:51.83 ] 横レスだが>>808 でインデントが整って見えるのは何故だろう 2chでは連続した空白スペースが省略されると思うんだが
813 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 01:17:52.31 ] ==   !=  
814 名前:806 mailto:sage [2012/01/21(土) 01:39:34.48 ] set-face-foregroundの色やset-face-bold-pの有効・無効を 特定のモードのについてのみ変更できますか?
815 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 01:56:08.64 ] >>813 なるほどnbspですか 2ちゃんブラウザからスレを開いてコピペすると確かにそれがありました
816 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 02:11:56.20 ] >>814 出来ない。
817 名前:806 mailto:sage [2012/01/21(土) 02:14:14.19 ] >>816 ありがとうございます。 いろいろやってみましたが設定できなかったのでどこか間違っているのか 迷っていました
818 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 14:41:33.95 ] Emacsで、パターンに一致した行を見えなくすることはできますか。 (削除じゃなくて) たとえばソースコードで「//」で始まる行だけを一時的に隠したいとか、 「<!ーー ーー>」の行を隠したいとか。 自分で指定したパターンで隠してくれるのを望みます。 あと、行数もつけてくれたら最高。 10: foo 14: bar ← 11行目から13行目までが隠されていることがわかる 15: baz
819 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 15:02:20.11 ] hideshow は? 隠す部分の開始パターンと終了パターンが指定出来るよ。しかもEmacsに標準でついてくる。 describe-function hs-minor-mode ね。 あと、linum-mode で行表示しててもちゃんと隠された行はスキップされる。
820 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 15:03:38.80 ] ただ、隠したり表示したりのキーバインドが結構押しづらいから 自分で使いたい部分だけバインドしなおしたほうが便利だとは思う。 自分は表示/非表示切り替えの hs-toggle-hiding だけ C-c C-SPC にバインドしなおして それだけ使ってる。
821 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 15:28:21.01 ] >>819-828 ありがとうございます。ためしてみます。
822 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 23:21:55.04 ] emacs lisp テクニックバイブルの36ページに入力補完として completion-at-point(M-tab)が紹介されていますが anythingを導入したらその機能が置き換えられてしまいました 調べてみたらanything-complete.elのanything-lisp-complete-symbol-partial-matchとなったようです 具体的には入力補完の例として本で説明されている bu-f-naでbuffer-file-nameを補完したいです そこでM-tabだけはcompletion-at-pointの機能を復活させて それ以外はanything-completeを利用したいのですが どうすればよいでしょうか
823 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 23:23:15.56 ] 著者に聞きなさい。
824 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/22(日) 10:34:28.62 ] anything を使ってないから詳しくはわからんけど、 anything-complete の中で define-key してるキーマップ名を探して (define-key キーマップ名 (kbd "<M-TAB>") nil) とでもして機能を殺せばいい。
825 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 21:19:01.13 ] elcってバージョン間の互換性薄かったりするけど、 複数バージョンの emacs 使ってる人は ~/.emacs.d 以下の elc ファイルってどうやって共有させてるの?
826 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 21:44:20.39 ] そもそもバイトコンパイルほとんどしてない。 というか互換性薄かったっけ? 暗号系のやつは遅いので仕方ないからコンパイルしてるけど互換性で問題になっ たことない。
827 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 21:48:01.40 ] バージョン間の違いを吸収するときは バージョンごとに違うディレクトリを掘って、 ~/.emacs.d/22 ~/.emacs.d/23 それぞれに el ファイルとか elc 放り込んでる。 で (setq load-path (cons (format "~/.emacs.d/%s" emacs-major-version) load-path)) みたいなことをしてる。
828 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 21:59:21.84 ] 軽くぐぐってみると emacs19とemacs20で非互換だったとか Meadowの1系と2系で非互換だったとかそんなぐらいだなぁ。 今emacs24でコンパイルしたのをemacs23で読み込ませても特にエラーにはならなかった。
829 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 22:24:54.69 ] >>828 経験したパターンでは、emacs 本体で供給している macro の展開で NG とかある。個人的な感想では emacs23 と 24 の elc 共用は止めた方が 良い。読み込んだぐらいではエラーにならないけど、使っているうちに 理由の分からんエラーになる。知っている限りでは、Mew と emacs-w3m はこれに該当する。
830 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 22:34:06.05 ] byte-compile-dest-file-function に version specific なディレクトリに elc 突っ込むような関数定義して load-path ではその ディレクトリが先頭に来るようにするってのはどうだろう。 el と elc が別ディレクトリだと describe-function とかした後に関数定義に飛べなかったような記憶があるけど・・・
831 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 22:36:40.32 ] >>829 あー、なるほど。elcのフォーマットの問題ではなく、コンパイル時に展開されちゃう マクロの内容に差があった場合に問題になるってことか。
832 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:06:00.78 ] twitter.com/kazu_yamamoto/status/161620210237964288 > ELisp は Scheme より Common Lisp に近いため、Common Lisper がたくさん ELisp を書いていますが、ELisp っぽく書けてはいないので、require 'cl しているコードはお勧めできません。 さて、自称上級者はどういう反応をするか。
833 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:11:14.50 ] そういや昔、山本さんが誰か知らずにfletとは云々ってブログにコメントしてた人がいたな。
834 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:18:18.25 ] だから何?
835 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:20:55.37 ] >>832 自称上級者って有料メルマガの人とかか。 あの人はあくまで設定の事だけでLispの何たるかはわかってなさそう。
836 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:23:31.92 ] かずさんってEmacsアンチになってるもんだと勝手に勘違いしてたわ
837 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:25:49.15 ] アンチには違いないと思うけど。 真っ当なグラマならこんな古くさい言語を必死に宣伝したりしない。
838 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:26:55.34 ] そうするとツイッターアイコンが赤いEmacsアイコンなのはそういう意味なのか。
839 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:27:26.28 ] Haskellerになって久しいもんな。
840 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:27:49.92 ] あれはfiremacsのやつ。と思う。
841 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:28:58.55 ] あんな必死になって著書にまで (require 'cl) の有用性を書いてた人にとっ ては人格を否定されたも同然。でも、反論する度胸はないだろうな。(⊃д`) いい加減ああいううさん臭いのに騙されるのやめてほしいわ。
842 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:41:10.32 ] そもそもあの本売れたの?
843 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:42:20.69 ] 新人にEmacsの有用性を説く奴は信用ならん るびきちはもはや老害だろう
844 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:43:38.30 ] 卒論間際の大学生とか暇な院生の方がelispの生産性高いイメージがある。
845 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:45:13.51 ] ていうかあいつすでにelispまったく書いてないじゃん。家で何やってんだろ。 実はもうアンチに変わってるんじゃないか。
846 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 15:12:10.87 ] メルマガ書くのでいっぱいいっぱいになってるんとちがうの。 どんぐらいの密度の内容の文章書いてるのかはわからんけど。
847 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 16:07:20.83 ] common lispのreplのように scratchバッファでもs式のインデントを自動的に行いたいのですが (elispモードのように) どうすればよいのでしょう
848 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 16:15:12.98 ] (define-key lisp-interaction-mode-map (kbd "C-m") 'newline-and-indent)
849 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 17:20:35.10 ] .emacsに書いている設定をinit-loaderで分割するときには eval-when-compileをところどころ使わなくてはならないようですが、 eval-when-compile を使うのはdefmacroの設定が含まれているライブラリや defmacroを自分で書いたときだと理解しています それでいいでしょうか
850 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 18:13:50.57 ] それでいいです。
851 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 18:36:47.82 ] 本当ですか?嘘を嘘と見抜けないと 2ch 使えないので念のための確認です。
852 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 18:39:00.73 ] ほんとですよ。
853 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 18:53:17.11 ] >>848 ありがとうございます。うまくいきました。
854 名前:849 mailto:sage [2012/01/24(火) 19:27:55.67 ] >>850 どうも。 >>851 誰ですか?
855 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 19:34:23.85 ] \ / \ 丶 i. | / ./ / \ ヽ i. .| / / / \ ヽ i | / / / \ -‐ ー __ わ た し で す -- 二 / ̄\ = 二  ̄ | ^o^ |  ̄ -‐ \_/ ‐- / / ヽ \ / 丶 \ / / / | i, 丶 \ / / / | i, 丶 \
856 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 21:22:50.21 ] なんとなくなつかしさを覚えた。
857 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 22:39:23.06 ] とりあえずrbkt一派のパッケージは使わない方がいいということが分かった。 ソースも参考にしない方がよさそうだな。メルマガも解約するわ。
858 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 22:45:52.45 ] あの情報商材丸出しの紹介文読んだ上で契約してる時点ですでにどうかしてると思うよ。
859 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 22:53:17.03 ] 若いやつだろ。 よく大学でオタっぽい友達いないやつが宗教とか詐欺にひっかかってるだろ。
860 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/25(水) 14:49:11.77 ] 情報商材ワロタw
861 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 08:56:09.76 ] >>859 年配の方ですか?
862 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 09:19:20.64 ] 革命家rbkt釣れた。
863 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 09:40:35.21 ] 先生のアイデンティティが揺らいでいる。可哀そう…
864 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 13:33:55.60 ] 盛り上がってるところ申し訳ないのですが、質問させてください。 (add-to-list 'hoge '(fuga0 "piyo")) (add-to-list 'hoge '(fuga1 "piyopiyo")) みたいな記述を何度も書くのがアホらしいので、consとかappendとかを駆使して纏めてみようとしたのですが上手くいきません。 どうしたらいいのでしょう。
865 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 13:58:32.25 ] defmacroをどうぞ GNU Emacs Lispリファレンスマニュアル: 12. マクロ www.fan.gr.jp/~ring/doc/elisp_20/elisp_13.html
866 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 14:47:36.03 ] こういう事? (dolist (e '((fuga0 "piyo") (fuga1 "piyopiyo"))) (add-list 'hoge e))
867 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 15:34:48.39 ] >>865 マクロ…おいおい覚えていきます…。 >>866 (dolist (e '((fuga0 "piyo")) '((fuga1 "piyopiyo"))) (add-to-list 'hoge e)) としたらうまくいきました。ありがとうございます!
868 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 15:45:12.49 ] 何なのこのひと。。
869 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 15:46:51.63 ] >>867 訂正: (dolist (e '((fuga0 "piyo") (fuga1 "piyopiyo"))) (add-to-list 'hoge e)) です。
870 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 17:10:23.76 ] こうだと思ったのに……。 (dotimes (i 9) (add-to-list 'hoge (list (intern (format "fuga%d" i)) (let* ((length (length "piyo")) (str (make-string (* (1+ i) length) 0))) (dotimes (j (1+ i)) (store-substring str (* j length) "piyo")) str))))
871 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 17:37:22.16 ] ウルセーバカ
872 名前:名無しさん@お腹いっぱい。 [2012/01/27(金) 00:30:35.18 ] >>818 2年位前、コメントアウト部分を見えなくするマイナーモードを書いたけど、 インデントや空白・tabのところで表示が崩れて断念したな・・・ もっかい作ってみようかな。 自分は「開始と終了」という考え方じゃなくて「文字のface」で考えました。
873 名前:名無しさん@お腹いっぱい。 [2012/01/27(金) 12:48:49.73 ] それって hilight が使ってるコメントの開始終了を hideshow に渡すのと比べて何が嬉しいの?
874 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/29(日) 00:03:22.47 ] FooBar()みたいな関数名をfoo_bar()に変えるにはどうすればいい? とりあえずM-%でやると、Foo_Bar()みたいになっちまう・・ そんでFoo_Barをfoo_barにしようとしても、やっぱりFoo_Barのまま。 一括置換でない方で頼む。
875 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/29(日) 01:13:55.45 ] 自決した。 foobarと検索してから置換してたらだった。ちゃんとFooBarで検索してから M-%で大丈夫だった。
876 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/29(日) 17:48:19.27 ] 腹切ったらしい