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

Emacs part 18

■ このスレッドは過去ログ倉庫に格納されています
0001フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/03/02(木) 23:19:32
Emacs環境について語れ

GNU Emacs - GNU Project - Free Software Foundation (FSF)
http://www.gnu.org/software/emacs/

emacs - SCM: CVS Repositories [Savannah]
http://savannah.gnu.org/cvs/?group=emacs

EmacsWiki
http://www.emacswiki.org/

Emacs 電子書棚
http://www.bookshelf.jp/
0399名無しさん@お腹いっぱい。2006/04/02(日) 00:51:21
emacs lispからcursesあるいはterminfoを使ってキャラクタベースのGUIをemacs上で表示させたいんだけど
なにかそういったことができるライブラリはないでしょうか?
0400名無しさん@お腹いっぱい。2006/04/02(日) 01:13:56
>>398
dired-guess-shell-alist-user の方が
dired-guess-shell-alist-default よりも優先されるので
(setq dired-guess-shell-alist-user '(("\\.lzh$" "lha x")))
と書いとけばよい。
0401名無しさん@お腹いっぱい。2006/04/02(日) 01:33:21
>>400
できました! どうもありがとうございます。
0402名無しさん@お腹いっぱい。2006/04/02(日) 13:57:47
ttp://lists.gnu.org/archive/html/emacs-devel/2006-04/msg00030.html

April foolかよ
0403名無しさん@お腹いっぱい。2006/04/03(月) 00:14:30
既にオープンしてるバッファをリロードするときに
C-x f より簡単な方法ってある?
0404名無しさん@お腹いっぱい。2006/04/03(月) 01:17:23
C-x C-v じゃなくて?
0405◆xlAOIq6jZw 2006/04/03(月) 01:51:52
http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=reopen-file
0406名無しさん@お腹いっぱい。2006/04/03(月) 23:09:47
http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=revert
こっちの設定のほうが自動的にやってくれるので簡単。
CVS等使って複数人数で開発しているなら必須の設定。
0407名無しさん@お腹いっぱい。2006/04/03(月) 23:19:38
なる。さんきゅ
0408名無しさん@お腹いっぱい。2006/04/03(月) 23:50:56
Emacsは反Unix的とか言われてるのを聞いたことがあるぜ。
EmacsもほかのUnix系プログラム同様それ単体では現実的な作業できないよな。
EmacsLispがやばいほど遅すぎるから。
サブプロセスの助けがあってこそEmacsが生きる。だから俺はUnix的だと思う。
Emacsだけじゃ何もできないってこった。

>>406
ひとりCVSとかでも必須だ。
0409名無しさん@お腹いっぱい。2006/04/04(火) 01:39:57
>>408
Gnusとかって外部プロセス使ってないよね?
まぁ確かに速くはないけど、別段遅いとも感じない。

eshellもcygwin入ってないときなんか、すごく役に立つし。
俺は常時eshellだが。

Calcもたまに行列計算する為に使ったりするが、簡単な計算
しかしないから、全く遅いと感じない。

最近、ERCがコミットされたから標準インストールでIRCができるし。

結構、Emacsだけでいろいろ出来る気がするが、そういう事じゃなくて?
0410名無しさん@お腹いっぱい。2006/04/04(火) 01:54:50
>Gnusとかって外部プロセス使ってないよね?
俺はmew使いだ。こねこたん(;´Д`)ハァハァ

>俺は常時eshellだが。
昔ためしに使ってみたけどクソ遅かった。

>Calcもたまに行列計算する為に使ったりするが、簡単な計算
EmacsLispがあるのになぜわざわざ電卓を?いらね。
複雑な計算はirb -mがあれば十分。

ansi-color.el遅すぎ。数千行を処理するのに10秒単位でかかる。おわっとる。
w3m.elのfontifyも遅すぎる。
0411名無しさん@お腹いっぱい。2006/04/04(火) 02:14:57
>>410
> 俺はmew使いだ。こねこたん(;´Д`)ハァハァ
俺も昔使ってたよ。でも、Gnusは始めっから入ってるし日本語の
問題もなさそうだから、あえて移行したよ。
でも、mewはいいメーラーだ。

> 昔ためしに使ってみたけどクソ遅かった。
そりゃ昔の話しだ。lsも速くなったよ。

> EmacsLispがあるのになぜわざわざ電卓を?いらね。
電卓ってなに?それに行列計算って言ってるじゃん。

> 複雑な計算はirb -mがあれば十分。
ちゅうか、ねーし。M-x calcで起動すんだからそれでいいだろ。

> ansi-color.el遅すぎ。数千行を処理するのに10秒単位でかかる。おわっとる。
数万行のソースを開いて、最終行に飛ぶのも1秒かかるかどうかだが。
ちゅうか、普通に編集できてるし。

> w3m.elのfontifyも遅すぎる。
w3mはよくしらん。
0412名無しさん@お腹いっぱい。2006/04/04(火) 02:30:59
あっそ、どうせ超高速なマシン使ってるんだろ
0413名無しさん@お腹いっぱい。2006/04/04(火) 02:41:13
>>412
最終行に飛ぶのは一瞬だが、ページアップ、ページダウンで移動すると
めっさ持たつくなw
でも、読み込みや特定行に飛ぶのは一瞬だから、行や画面単位で移動する
なんてのはナンセンスってことだろう。
TAGジャンプとか検索で移動しろってこった。
0414名無しさん@お腹いっぱい。2006/04/04(火) 02:42:16
それくらいやってる。Emacs使うなら常識だろうが。
0415名無しさん@お腹いっぱい。2006/04/04(火) 02:46:37
gnus の info を読んで、イチから設定して初めて emacs 的に一人前になったんだと思ったよ。俺は。
0416名無しさん@お腹いっぱい。2006/04/04(火) 02:50:07
この程度じゃ半人前以下
さまざまな編集コマンドを熟知し、EmacsLispを自由に操れるようになって初めて一人前
0417名無しさん@お腹いっぱい。2006/04/04(火) 02:53:10
俺はEmacs歴8年ほどになるが、まだまだ半人前
いいかげん自分の学習速度の遅さに呆れる
0418名無しさん@お腹いっぱい。2006/04/04(火) 03:10:20
この程度じゃ半人前以下
emacs のソースコードをいぢって CVS リポジトリにコミットし続けるようになって初めて一人前
0419名無しさん@お腹いっぱい。2006/04/04(火) 04:05:49
emacsを使って書いたコードやドキュメントが一人前ならemacs自体については別に半人前でもいいや
0420名無しさん@お腹いっぱい。2006/04/04(火) 04:13:02
ハゲ同
0421名無しさん@お腹いっぱい。2006/04/04(火) 05:09:47
いま君たちはRMSの半生を否定したよね(´・ω・`)
0422名無しさん@お腹いっぱい。2006/04/04(火) 06:02:05
Emacsが存在している。否定しようがない。
0423名無しさん@お腹いっぱい。2006/04/04(火) 10:11:07
>>409
ところで ERC 使い易い? Liece とどっちがいいのかな。
0424名無しさん@お腹いっぱい。2006/04/04(火) 10:45:49
俺はGNU真理教信者だ
RMS尊師に栄光あれ
0425名無しさん@お腹いっぱい。2006/04/04(火) 11:39:37
GPL3には賛同できないけどな。
0426名無しさん@お腹いっぱい。2006/04/04(火) 11:41:12
GPL3ってまだ考案中だっけ?
反発が強いとまた変わってくるんじゃないかと
どういう結論であれ俺は尊師についていきます
0427名無しさん@お腹いっぱい。2006/04/04(火) 11:52:48
正規表現オブジェクトを導入してほしい。
(re "foo")で正規表現がコンパイルされた形式に変換される。

lexical-letもprimitiveにすればより速いbytecodeを吐ける気がする。
だれかやってくれないかな。
0428名無しさん@お腹いっぱい。2006/04/04(火) 15:53:00
正規表現のコンパイル結果はキャッシュされてるのであまり効果なし
lexical-let は lexbind ブランチで作業中
0429名無しさん@お腹いっぱい。2006/04/04(火) 15:58:25
>>428
なるほど。あと文字列・配列・リスト関数のprimitiveを強化してくれると相当速くなりそう。
0430名無しさん@お腹いっぱい。2006/04/04(火) 21:54:31


だれか、リージョン比較(tool > compare > regions)の使い方詳しく教えてくれ・・・・

0431名無しさん@お腹いっぱい。2006/04/05(水) 00:13:04
C-h k (あるいは M-x describe-key RET)した後、そのメニューの項目を選んでみ。
0432名無しさん@お腹いっぱい。2006/04/05(水) 01:49:11
>>423
そんなにIRCをやってるわけじゃないんで比較出来ない。。。

あと、いざというときに役立つeshellのtips。

etagsはEmacsに標準でついてくるけどディレクトリを再帰的に
たどる機能がない。
普通はfindを使うんだろうけど、cygwinとか入れてないと使えない。
そんな時は、eshellを起動して以下を打ち込む。

$ ls -1 hoge/**/*.[ch] | etags -

で、eshellがhoge以下を再帰的にたどったリストを作ってetagsに渡してくれる。
0433名無しさん@お腹いっぱい。2006/04/05(水) 01:58:20
外部コマンドくらい面倒がらずに入れろよ
0434名無しさん@お腹いっぱい。2006/04/05(水) 02:10:23
外部コマンドを使ったら負けかなと思っている。
0435名無しさん@お腹いっぱい。2006/04/05(水) 03:59:10
はぁ?寝言は寝て言え
餅は餅屋だろうが
0436名無しさん@お腹いっぱい。2006/04/05(水) 05:55:19
Emacs星人にそんなこと言うな(シュワッチ!
0437名無しさん@お腹いっぱい。2006/04/05(水) 11:42:38
しょせんEmacsとてUnixコマンドよ
0438名無しさん@お腹いっぱい。2006/04/05(水) 11:43:24
言うの忘れたがわしもEmacs星人だ
0439名無しさん@お腹いっぱい。2006/04/05(水) 17:52:43
すいません、うんこはちゃんとコテ名乗ってください。
04404382006/04/05(水) 18:17:48
一人称は「わし」だが、わしは断じてウ○コではない
0441名無しさん@お腹いっぱい。2006/04/05(水) 20:48:57
multi-tty を使えば X 上で動いてる emacs を tty からも
同時にいぢれるんですよね?
0442名無しさん@お腹いっぱい。2006/04/05(水) 21:24:22
Emacs multi-tty support
http://lorentey.hu/project/emacs.html.hu

ただxemacsなら素のままで可能ですよ。

0443名無しさん@お腹いっぱい。2006/04/05(水) 23:20:01
>>442
xemacs はあまり好きじゃないんだ。
とりあえず multi-tty コンパイルしてみるよ。
0444名無しさん@お腹いっぱい。2006/04/05(水) 23:37:16
xemacsは亜流ですもんね
0445名無しさん@お腹いっぱい。2006/04/06(木) 03:35:53
>>137-141

128 のパッチだけだと不十分な場合あり。(GNU ld の
バージョンによる。)

Solaris 8 のころにすでにぶつかって困った問題です。
Solaris sparcでも solaris x86 でも起きます。

普通にconfigure してから
Makefile の LDFLAGS に
LDFLAGS=-z nocombreloc -L/usr/openwin/lib
を加える。

なので、ひるがえって こんな感じで configure する。

solaris10 の例:
env LDFLAGS="-z nocombreloc" MAKE=gmake CC="$CC" ./configure --prefix=/opt/csw/ --with-xim=no

"-z nocombreloc" を使うには gnu ld でないとうまくないはず。

細かなところは3年くらいまえの GCC のメイリングリストみると
でてますが、エッセンスは 128 の話と、その当時多少 clever に
なりはじめた ld の問題ということ。

22 だと unexec が賢くなってるのかな。(そうならちょっと驚き。)
単に上の -z nocombreloc がdefault で入っているだけ? (これもそうなら
ちょっと驚き。)

0446名無しさん@お腹いっぱい。2006/04/06(木) 08:16:13
python-mode を使用していますが、'''string ...''' と """string ..."""
をうまく font-lock してくれない場合があります。何かこの問題への対処法はありますか?
0447名無しさん@お腹いっぱい。2006/04/06(木) 12:23:11
具体的なソースを示してくれ。
ちなみにc?perl-modeやruby-modeならfont-lockが混乱しているときに
「# "」などと行末にいれるのが常套手段となっている。
python-modeなら「# """」とかかな。
0448名無しさん@お腹いっぱい。2006/04/06(木) 15:28:20
>>447
へー。はじめて知った。
0449名無しさん@お腹いっぱい。2006/04/06(木) 16:00:28
Emacs使いの常識
0450名無しさん@お腹いっぱい。2006/04/06(木) 16:45:45
Emacs使いのバッドノウハウ
0451名無しさん@お腹いっぱい。2006/04/06(木) 16:58:46
エレガントじゃないよなぁ
0452名無しさん@お腹いっぱい。2006/04/06(木) 17:03:34
しょせん正規表現で見ているんだからしょうがない。
文法が変態な言語ならよくある。
高精度のparserをサブプロセスで動かせば改善すると思う。
0453名無しさん@お腹いっぱい。2006/04/06(木) 23:42:43
文字列の中に改行が入ってる? 晒してみたら。
0454名無しさん@お腹いっぱい。2006/04/07(金) 03:57:02
レス遅くなってすみません。以下のような文字列の時、色がうまくつきません。

'''
Of the form:
d = { key1 : value1 ,
key2 : value2 ,
...,
key_n : value_n }
'''

"""
BBC News
Fears for Colombia Indian groups
Israeli missiles hit PA compound
Albania targets speedboat outlaws
"""

一行の時は大丈夫なんですけれどね。一応自分の .emacs にも font-lock-add-keywords の中に

("[rRU]?\\('''[[:blank:]]*[^\r\n][[:graph:][:blank:]\n\r]*?'''\\|\"\"\"[[:blank:]]*[^\r\n][[:graph:][:blank:]\n\r]*?\"\"\"\\)" 0 font-lock-doc-face append)

を入れてます。 re-builder では上の表現でしっかり文字列をキャプチャーしてくれるのですが、
font-lock はなぜかしてくれないです。
0455名無しさん@お腹いっぱい。2006/04/07(金) 04:59:16
そもそもfont-lockは複数行をサポートしていないはず
0456名無しさん@お腹いっぱい。2006/04/07(金) 05:26:12
>>455
"完全には" サポートされてないって感じですね。既に font-lock-multiline が t になってるけど、
それでも駄目みたいなので。。。 emacs-wiki.el あたりを見れば対処方が載ってるかな?
0457名無しさん@お腹いっぱい。2006/04/07(金) 06:07:32
「完全には」って何に付いて言っているの?
0458名無しさん@お腹いっぱい。2006/04/07(金) 06:35:39
>>454
軽く試したけどちゃんと色ついてるけどなあ。

0459名無しさん@お腹いっぱい。2006/04/07(金) 12:58:48
そろそろ制度の高いparserを導入して脱font-lockしないといけないと思う。
nxml-modeはfont-lockを使ってないからね。
0460名無しさん@お腹いっぱい。2006/04/07(金) 14:20:05
>>457
「font-lock-multiline とかの変数があったり、一応
複数行もシンプルな正規表現の場合は色がきちんと付いたりと、サポートする
努力はみられるけど、やっぱり完全にはサポートされてないなー」の「完全には」です。

>>458
> >>454
> 軽く試したけどちゃんと色ついてるけどなあ。

それ何度やっても付きます? 自分は付く時と付かない時があります。
0461名無しさん@お腹いっぱい。2006/04/07(金) 14:26:15
>>459
> そろそろ制度の高いparserを導入して脱font-lockしないといけないと思う。
> nxml-modeはfont-lockを使ってないからね。
その nxml-mode ってすごそう。全部で 17,000 行ぐらいとか言ってるし
0462名無しさん@お腹いっぱい。2006/04/07(金) 14:35:07
言語と別に Emacs 側で parser 作るのもなんかむだっぽいな。
言語側にやらせたりできないかな。
0463名無しさん@お腹いっぱい。2006/04/07(金) 14:52:00
うん、Rubyの場合はRipperというparserがあるけど、あれはインタプリタから抜き出したらしい。
RubyならRipperなparserをサブプロセスにすればよさげ。
他の言語だとどうなのか。
0464名無しさん@お腹いっぱい。2006/04/07(金) 23:58:45
>>462
こんなところで唸っても何にもならないので
御大に直接メールしてください。
0465名無しさん@お腹いっぱい。2006/04/08(土) 00:45:30
>>462をやりたくてもライセンスの問題とか大丈夫なんだろうかね
0466名無しさん@お腹いっぱい。2006/04/08(土) 01:08:29
>>460
> それ何度やっても付きます? 自分は付く時と付かない時があります。

おまえバカだろ。だったら付かない時を再現できるよう前後のコードを
示さにゃ誰もわからんだろうよ。
0467名無しさん@お腹いっぱい。2006/04/08(土) 01:43:23
>>466
付く時と付かない時があるっつってんだから前後は関係ないのではなかろうか。
ま、>>460の説明が下手だってのはそうなんだけど、なんとなくそう思ったり。
0468名無しさん@お腹いっぱい。2006/04/08(土) 02:03:06
>>465
ライブラリとしてリンクするんじゃなくて、パイプでつないで外部プロセスから結果だけ受け取るようにすればOK?

>>461
nxml-modeは確かにすごいねー。中で何やってるんだあれ?ソース追いかけてもなにか「すごそう」なことをしていることしかわからなかった。
ただ、1000,2000行くらいを超えるXMLファイルを編集しはじめると、非常に重くなる。もったいない・・・あれをCで再実装してくれんかね。
0469名無しさん@お腹いっぱい。2006/04/08(土) 02:59:06
>>468
マシンスペックは?
やはり重くなるのか‥しょせんのろまのEmacsLispか
nxml-modeでつこてるparserをCで実装してパイプでつなぐと速くなるのかな?
0470名無しさん@お腹いっぱい。2006/04/09(日) 01:47:51
>>468
その外部プログラムのライセンスは?
さらにEmacs添付にするにはFSFの書面が必要だが
0471名無しさん@お腹いっぱい。2006/04/09(日) 01:56:18
添付しなくてもいいんでは。
0472名無しさん@お腹いっぱい。2006/04/09(日) 01:58:36
日本語のテスト
0473名無しさん@お腹いっぱい。2006/04/09(日) 02:19:25
ん、navi2chで初カキコ?
0474名無しさん@お腹いっぱい。2006/04/09(日) 14:30:52
質問です。
自分はEshellを使用しているのですが、特定のコマンド(例えばmysqlとか)の
standard outputの内容がうまくEshellバッファに反映されません。
何か解決策はあるでしょうか?
0475名無しさん@お腹いっぱい。2006/04/09(日) 16:04:32
イイシェルという名前ははったりだ。普通のshellを使えばいいこと。
0476名無しさん@お腹いっぱい。2006/04/09(日) 21:48:42
だから、OpenType Emacs と、multi-tty Emacs と、Unicode Emacs と、Lexical Binding Emacs はいつ本家に入るんだ!!
0477名無しさん@お腹いっぱい。2006/04/09(日) 22:24:35
multi-ttyは次入るんじゃなかったけ?
UnicodeはEmacs22/23じゃないけ?
はよLexical BindingとDynamic Libraryを本家に入れてくれ。
とくにfont-lockが遅すぎて困るんだ。
0478名無しさん@お腹いっぱい。2006/04/09(日) 22:41:29
lexical にしたらマルチスレッドにしやすい?
0479名無しさん@お腹いっぱい。2006/04/09(日) 22:43:44
later-do.elで疑似マルチスレッド
concurrencyならIPCでも十分な希ガス
lexicalにすると高速化されるとは思う
0480名無しさん@お腹いっぱい。2006/04/09(日) 22:58:09
>>477
あとportable dumper Emacs もこのリストに入れてくれや。
0481名無しさん@お腹いっぱい。2006/04/10(月) 03:17:44
はっきし言って起動時間などどーでもいい
なぜならEmacsの起動時間==uptimeだからだ
0482名無しさん@お腹いっぱい。2006/04/10(月) 03:23:43
Emacsの最大の欠点…それはEmacsLispがあまりにも遅すぎることだ。
それさえなんとかしてくれれば神環境なんだが。
0483名無しさん@お腹いっぱい。2006/04/10(月) 07:12:34
俺にとっては emacs はもう既に神領域に逹っしてるよ
0484名無しさん@お腹いっぱい。2006/04/10(月) 08:58:07
>>482
何をしているときに遅いの?
下手な設定しているんじゃないの?
0485名無しさん@お腹いっぱい。2006/04/10(月) 10:49:26
>>484

482 じゃないけど、 xdisp.c の末尾から C-M-a してみるとか。
0486名無しさん@お腹いっぱい。2006/04/10(月) 12:54:03
そういえば elisp の最適化についてはバイトコンパイル以外では訊きませね。
0487名無しさん@お腹いっぱい。2006/04/10(月) 14:17:18
>>484
数万行のソースファイルのfont-lock
emacs-w3mのfonfity
プロセスの入出力
primitive不足のため雑多な文字列処理も遅い
0488名無しさん@お腹いっぱい。2006/04/10(月) 14:52:18
パフォーマンスを語る時は計測しなきゃ。
(tarai 12 6 0) の結果:
Emacs 22.0.50: 5.125
CLISP 2.38: 2.499
SBCL 0.9.11: 0.396
GCC 3.4.4: 0.14
バイトコードコンパイラの CLISP と比べても Emacs Lisp は 2 倍以上遅い。
SBCL くらい速ければ C で書く部分をずいぶん減らせるはず。
0489名無しさん@お腹いっぱい。2006/04/10(月) 16:27:17
>>488
common lispと比べられてもなぁ…。

vimの関数とか、秀丸マクロと比べてみるとか(笑)
0490名無しさん@お腹いっぱい。2006/04/10(月) 17:24:36
taraiなんて関数呼び出しの速さ以外は判らないし。
0491名無しさん@お腹いっぱい。2006/04/10(月) 18:44:17
>>488 ついでにRuby、Luaも入れてちょ
0492名無しさん@お腹いっぱい。2006/04/10(月) 23:12:19
>>488
Emacs 21.4での結果もたのむ
0493名無しさん@お腹いっぱい。2006/04/10(月) 23:26:14
質問スマソ。
PCL-CVSで、

cvs update -rhoge

みたいに、タグ指定でcvs updateするにはどのコマンドを使えばいいのでしょうか?
0494名無しさん@お腹いっぱい。2006/04/11(火) 00:53:36
グダグダ文句たれる前にお前等が elisp の最適化に取り組んでみたらどうだ?
0495名無しさん@お腹いっぱい。2006/04/11(火) 00:56:22
だが断る!
0496名無しさん@お腹いっぱい。2006/04/11(火) 00:56:23
やったところでそう簡単に取り込んでもらえるとは思えないね
書面が必要な上rmsを説得せねばならん
0497名無しさん@お腹いっぱい。2006/04/11(火) 01:02:21
>>496
fork しようよ。
0498名無しさん@お腹いっぱい。2006/04/11(火) 01:07:55
スクリプト言語を使って高速な数値計算するときはスクリプトでループを回してはいけないのが常識だが、
Emacsにもそれを適用してみるのはどうだろう?
探索や置換をprimitiveにするとそこそこ高速になると思う。
■ このスレッドは過去ログ倉庫に格納されています