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

Emacs part 19

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2006/05/12(金) 10:27:12
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/
0110フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/05/23(火) 19:05:01
>>108
あら、行番号表示ウィンドウではなくて、行番号を本文に入れたいのか?
だったら
C-u M-| cat -n
だ。
0111名無しさん@お腹いっぱい。2006/05/23(火) 20:00:20
Ctrlって、どうやって押してますか?左手小指?
いつも左手小指の根元(手のひらに近いところ)で押してたから
ノートPCのキーボードだと打ちにくい。
0112フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/05/23(火) 20:06:03
当然左手小指。
長年Emacs使ってると左手小指の力が驚くほど強くなっていることに気付いた。
0113名無しさん@お腹いっぱい。2006/05/23(火) 20:14:39
もうその話題はいいよ…
0114104、1082006/05/23(火) 20:18:20
>>109
ありがとうございます。
試してみます。



>>110
ありがとうございます。

emacs上で、
C-u M-|って入力すると、「Shell command on region:」って出てくるので、
cat -nと入力すると、「There is no region now」って表示されるのですが…。

“|”って、“shift”を押しながら“\”を押せばいいのですよね?
0115名無しさん@お腹いっぱい。2006/05/23(火) 20:32:03
>>114
表示されたメッセージの意味は考えた?
0116フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/05/23(火) 20:43:43
>>114
言うまでもないけど範囲を指定するのが先。
0117名無しさん@お腹いっぱい。2006/05/23(火) 21:15:17
>>111
私は両小指の付け根でctrlを打鍵しています。
完全にキーボードレイアウトに依存していますが。
0118フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/05/23(火) 21:20:04
>>117
Aの左にctrlじゃないの?
0119名無しさん@お腹いっぱい。2006/05/23(火) 21:24:53
定期的に、行番号を表示する話題って出ますね。

wb-... , setnu は、いまいちだと思っていたんだけど、
すこし前、 emacs 22 で ruler-mode を発見した。

個人的には、この見た目は、かっちょえぇと感じたから、
この路線で vertical-ruler-modeとか作ってくんないかなーと、
期待していたりする。

0120名無しさん@お腹いっぱい。2006/05/24(水) 01:17:37
左側のフリンジ(?)領域も進化してるっぽいから、
ここに行番号を表示できるようになるんじゃなかろうか。

gdb-uiとかだと、ブレークポイントの目印に画像の表示とかしてるし。

とりあえず、フリンジに画像を表示する方法とか調べてみると
おもしろそうだな。
0121名無しさん@お腹いっぱい。2006/05/24(水) 15:25:56
>>120
XEmacsの場合、setnu.elがまさにソレをしてくれる。
FSF-Emacsの場合は知らん。setnu.elは元々XEmacs用だからな。

あと、setnu.elはいろいろ不具合があるのでそれを修正する
setnu-plus.elとかいうパッチがあったはず。
どの程度効果があるかは知らんけどね。
0122名無しさん@お腹いっぱい。2006/05/24(水) 19:06:47
(add-to-list 'load-path "~/Library/emacs") と .emacs.el に設定してます。
~/Library/emacs に、subdirs.el を置いてます。
このとき、~/Library/emacs/hogeが、ロードパスに追加されないです。

ロードパスに追加したディレクトリに、subdirs.el をおいておいたら、
そのディレクトリ以下のディレクトリは全部、ロードパスに入るのでは
ないの??
0123名無しさん@お腹いっぱい。2006/05/24(水) 19:09:35
subdirs.el が読まれるのは .emacs より前
0124名無しさん@お腹いっぱい。2006/05/24(水) 20:18:03
ほれ。
動くか知らんけど。
(let* ((basedir (expand-file-name "~/Library/emacs"))
(dirs (directory-files basedir))
el)
(while dirs
(setq el (concat basedir "/" (car dirs) "/"))
(if (and (file-exists-p el)
(not (string-equal (car dirs) "."))
(not (string-equal (car dirs) "..")))
(setq load-path (cons el load-path)))
(setq dirs (cdr dirs))))
0125名無しさん@お腹いっぱい。2006/05/24(水) 20:36:18
(let ((default-directory "~/Library/emacs"))
(load (expand-file-name "subdirs.el") t t t))
とか ~/.emacs に書いとくのは?
0126名無しさん@お腹いっぱい。2006/05/26(金) 00:16:29
>>122
(let* ((default-directory (expand-file-name "~/Library/emacs"))
(dir default-directory))
(when (and (stringp dir) (file-directory-p dir))
(setq load-path (cons dir load-path))
(normal-top-level-add-subdirs-to-load-path)))
とか。
0127名無しさん@お腹いっぱい。2006/05/26(金) 12:09:46
Meadow + Cygwin環境でC言語の勉強をしていますが、Cのリファレンスを記したinfoはどこかにないでしょうか?
0128名無しさん@お腹いっぱい。2006/05/26(金) 12:21:43
libcのinfoがそれっぽいけど
素直にman使ったほうがよいんでないかい?
リファレンスなら。

Meadow+Cyginでどうなのかは気にせずレスしてるんで悪しからず。
0129名無しさん@お腹いっぱい。2006/05/26(金) 12:39:02
>128
トンクス。調べてみます。
0130名無しさん@お腹いっぱい。2006/05/27(土) 12:29:40
Emacsでnavi2chを使っているとC-sで検索できなくなりました
M-x search-forward では問題なく検索できます。
emacsを起動しなおしても症状は変わりません

検索できないと言うのは、C-sを押しても何の反応もありません
申し訳ありませんが、チェックすべき項目などありましたら
よろしくお願いいたします
0131名無しさん@お腹いっぱい。2006/05/27(土) 13:09:50
-nwなら
$ stty stop ""
01321302006/05/27(土) 13:16:57
>>131
ありがとうございます
emacsを止めて、それを実行し、再度起動してやってみましたが
症状は変わりませんでした。
0133名無しさん@お腹いっぱい。2006/05/27(土) 13:18:36
>>132
とりあえず環境を晒したまえ。

01341302006/05/27(土) 13:21:59
すいません
screen を使っていたので、screenを終了させて
実行して再度screenを起動しなおしてみると
検索が問題なく出来ました

お手数をおかけしました。
0135フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/05/27(土) 20:02:29
>>134
defflowの仕業か
0136名無しさん@お腹いっぱい。2006/05/28(日) 02:42:39
解像度の低いモニタで編集していると解像度の高いモニタで作った文章なのか
一列で収まりきらない行がでてくるのですが
これを改行させて次の行に表示させない方法は無いですか?
Vimでいうところのnowrapです
0137名無しさん@お腹いっぱい。2006/05/28(日) 04:06:30
>>136
truncate-lines
0138名無しさん@お腹いっぱい。2006/05/28(日) 10:14:50
diff -uN a b > a_to_b.patch とかやったあとで
emacs で a_to_b.patch を開くと diff-mode になるのですが

a_to_b.patch そのものを直接編集する方法

diff-mode から b のファイルにさらに手を加えたときに
a_to_b.patch に反映する方法
を知りたいのですが
diff-mode の使い方で
わかりやすいページとかドキュメントとかってありますか?
0139フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/05/28(日) 11:33:45
diff-revert-buffer関数を書いてみるとかどうだ?
ediffをおすすめ。
0140名無しさん@お腹いっぱい。2006/05/29(月) 19:12:21
meadow や NTEmacs で「@AB」などの文字を含むテキスト
が文字化けするんですが、これを防ぐ方法はあるんでしょうか?
0141フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/05/29(月) 19:34:15
>>140
わしはDebian GNU/Linuxをつこてるが文字化けしとる。
no-conversionで保存してw3mで見たらi ii iiiと出た。
保存したあとkill-bufferして再度開いても化けたままだ。
文字コードの判別がうまくいってないのかな。
0142名無しさん@お腹いっぱい。2006/05/29(月) 20:41:44
>>140
cp932.el
01431402006/05/29(月) 22:03:28
>>142
ありがとうございます。
しかし、Invalid read syntax: "?" というエラーが出てうまく読み込めません。
現在、試行錯誤中です。
01441402006/05/30(火) 15:25:00
cp932.el(http://sakura.homelinux.net/emacs/cp932.el)を ~/site-lisp
に保存して、~/.emacs に
(when (require 'cp932 nil t)
(setq coding-category-ccl 'cp932)
(set-coding-priority
(progn
(delq 'coding-category-ccl coding-category-list)
(let ((e (memq 'coding-category-raw-text coding-category-list)))
(setcar e 'coding-category-ccl)
(setcdr e (cons 'coding-category-raw-text (cdr e))))
coding-category-list)))
としたところ

Invalid read syntax: ". in wrong context"
と出てしまいます。

文字コードを変えて試してみたのですが、同様の結果です。
うまく動いている方いますか?
01451402006/05/30(火) 15:47:44
すみません。
cp932.el を右クリックから「対象をファイルに保存」でダウンロードして
~/site-lisp に置いたところエラーは出なくなりました。

また、C-x RET c cp932 RET C-x C-f filename RET で
「@AB」などの文字を含むテキストも正常に開くことができました。
0146名無しさん@お腹いっぱい。2006/06/03(土) 21:55:52
CEDETがいつまで経っても、1.0が出ない件について。
0147名無しさん@お腹いっぱい。2006/06/04(日) 00:18:10
あれは JDE 入れると Java の補完が効くけど、他の言語はどうやんの?
01481462006/06/04(日) 01:10:03
>>147
jdeのjavaの補完はbeanshellがやってるらしい。
他の言語はどうなんだろ。今度やってみる。
0149名無しさん@お腹いっぱい。2006/06/04(日) 02:06:39
semantic/semantic-complete.el
0150名無しさん@お腹いっぱい。2006/06/04(日) 04:24:46
>>149
それはそうなんだけど、他の言語は補完効かなくね?

C/C++ あたりは面倒臭そうだけど、スクリプト言語なら
beanshell に当たるものを自前で実装してやればいいのかな。
0151名無しさん@お腹いっぱい。2006/06/04(日) 07:55:20
scheme版eldocや補完ってないものかね
0152名無しさん@お腹いっぱい。2006/06/04(日) 09:06:41
scheme は apropos 使える処理系もあるにはある。
0153名無しさん@お腹いっぱい。2006/06/04(日) 14:42:37
emacs起動時に、*hoge*というバッファを自動作成して、outline-modeにセットするには
どうすればいいでしょうか?
0154フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/06/04(日) 14:47:40
そのまんま
(switch-to-buffer "*hoge*")
(outline-mode)
0155名無しさん@お腹いっぱい。2006/06/04(日) 15:02:22
>>154
ヨーデルさん、thxです。
0156名無しさん@お腹いっぱい。2006/06/05(月) 11:07:44
cperl-mode についての質問です。

sub print_foo {
# print ではじまる関数名の関数を定義
}

 sub foo { # ←ここで、TAB を押すとインデントが狂うのは仕様ですか?
 }
0157名無しさん@お腹いっぱい。2006/06/05(月) 12:12:01
仕様かどうかは作者に問い合わせてください
0158名無しさん@お腹いっぱい。2006/06/05(月) 12:14:52
>>157
俺もそう思った

>>156
馬鹿の癖に偉そうな書き方をしない方がいいよ
0159名無しさん@お腹いっぱい。2006/06/05(月) 12:38:52
cperl-under-as-char
0160名無しさん@お腹いっぱい。2006/06/05(月) 12:42:38
>>158
えらそうじゃない書き方を教えてください。
0161フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/06/05(月) 13:07:13
初対面の人にいきなり馬鹿というのはどうかと思うが
0162名無しさん@お腹いっぱい。2006/06/05(月) 13:33:02
馬鹿に馬鹿と行ってどこが悪い
by void
0163名無しさん@お腹いっぱい。2006/06/05(月) 13:35:56
排泄物のような物体に指摘されて、反省しきりです
0164フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/06/05(月) 13:53:20
しょせんvoidの戯言か
0165名無しさん@お腹いっぱい。2006/06/05(月) 14:06:17
匿名掲示板で初対面だと言い放つのもどうかと。

コテ同士がオフでもしないかぎり面識が無いわけで。
0166 ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄2006/06/05(月) 14:06:39
 ( 'A `) 
  (⊃⌒*⌒⊂)
  /__ノωヽ__)
                   r-''ニl::::/,ニ二 ーー-- __
 うんこがしゃべった!!  .,/: :// o l !/ /o l.}: : : : : : :`:ヽ 、
                  /:,.-ーl { ゙-"ノノl l. ゙ ‐゙ノノ,,,_: : : : : : : : : :ヽ、
              ゝ、,,ヽ /;;;;;;;;;;リ゙‐'ー=" _゛ =、: : : : : : : :ヽ
              /  _________`゙ `'-- ヾ_____--⌒     `-: : : : : : :
...-''"│    ∧  .ヽ.  ________   /   ____ ---‐‐‐ーー    \: : : :
    !   /   .ヽ  ゙,ゝ、      /  ________rー''" ̄''ー、    `、: :
    .l./     V   `'''ー-、__/__r-‐''"゛     ̄ ̄   \   ゙l: :
                   l     .,.. -、、 _ ‐''''''''-、    l   !: :
0167名無しさん@お腹いっぱい。2006/06/05(月) 14:14:44
xemacs の モードラインの
時計とメールみたいなアイコンの間に
三角形のメーターがあるのですが
これはなんのメーターですか?
0168名無しさん@お腹いっぱい。2006/06/05(月) 14:17:19
>>167
CPU load
01691672006/06/05(月) 14:21:02
>>168
ありがとうございました。
0170フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/06/05(月) 14:30:45
>>165
いちいち屁理屈言うな。初対面の可能性もあるだろうが。
0171名無しさん@お腹いっぱい。2006/06/05(月) 14:36:35
掲示板で対面はできない
0172名無しさん@お腹いっぱい。2006/06/05(月) 14:54:12
>>171
キモ
0173怪人キモ2006/06/05(月) 15:20:50
呼んだ?
0174名無しさん@お腹いっぱい。2006/06/05(月) 15:32:14
>>173
出落ちになってないぞ。

出てくるんならなんか見せろ!
0175怪人キモ2006/06/05(月) 15:33:13
何見せてほしいんだ
0176名無しさん@お腹いっぱい。2006/06/05(月) 16:42:07
ひっぱりすぎ。
0177怪人キモ2006/06/05(月) 19:51:24
おまいから召喚したくせによく言うぜ。じゃあな。
0178名無しさん@お腹いっぱい。2006/06/05(月) 20:59:15
CVSやSubversionでcommitするとファイルが更新されますが、
Emacsですでに開いてあるファイルを更新した場合、
Emacsで編集しようとすると
File changed on disk. Reread from disk?
というふうに聞かれます。
yesと答えればいいだけなんですけど、ファイルが多いと面倒です。
更新されたファイルを一括して読み直してくれるような関数はありますか。
0179名無しさん@お腹いっぱい。2006/06/05(月) 21:33:05
vc-mode
0180フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/06/05(月) 21:52:27
>>178
global-auto-revert-mode: auto-revert-modeの全体版
0181名無しさん@お腹いっぱい。2006/06/05(月) 22:17:06
cpuloadって、emacs22でも使える?
0182名無しさん@お腹いっぱい。2006/06/06(火) 08:09:16
ttp://msdn.microsoft.com/seminar/shared/asp/view.asp?url=/msdntv/episodes/en/20031028lhorndb/manifest.xml&rate=1&WMPVer=9.0.0.3008
0183名無しさん@お腹いっぱい。2006/06/06(火) 22:41:56

キルリングした中から適当な2つのdiffをとる方法ってある??
0184名無しさん@お腹いっぱい。2006/06/06(火) 23:39:16
Debianのsargeでmulti-ttyをパッケージでインストールしたいのですけど,apt-lineはどこかにありますか?
0185名無しさん@お腹いっぱい。2006/06/06(火) 23:47:12
# Multi-tty Emacs
deb http://aszt.inf.elte.hu/~lorentey/mirror/apt unstable multi-tty
deb-src http://aszt.inf.elte.hu/~lorentey/mirror/apt unstable multi-tty

これはsargeじゃ無理かな?
0186名無しさん@お腹いっぱい。2006/06/07(水) 00:23:15
依存関係が変だと言われてしまいました

The following packages have unmet dependencies:
emacs-multi-tty: Depends: emacs-multi-tty-bin-common (= 0.2004.569-1) but it is not installable
Depends: libasound2 (> 1.0.11) but 1.0.8-3 is installed.
Depends: libc6 (>= 2.3.6-6) but 2.3.2.ds1-22sarge3 is installed.
Depends: libncurses5 (>= 5.4-5) but 5.4-4 is installed.
対処の方法がよくわかりませんでした
やっぱりunstableにするしかないのかな?
0187名無しさん@お腹いっぱい。2006/06/07(水) 00:34:48
apt-get sourceして、controlファイルのdepends書き換えちゃえ
0188名無しさん@お腹いっぱい。2006/06/07(水) 01:20:15
>>187
ヒントありがと
やってみる
0189名無しさん@お腹いっぱい。2006/06/07(水) 02:06:57
>>183
そのものずばりなものは無いと思うが、何をしたいんだ?
0190名無しさん@お腹いっぱい。2006/06/07(水) 03:34:35
>>178
いまチラッとpsvnのソース見てみたけど、svn-log-edit-done-hookにrevert-bufferをかませばいけるんじゃない?

明日でよかったらコード書くよ。今日はもう遅いから寝る。ノシ
0191フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/06/07(水) 10:30:35
>>183,189
目視だとわかりにくい2つの文字列の相異点が知りたいんだろ?
わしもたまにそう思うときがある。

(defun ediff-strings (a b)
(interactive "sInput A: \nsInput B:")
(let ((makebuf
(lambda (buf str)
(get-buffer-create buf)
(with-current-buffer buf
(erase-buffer)
(insert str "\n"))
buf)))
(ediff-buffers (funcall makebuf "*ediff-strings:A*" a)
(funcall makebuf "*ediff-strings:B*" b))))

テスト
(ediff-strings "(funcall makebuf \"*ediff-strings:A*\" a)" "(funcall makebuf \"*ediff-strings:B*\" b)")
0192フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/06/07(水) 10:31:39
>>190
だからglobal-auto-revert-modeで十分でしょ
0193名無しさん@お腹いっぱい。2006/06/07(水) 12:27:17
ウンコブリムシャヨーデル
0194名無しさん@お腹いっぱい。2006/06/08(木) 09:57:31
マルチでスマソ。
tool-bar-modeをemacs起動時にdisableにするには、どうすればいいでしょうか。
Meadow3を使っています。
0195名無しさん@お腹いっぱい。2006/06/08(木) 10:11:01
リソースに
Emacs.toolBar: 0
0196フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/06/08(木) 10:14:42
(tool-bar-mode -1)
じゃだめなのか?
0197名無しさん@お腹いっぱい。2006/06/08(木) 10:43:37
>>196
thx. それでした。
0198Alyssa P. Hacker2006/06/08(木) 14:16:53
あたしは
(tool-bar-mode 0)
としているわ
0199名無しさん@お腹いっぱい。2006/06/08(木) 18:21:56
http://f57.aaa.livedoor.jp/~monositu/imagebord/img/Monositu_20060608181733-197.GIF

これをEmacsで打ちたいのだけど
\[ A = \left(
\begin{array}{cc}
\begin{array}{cc}
a_{11} & a_{12}\\
a_{21} & a_{22}
\end{array}
\end{array}
\right) \]

これに続けて右上のBはどこに入力すればいいのでしょうか?
0200フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/06/08(木) 18:53:47
スレ違い。
それにtex mode on emacsはいっぱい実装がある。
0201名無しさん@お腹いっぱい。2006/06/08(木) 23:36:26
お、うんごがいいことをいった!!

0202名無しさん@お腹いっぱい。2006/06/09(金) 03:03:46
shell-mode 上で su - した後について教えてください。
1. \c-f で、root の権限でファイルを開く方法はありますか
2. Fedora Core 5 の、Emacs 21.4.1 では、su - した後、\c-c \c-c で shell に \c が送れません。
.emacs にどう書けば解決できるのでしょうか
0203名無しさん@お腹いっぱい。2006/06/09(金) 04:22:32
>>202
tramp 使って /su:localhost:hogehoge でいいんじゃね?
shell-mode は関係ないよ。
02042022006/06/09(金) 07:49:50
>>203
ありがとうございます。なるほど、tramp を使えばいいんですね。
自身の .emacs に
(require 'tramp)
(setq tramp-default-method "su")
と書いているのにうっかりしておりました(太古に設定したものでしょうね)

2. のほうは、Core 5 固有の問題ではないようです。
shell-mode 上で、
$ tail -f /usr/local/apache/logs/HOGE_LOG
は \c-c \c-c で止められますが、
$ sudo tail -f /usr/local/apache/logs/HOGE_LOG
とすると、\c-c \c-c で shell に Ctrl-C が渡りません。
tcpdump などの際に不便なので(\c-k でバッファを消して、当該プロセスを kill している)、何かヒントだけでもいただけると助かります
0205フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/06/09(金) 08:18:57
>>204
auto-revert-modeにするか、端末を新たにあげてそこでtail -fするか。
それかbackground.elを使う。
たしかにsuではC-cがきかないね。
0206フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw 2006/06/09(金) 09:20:47
一般ユーザごときがrootのプロセスにシグナルを送れるはずがないんだが
02072022006/06/09(金) 10:02:42
>>206
ああああああ!!
合点がいきました、確かにそうですね。
気付きませんでした。
02082022006/06/09(金) 10:04:31
たて続けにすみません。
となると、尋常な回避方法がもしもあったらそれはそのほうが問題だ、という認識でいいんですよね。
0209名無しさん@お腹いっぱい。2006/06/09(金) 10:46:01
>>206
そういう問題じゃないです。
シグナル送っているのは、コントローリングターミナルですから。
■ このスレッドは過去ログ倉庫に格納されています