トップページunix
1001コメント251KB

Emacs Part 32

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2009/10/24(土) 04:05:36
諸君、ここはかの有名な最強の汎用環境/エディタ、「Emacs」のスレッドである!

スレッドルールは以下の通り:
* 初心者にやさしく接すること
* Emacsユーザーとの仲間意識をしっかり持って、馴れ合いを怠らないこと
* このスレでのコミュニケーションを前スレ以上に活発にすること (用がなくとも、毎日の書き込みが理想)
* 部外者/非Emacsユーザーの書き込みも可。但し、女性の書き込みは場の雰囲気を乱すので不可
* 自分で書いた便利なコード/アイディアは他人とシェアしようと試みること

GNU Emacs - Free Software Foundation (FSF) http://www.gnu.org/software/emacs/
EmacsWiki http://www.emacswiki.org/
Emacs 電子書棚 http://www.bookshelf.jp/
Emacs CVS Repositories [Savannah] http://savannah.gnu.org/cvs/?group=emacs
Emacs Lisp List http://www.damtp.cam.ac.uk/user/sje30/emacs/ell-date.html
ダウンロード http://ftp.gnu.org/pub/gnu/emacs/
Windows用 NTEmacs の最新ダウンロード https://sourceforge.jp/projects/ntemacsjp/files/

CVS先端: cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs
Git: git clone git://git.savannah.gnu.org/emacs.git emacs
        _/l__
     /   く
    | ´ω`  | ぐにゅう emacs
     |    C='|
前スレ http://pc12.2ch.net/test/read.cgi/unix/1251665639/

Emacs は世界を救う!
0320名無しさん@お腹いっぱい。2009/11/15(日) 03:06:12
普通eshellだろう
0321名無しさん@お腹いっぱい。2009/11/15(日) 03:59:10
普通はc-shell
0322名無しさん@お腹いっぱい。2009/11/15(日) 04:00:01
eshellでリダイレクション時にstderrとstdoutが分けられなくて挫折した。
0323名無しさん@お腹いっぱい。2009/11/15(日) 09:46:59
ここでterm-modeを知ってからそればっかりつかまってます
0324名無しさん@お腹いっぱい。2009/11/15(日) 14:44:02
M-x term が下手すると普通のターミナルから期待できる機能すべてを
補ってくれることはなんとなく分かるが、

curseなどで書かれた cli ツールの表示もbashなどと全く同じように
されるの? これができないと安心して使えない。
0325名無しさん@お腹いっぱい。2009/11/15(日) 15:17:59
>>324
自分でやってみたが、色が別のになってたり、
表示がちょっとズレてたりした。
やっぱ完全対応はしてないみたいだね。

ということで、まだ M-x term の本使用はホールドとなりました。
0326名無しさん@お腹いっぱい。2009/11/15(日) 18:00:41
hold
# 1. 持ちこたえる、耐える、?の状態{じょうたい}のままである
# 2. 〔天候{てんこう}などが〕持続{じぞく}する
# 3. (?に)有効{ゆうこう}である、適用{てきよう}できる
0327名無しさん@お腹いっぱい。2009/11/15(日) 18:16:11
>>326
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1030090170
0328名無しさん@お腹いっぱい。2009/11/15(日) 18:30:28
>>326
小学生?
0329名無しさん@お腹いっぱい。2009/11/15(日) 19:02:17
>>325,327
サラリーマン?
0330名無しさん@お腹いっぱい。2009/11/15(日) 19:24:47
なにこのどっと疲れる流れ
0331名無しさん@お腹いっぱい。2009/11/15(日) 19:24:57
.疲れる
0332名無しさん@お腹いっぱい。2009/11/15(日) 23:33:57
>>328
くやしいのうw
0333名無しさん@お腹いっぱい。2009/11/16(月) 00:39:54
くやしいです
0334Zeno ◆5nZQbNmQPs 2009/11/16(月) 00:48:56

貴様等、くだらん書き込みはその辺にしておけよ。

>>263
当たり前のルールを守れん人間は残念ならが少なくない。
すべき注意をしてくれた事に感謝するぞ、君。
0335名無しさん@お腹いっぱい。2009/11/16(月) 00:54:39
疲れる流れが加速
0336名無しさん@お腹いっぱい。2009/11/16(月) 01:00:23
疲れるコテが来たなw
0337Zeno ◆5nZQbNmQPs 2009/11/16(月) 01:12:05

>>335
君にはアドレナリンが足りんのだ。

>>335
お前は吾のことをわかっていない。
0338名無しさん@お腹いっぱい。2009/11/16(月) 03:09:59
>>337
レス番うち間違えるZenoさましゅてきっ キャッキャッ

ところで>>322の件ってどうにかなります?
0339Zeno ◆5nZQbNmQPs 2009/11/16(月) 12:14:18

>>338
吾のファンかね?

>>322
デフォルトでは対応していないようだ。
eshell-error-handle が使われている箇所を defadvice してしまえば
無理矢理対応させることもできなくはなさそうだが、お勧めはできない。

$ bash -ci 'foo > b' # stdout
$ bash -ci 'foo 2> b' # stderr

で代用しておけ。
0340Zeno ◆5nZQbNmQPs 2009/11/16(月) 12:17:05

ちなみに、もしファイルではなく、 "eshell上で"
stdout、stderrの内容が見たいのであれば、

$ bash -ci 'foo > /dev/null' # eshell に stderr の文字列が表示される。
$ bash -ci 'foo 2> /dev/null' # eshell に stdout の文字列が表示される。

とするべきだ。わかったのか?
0341名無しさん@お腹いっぱい。2009/11/16(月) 16:13:20
EmacsLispでディレクトリの存在を確認することはできますか?
ディレクトリがあれば、あるスクリプトを実行する。 ということがしたいです。
0342Zeno ◆5nZQbNmQPs 2009/11/16(月) 16:18:24

>>341
(when (file-directory-p <your-dir>)
(shell-command <command>))
0343名無しさん@お腹いっぱい。2009/11/16(月) 16:21:17
file-directory-p。
M-x aproposでそれらしい単語入れれば探せるよ。
0344名無しさん@お腹いっぱい。2009/11/16(月) 16:22:23
ありがとうございます。
確認してみます。
0345名無しさん@お腹いっぱい。2009/11/17(火) 02:45:48
質問です
バッファ遷移なしでshell(bash)の命令を飛ばしたいです
今はeshellを常駐させてコンソールを叩いているのですが、
もっとスマートな方法(プラグインなど)で実現できないでしょうか
(Carbon EmacsなのでC-zでTerminalと行き来するのは面倒なのです)

anythingでやっているのをどこかで見たような気がするのですが、失念してしまいました
0346名無しさん@お腹いっぱい。2009/11/17(火) 08:53:32
すぐ2つ前にaproposって書いてあるんだから探せよ。
shellのスペルがわかってりゃ出てくるだろ。
03473452009/11/17(火) 20:24:45
解決しました
M-x shell-command RET あるいは M-! で可能だったんですね
お恥ずかしい もっとドキュメント読まないと
0348名無しさん@お腹いっぱい。2009/11/17(火) 22:43:11
そんな基本的なところで引っかかるもんなのか
0349名無しさん@お腹いっぱい。2009/11/18(水) 21:17:04
completing-read はインプットを文字列の始まりからマッチして補完してくれますが、
substring を受け取り、それをマッチして補完してくれる関数はありませんか?

例えば、インプットが "cde" で、マッチング対象のリストが
'("abc" "abcd" "abcdefg" "abcdefgh")
だった場合、"abcdefg" を返すといったイメージです。
0350名無しさん@お腹いっぱい。2009/11/18(水) 22:18:51
completing-readにpredicateを与える。
0351名無しさん@お腹いっぱい。2009/11/19(木) 05:07:39
>>350
そんなんじゃできないと思うが?
0352名無しさん@お腹いっぱい。2009/11/19(木) 05:44:46
>>349
"bacdefg"や"acde"が入っていた場合はどうなってほしいんだ?
0353名無しさん@お腹いっぱい。2009/11/19(木) 10:59:07
これじゃだめ?
(defun match (arg)
(string-match substr (car arg)))
(progn
(setq substr (read-string "input: "))
(completing-read "input: " '(("abc") ("abcd") ("abcdefg") ("abcdefgh")) 'match))
0354名無しさん@お腹いっぱい。2009/11/19(木) 20:13:27
*Compile-Log*が表示されるときにwarningが1行でもフレームの半分を乗っ取ってしまうのが嫌でなにかないかなと検索したら
このスレの過去ログが引っかかりました.でも,重要なところが過去ログに載っていませんでした.
*Compile-Log*ではなくても,指定したバッファ名の時,そのバッファが生成されたときに自動で指定した高さになるとかできませんか?
temp-buffer-resize-modeは考えていたのとは違いました.
0355名無しさん@お腹いっぱい。2009/11/19(木) 20:23:12
>>354
どの過去ログ?
手元にあれば掘り出すけど。
0356名無しさん@お腹いっぱい。2009/11/19(木) 20:34:10
shrink-window-if-larger-than-buffer ?
0357名無しさん@お腹いっぱい。2009/11/20(金) 01:34:16
>>355
http://sea-mew.jp/nox/modules/webarc/2ch/emacs/1251665639-14.html
ここのサイトで保存されている寸前がみたかったのですが・・・
03583542009/11/20(金) 01:39:29
>>356
やりたいのはそれです。
しかし、Compile-Logのバッファに表示されているのが4行程度でしたが、
M-x shrink-window-if-larger-than-bufferでも、C-x -でも反応なし。
上のコマンドであれば4行+1,2行まで高さを縮めてくれるのではないかと思っています。
それがまちがいなんですかね?
0359名無しさん@お腹いっぱい。2009/11/20(金) 02:50:20
>>357
701は
(temp-buffer-resize-mode t)
だって。
03603542009/11/20(金) 03:06:54
>>359
ありがとうございました!でも、354で書いているとおり、それではありませんでした。
part31の669さんとおなじようにtemp-buffer-resize-modeはそれはそれでありがたかったです。
0361名無しさん@お腹いっぱい。2009/11/20(金) 07:44:04
(let ((win (get-buffer-window "*Compile-Log*")))
(if win (fit-window-to-buffer win)))
0362名無しさん@お腹いっぱい。2009/11/21(土) 03:06:57
Emacsで作られた有名なアプリケーションを教えてください
0363名無しさん@お腹いっぱい。2009/11/21(土) 06:17:59
>>362
emacs
0364名無しさん@お腹いっぱい。2009/11/21(土) 13:57:14
最新のだが、emacsのフォントサイズがGTK+で普通になったな。
以前まではデフォが大きすぎたが、普通のサイズになった。
0365名無しさん@お腹いっぱい。2009/11/21(土) 13:59:44
いいかげんすてろ
03663642009/11/21(土) 14:01:49
失礼。先程はサゲ忘れてしまったから、
一匹のアホが釣れてしまった。
0367名無しさん@お腹いっぱい。2009/11/21(土) 15:05:23
>>364
でもなんか描画遅くない?
0368名無しさん@お腹いっぱい。2009/11/21(土) 15:15:46
>>367
いや、それは二ヶ月前の話。
描画を遅くした人は自己責任で問題部分を修正し直してた。
ロードはそこまでだが、描画は前よりも随分早くなった。
0369名無しさん@お腹いっぱい。2009/11/21(土) 15:34:12
いいかげんすてろ
0370名無しさん@お腹いっぱい。2009/11/21(土) 16:19:59
>>368
いや 17 日あたりの変更から遅いと思う。
マルチバイトが含まれてなければ相変わらず速いけど。
日本語テキストのスクロールとか遅くないですか?
0371名無しさん@お腹いっぱい。2009/11/21(土) 16:20:29
emacs は元々遅いよ。
0372名無しさん@お腹いっぱい。2009/11/21(土) 16:32:50
だから SU TE RO !!!
0373名無しさん@お腹いっぱい。2009/11/21(土) 16:44:29
差分してみりゃいいんじゃない?
どこが原因か。
0374名無しさん@お腹いっぱい。2009/11/21(土) 17:33:24
俺は通りすがりのvi使いなんだがこのあいだ納入期限近くで
焦っていたemacs使いが客先でデバッgグをしていた
相当せかされていたらしく「これを修正しますから少し端末お借りします」
というとログインして自慢のemacsを起動するコマンドを叩いたが
emacs: Command not found と出る始末「え?あ?emacsないの?」
とか言っていたらしいがもうだめ
顧客は「emacsなんて重いエディタなんて使ってませんよ本当に納期間に合うんですか?」
とか更にプレッシャーをかけてきてそのemacs使いはたじたじになっていた
俺は謙虚に「それなら私がやりましょうか?」というと「vi使いはだまってろ俺でもviくらい使えるわ」
とか言っていたがそいつがviで文字入力するたびに「プ・・・プ・ププ」とビープ音が
なっていてそいつがviを使いこなせているかどうかは周りの人はすぐに分かったようだった
殆どの人は呆れが鬼なっていたところに「俺がやるよ」と言うと
「勝ったと思うなよ・・・・」と囁いてきたので「もう勝負ついてるから」と返すと
emacs使いは両手をキーボードに叩きつけて悔しがっていた
これがemacs偏狭者のアワレな末路
0375名無しさん@お腹いっぱい。2009/11/21(土) 17:39:34
このコピペ久しぶりにみた
0376名無しさん@お腹いっぱい。2009/11/21(土) 18:48:12
すいません、教えてください。
Google で emacs 関数 結果 出力 表示 などで検索していましたが、見つけられませんでした。

lisp-interaction-mode で関数を実行すると、出力が適当なところで省略されますが、これを全て表示させる方法を探しています。

ご教示いただけると幸いです。
0377名無しさん@お腹いっぱい。2009/11/21(土) 18:48:40
パックレジストリがマンマンです!!!
使用機種はパックです!!!
おしえてください!!!
0378名無しさん@お腹いっぱい。2009/11/21(土) 18:51:30
>>376
enter
0379名無しさん@お腹いっぱい。2009/11/21(土) 19:00:35
解決しました。
Google で lisp-interaction-mode 省略 を検索したら出ました。

(setq eval-expression-print-length 100)
(setq eval-expression-print-level 100)

などとすると、表示数をコントロールできるようでした。
お騒がせしました。
0380Zeno ◆5nZQbNmQPs 2009/11/21(土) 19:07:18

> (setq eval-expression-print-length 100)

ではなく、 (setq eval-expression-print-length nil)
にしておけば制限は無くなる。こちらをお勧めするがな。
0381名無しさん@お腹いっぱい。2009/11/21(土) 19:44:36
>>380

ありがとうございます。
そうします。
0382名無しさん@お腹いっぱい。2009/11/21(土) 21:12:55
Emacsがクラッシュする直前に何が起こってるのか調べたいです。

*Message* バッファなどに何か書き込まれるたびに
その内容をファイルに保存する方法はありますか?
0383名無しさん@お腹いっぱい。2009/11/22(日) 13:05:32
message を override すれば。

(defun message (&rest s)
...
)
0384名無しさん@お腹いっぱい。2009/11/22(日) 14:20:14
>>382
messageをdefadviceして、そのadviceでファイルに保存する
コードを書けばいいのではないか。

0385名無しさん@お腹いっぱい。2009/11/22(日) 14:23:54
俺もそう思って今やってみたけど、上手くいかない。

(defvar message-logfile "/tmp/message.log")

(defadvice message (after message-to-file activate)
"append message to file"
(with-current-buffer (get-buffer-create "*message-logfile-temp*")
(erase-buffer)
(insert (apply 'format (ad-get-args 0)))
(insert "\n")
(set-buffer-modified-p nil)
(write-region (point-min) (point-max) message-logfile t)))
0386名無しさん@お腹いっぱい。2009/11/22(日) 15:09:57
(ad-activate 'message)
してないんじゃないか?
こっちではそれで出来たよ。

03873852009/11/22(日) 16:13:33
>>386
急いで書いたんで、本当はC-x C-cで終了できなくなった問題があった。
今やると大丈夫みたい。
ad-activateはいらないと思う。
0388名無しさん@お腹いっぱい。2009/11/22(日) 16:40:06
次のスレのタイトルは
「Emacsの宿題片付けます [33 times]」にしようよ。
0389名無しさん@お腹いっぱい。2009/11/22(日) 16:44:46
>>388
まあそういうな。結構ためになってる。無論神回答のおかげで。
0390名無しさん@お腹いっぱい。2009/11/22(日) 18:05:13
[33 times]はいいなw
0391名無しさん@お腹いっぱい。2009/11/22(日) 18:54:06
>>390 = >>388
自演するなよ。
本気でつまらんわ。
0392名無しさん@お腹いっぱい。2009/11/22(日) 19:14:11
いや本気でしてないんだが
これだからIDなし板は困るわ
0393名無しさん@お腹いっぱい。2009/11/22(日) 19:19:30
嫌なら常時トリップでも付けてろ
0394名無しさん@お腹いっぱい。2009/11/22(日) 20:09:08
嫌ではない
0395名無しさん@お腹いっぱい。2009/11/22(日) 20:17:36
困るー>嫌でないから常時トリップ付けないー>困る
ー>嫌でないから常時トリップ付けないー>困る
ー>嫌でないから常時トリップ付けないー>困る
ー>嫌でないから常時トリップ付けないー>困る

<<<<<<<<<ずーと困ってろ>>>>>>>>>>>
0396名無しさん@お腹いっぱい。2009/11/22(日) 20:20:18
誰が誰と戦ってるの?
0397名無しさん@お腹いっぱい。2009/11/22(日) 20:24:01
StallmanとGosling
0398名無しさん@お腹いっぱい。2009/11/22(日) 20:24:50
ああそんな人も居たね
0399名無しさん@お腹いっぱい。2009/11/22(日) 23:00:03
どうしておじさんたちはさきのないemacsをつかいつづけるの?
しぬまでviにれっとうかんかんじていきるの?
0400名無しさん@お腹いっぱい。2009/11/22(日) 23:03:23
emacsもviもVisualStudioもXcodeも使うよ。
0401名無しさん@お腹いっぱい。2009/11/22(日) 23:06:23
まぁなんでも使うわな
0402名無しさん@お腹いっぱい。2009/11/22(日) 23:12:05
emacs使いでvi使えない奴っているのか?
0403名無しさん@お腹いっぱい。2009/11/22(日) 23:15:47
いないだろ
vi使ってる奴だってemacs使えないわけじゃないだろし。

>>400
Xcodeは実機がないから使えねぇorz
0404名無しさん@お腹いっぱい。2009/11/22(日) 23:16:09
俺hjklとiaxdd:wqぐらいしか知らない
はっきり言って使えないも同然
0405名無しさん@お腹いっぱい。2009/11/22(日) 23:20:33
ggとGを知ってる俺の勝ちだな
0406名無しさん@お腹いっぱい。2009/11/22(日) 23:22:58
Firefoxのvimperatorを使い始めてからviのキーバインドも覚えるようになった
0407名無しさん@お腹いっぱい。2009/11/22(日) 23:32:53
Pを使える俺にかなうものはいまい
0408名無しさん@お腹いっぱい。2009/11/22(日) 23:41:05
Emacs22 on FreeBSD7.2でemacsを-nwで使っているとき、
C-zやC-x C-cで端末に戻ってもemacsの表示内容が消えないのですが、
どういう設定を.emacsに加えればよいんでしょうか?

ちなみにsshで他のマシンにログインして同じ事をするときちんと消えるので、
端末エミュレーターの問題ではなくてemacsの設定だと思います
0409名無しさん@お腹いっぱい。2009/11/22(日) 23:44:43
TERMの値が違うんじゃね?
0410名無しさん@お腹いっぱい。2009/11/22(日) 23:47:35
>>408
$ jot 100
0411名無しさん@お腹いっぱい。2009/11/22(日) 23:47:47
>>409
解答ありがとうございます。
しかし残念ながら消える方も消えない方もTERMの値は同じ(xterm)でした
04124082009/11/22(日) 23:54:14
>>410
ありがとうございます。
どちらも同じ動作に見えます。
0413名無しさん@お腹いっぱい。2009/11/23(月) 05:42:29
>>406
Keysnailマジオススメ
0414名無しさん@お腹いっぱい。2009/11/23(月) 09:58:47
2009/10/23 に立ったばかりの Wanderlust その6 スレが消えてる。
消されたのか?

0415名無しさん@お腹いっぱい。2009/11/23(月) 10:56:51
>>414
dat落ちになった。
0416名無しさん@お腹いっぱい。2009/11/23(月) 11:08:03
3年以上書き込みがなくても dat 落ちしない unix 板で、もう dat 落ちするのか?
0417名無しさん@お腹いっぱい。2009/11/23(月) 11:13:17
即死判定じゃないの?
0418名無しさん@お腹いっぱい。2009/11/23(月) 11:13:26
書き込み数によるはず。
詳しくは分からないけど、レスが一定数なくて
ある程度書き込みがないとdat落ちするんじゃなかったっけ?
0419名無しさん@お腹いっぱい。2009/11/23(月) 14:24:24
>>418
Yes.
0420名無しさん@お腹いっぱい。2009/11/23(月) 14:55:56
もしよろしければ、教えてください。

Emacs23.1でyasnippet を導入しました。yasnippet 自体は正常に動いているのですが、anything-c-yas-complete を実行すると、anythingされませんでした。以前Meadowでやっていた時には上手くいっていたので、 Emacs 22の環境で試してみましたが同じでした。

MacのGNU Emacs で実行すると以下のような *Messages* が出力されています。


setq: Wrong type argument: sequencep, #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ("Command that works on region or word" [cl-struct-yas/template ";; example of a command that works on current word or text selection
(defun down-case-word-or-region ()
\"Lower case the current word or text selection.\"
(interactive)
(let (pos1 pos2 meat) (if (and transient-mark-mode mark-active) (setq pos1 (region-beginning) pos2 (region-end)) (setq pos1 (car (bounds-of-thing-at-point 'symbol)) pos2 (cdr (bounds-of-thing-at-point 'symbol))))
; now, pos1 and pos2 are the starting and ending positions
; of the current word, or current text selection if exists
;; put your code here.
$0
;; Some example of things you might want to do
(downcase-region pos1 pos2) ; example of a func that takes region as args
(setq meat (buffer-substring-no-properties pos1 pos2)) ; grab the text.
(delete-region pos1 pos2) ; get rid of it
(insert \"newText\") ; insert your new text ))
" "Command that works on region or word" nil nil "/Users/hoge/site-lisp/yasnippet/snippets/text-mode/emacs-lisp-mode/word-or-region" nil] ...))

ご掲示いただけると幸いです。

anything のバージョン : "$Id: anything.el,v 1.211 2009/11/06 21:42:58 rubikitch Exp rubikitch $"
yasnippet のバージョン : ;; Version: 0.6.1
anything-c-yasnippet のバージョン : Version: 0.6
■ このスレッドは過去ログ倉庫に格納されています