トップページ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/
0371名無しさん@お腹いっぱい。2006/03/28(火) 13:01:34
>>370
効いているが。
0372名無しさん@お腹いっぱい。2006/03/28(火) 13:10:05
あれ、370じゃないけど
emacs22は効かなくなった(と聞いた)から
(keyboard-translate ?\177 ?\^h)
(keyboard-translate ?\^h ?\177)
ってやってるけど。
0373名無しさん@お腹いっぱい。2006/03/28(火) 13:21:54
>>372
(゚Д゚)ハァ?
;; -*- no-byte-compile: t -*-

(defun terminal-init-bobcat ()
"Terminal initialization function for bobcat."
;; HP terminals usually encourage using ^H as the rubout character
(keyboard-translate ?\177 ?\^h)
(keyboard-translate ?\^h ?\177))

;;; arch-tag: 754e4520-0a3e-4e6e-8ca5-9481b1f85cf7
;;; bobcat.el ends here
0374名無しさん@お腹いっぱい。2006/03/28(火) 17:51:38
>>372
>>370 だが解決したわ。
obsolete/keyswap
を直接読み込めばいいんだわ。
お試しあれ
0375名無しさん@お腹いっぱい。2006/03/28(火) 17:56:37
term/*.el は環境変数 TERM に応じて読まれるもの。
にもかかわらず .emacs 等で (load "term/bobcat") とかするアホがいなく
ならないから、(defun terminal-init-* ...) で囲んで load するだけでは
端末に関する変更が行なわれないようになった。

backspace を erase として扱いたいなら、変数 normal-erase-is-backspace
を使うのが 21.2 以降での推奨されるやりかた。

>>374
それ、そのうち消えるよ。
0376名無しさん@お腹いっぱい。2006/03/28(火) 18:08:21
obsolete って書いてあんのにな。
0377名無しさん@お腹いっぱい。2006/03/28(火) 18:15:35
>>373
の出身大学知りたいな
0378名無しさん@お腹いっぱい。2006/03/28(火) 20:15:13
大学知ってなんになるの?
0379名無しさん@お腹いっぱい。2006/03/28(火) 20:17:23
>>377が優越感を感じる。
0380名無しさん@お腹いっぱい。2006/03/28(火) 21:10:28

(゚Д゚)ハァ?

(゚Д゚)ハァ? (゚Д゚)ハァ?

(゚Д゚)ハァ? (゚Д゚)ハァ?(゚Д゚)ハァ?
0381名無しさん@お腹いっぱい。2006/03/28(火) 22:15:17
>>377
明治大学文学部だが。
0382名無しさん@お腹いっぱい。2006/03/28(火) 23:17:06
>>373>>372 に対して「(゚Д゚)ハァ?」と言ってるのは
Emacs 22 でも効くということを言いたかったの?
0383名無しさん@お腹いっぱい。2006/03/28(火) 23:25:00
>>382
いや、存在するということを言いたかった。
持病の火病だ。すまんかった。
0384◆xlAOIq6jZw 2006/03/31(金) 02:56:09
GNU Emacs → 北斗神拳
XEmacs → アミバ流北斗神拳
0385名無しさん@お腹いっぱい。2006/03/31(金) 11:29:09

(setq normal-erase-is-backspace t)
だけだと[BS]や[DELETE]は期待した通り(カレント左削除,カレント削除)
うごくけどC-hはhelpだ。

(setq normal-erase-is-backspace t)
(global-set-key "\C-h" 'delete-backward-char)
(global-set-key "\M-?" 'help-for-help)
こんな感じでいいのかな?
0386名無しさん@お腹いっぱい。2006/03/31(金) 11:37:45
(keyboard-translate ?\^h 'backspace)してます。xemacs21
0387名無しさん@お腹いっぱい。2006/03/31(金) 12:31:16
${HOME}/.emacs を再読み込みする方法を教えてください。
0388名無しさん@お腹いっぱい。2006/03/31(金) 12:39:13
(load "~/.emacs")
でもこれじゃ副作用がある場合とかにまったく同じにならないから、
大人しく再起動するのが吉。
0389名無しさん@お腹いっぱい。2006/03/31(金) 18:33:17
ねんがんのone on one emacsを手に入れたぞ
0390名無しさん@お腹いっぱい。2006/03/31(金) 19:04:09
-> coreしてでもうばいとる
0391名無しさん@お腹いっぱい。2006/03/31(金) 22:08:10
な、なにをす
Segmentation fault (core dumped)
0392名無しさん@お腹いっぱい。2006/03/32(土) 04:40:00
C-c . 1 runs the command follow-delete-other-windows-and-split

これは何のためにあるコマンドなんでしょう?
0393名無しさん@お腹いっぱい。2006/03/32(土) 06:59:59
describe-functionするとdoc. stringに書いてありますよ。
follow-modeについてもdescribe-modeすれば。
0394名無しさん@お腹いっぱい。2006/03/32(土) 20:06:03
follow-mode というのですね。使い方わかりました。
line-spacing に値がセットされていると行がうまくつながってくれないので
ちょっと残念ですが、便利に使える場面も多そうですね。
0395名無しさん@お腹いっぱい。2006/03/32(土) 22:57:50
GNU Emacsの成分解析結果 :

GNU Emacsの80%は夢で出来ています。
GNU Emacsの12%はむなしさで出来ています。
GNU Emacsの4%は雪の結晶で出来ています。
GNU Emacsの2%は鉄の意志で出来ています。
GNU Emacsの1%は玉露で出来ています。
GNU Emacsの1%は厳しさで出来ています。
0396名無しさん@お腹いっぱい。2006/03/32(土) 23:02:33
で?
0397名無しさん@お腹いっぱい。2006/03/32(土) 23:02:35
GNU Emacsの成分解析結果 :

GNU Emacsの80%はRMSで出来ています。
GNU Emacsの12%はGPLで出来ています。
GNU Emacsの4%はCtrl keyで出来ています。
GNU Emacsの2%はcdrで出来ています。
GNU Emacsの1%はリコーダーで出来ています。
GNU Emacsの1%はviで出来ています。
0398名無しさん@お腹いっぱい。2006/04/02(日) 00:13:29
dired-guess-shell-alist-default をカスタマイズしたいのですが、
("\\.lzh$" "lharc x") を ("\\.lzh$" "lha x") に変更する方法を教え
てください。
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の書面が必要だが
■ このスレッドは過去ログ倉庫に格納されています