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

Emacs part 27

■ このスレッドは過去ログ倉庫に格納されています
0001Zeno2008/11/09(日) 08:48:02
諸君、ここはかの有名な最強の汎用環境/エディタ、「Emacs」のスレッドである!

スレッドルールは以下の通り:
* 初心者にやさしく接すること
* Emacsユーザーとの仲間意識をしっかり持って、馴れ合いを怠らないこと
* このスレでのコミュニケーションを前スレ以上に活発にすること (用がなくとも、毎日の書き込みが理想)
* 部外者/非Emacsユーザーの書き込みも可。但し、女性の書き込みは場の雰囲気を乱すので不可
* 自分で書いた便利なコード/アイディアは他人とシェアしようと試みること
        _/l__
     /   く
    | ´ω`  | ぐにゅう emacs
     |    C='|
* Emacs スレッドのマスコットキャラである「ぐにゅう君」 (↑のAA) と
吾 (Zeno ◆5nZQbNmQPs) への挨拶も忘れないように!

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
最新の stable リリース (22.2) のダウンロード http://ftp.gnu.org/pub/gnu/emacs/emacs-22.2.tar.gz
Windows用 NTEmacs の最新ダウンロード https://sourceforge.jp/projects/ntemacsjp/files/

前スレ http://pc11.2ch.net/test/read.cgi/unix/1218093847/
CVS先端: cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs

Emacs は世界を救う!
0062名無しさん@お腹いっぱい。2008/11/13(木) 23:38:40
バックアップファイルが~1~,~2~,....みたくたくさんできて困ります。
最近更新されたファイルのバックアップを~でとっておくだけにする
にはどうしたらよいですか
0063名無しさん@お腹いっぱい。2008/11/13(木) 23:42:16
2ch に書き込むよりググった方が早いよ。
初期状態の Emacs は割と使い物にならないから一々聴いてたらキリがない。
0064名無しさん@お腹いっぱい。2008/11/14(金) 00:03:22
>>61
(setq version-control nil)
(setq delete-old-versions t)
(setq kept-new-versions 1)
(setq kept-old-versions 1)

試していないけど、このへんの組み合わせかなぁ。
あまりちゃんと調べていないから
CVSとかで管理しているファイルは期待どおりにならないかも。

0065名無しさん@お腹いっぱい。2008/11/14(金) 02:25:39
LANG=ja_JP.eucJP で emacs立ち上げて、
(format-time-string "%a" (current-time))
の曜日を日本語じゃなく英語で表示したいんですが、
どうやったらいいですか?
0066名無しさん@お腹いっぱい。2008/11/14(金) 02:27:28
LC_TIME=Cも追加する
0067名無しさん@お腹いっぱい。2008/11/14(金) 02:41:07
ありがとうございます。
確かにそうすると可能なのですが、
emacsのlisp内だけでやることはできないでしょうか?
(setenv "LANG" "C")とか
(setenv "LC_TIME" "C")とかやっても駄目みたいです。
0068名無しさん@お腹いっぱい。2008/11/14(金) 02:52:15
system-time-locale ってのがそれっぽいかな。
0069名無しさん@お腹いっぱい。2008/11/14(金) 05:40:53
>>68
それでできました。
どうもありがとうございました。
0070名無しさん@お腹いっぱい。2008/11/14(金) 10:10:46
elscreen ユーザーですが、質問です。

数個の frame を表示している状態で、ある特定の frame のみのタブを隠したいんですが、
それは可能ですか?

elscreen-toggle-display-tab を実行すれば、全ての frame の
タブは隠せますが、特定のframeには対応していないようです。
0071名無しさん@お腹いっぱい。2008/11/14(金) 12:27:03
すみませんが、質問です。
Emacs を256色にしたのですが、青色が非常に暗くなって見づらくなりました。
例えばnavi2chも、名前や日付がほとんど見えません。
どうしたら明るくできるでしょうか?

list-colors-displayで 上から4つ目の blue を #0000ff に変更できれば、各
モードごとの設定を変更しなくて済みそうだと思いましたが、調べてもやり方
がわかりませんでした。すみません。
0072名無しさん@お腹いっぱい。2008/11/14(金) 14:07:35
設定したい色のテキストの上にポイントを持っていって
(get-text-property (point) 'face)
をM-x eval-sexpやM-!で評価するとそのフェイスがわかるから
(set-face-foreground face "color")
でlist-colors-displayで見付けたお気に入りの色を設定してやればいい
0073名無しさん@お腹いっぱい。2008/11/14(金) 14:39:23
>>70
modify-frame-parameters を使えばいいんかな。

(modify-frame-parameters
(selected-frame)
(list (cons 'elscreen-display-tab nil)))
0074名無しさん@お腹いっぱい。2008/11/14(金) 15:54:22
>>72
ありがとうございます。とりあえず navi2ch は実用的になりました。
しかし、ミニバッファ上のメッセージなど、フェイスが取得しづらいものもあ
ります。

いちいちあちこちに設定して回るのは大変だと思いましたが、同じ暗い青でも、
色は "blue" "Navy" "dark blue" とさまざまで、一括で変更することは難しい
ようです。残念。

ところで、list-colors-displayで表示される色のうち、名前が付いているもの
は、こちらの環境では16色しかありません。残りはcolor-16 - color-255 と、
連番が打たれているだけです。"Navy" "dark blue" "hot pink"といった色は見
当たりませんでした。

これで特に問題ないのでしょうか?そもそも、存在しない色をちゃんと指定で
きるのが不思議です。

ちなみに GNU Emacs 22.2.1 を emacs -nw で利用しております。
0075名無しさん@お腹いっぱい。2008/11/14(金) 17:03:29
端末が対応してないか環境変数TERMが適切でない
0076名無しさん@お腹いっぱい。2008/11/14(金) 18:24:50
>>75
ありがとうございます。端末はputtyで、TERMはxterm-256colorです。
どちらも問題ないと思うのですが。
0077名無しさん@お腹いっぱい。2008/11/14(金) 18:42:14
>>73
上記のコードは elscreen-display-tab を frame-local にする効果があるんですね。ただ、
elscreen-display-tab を nil として alist を加えてやっても、elscreen-display-tab
の :set で定義されているコードが実行されない為、もう一度明示的に (setq
elscreen-display-tab nil) してやる必要があり、その後の
elscreen-notify-screen-modification によるアップデートも必要でした。

とはいえ、変数を frame-local にできることは知りませんでしたし、
興味深いレス、ありがとうございました。
0078名無しさん@お腹いっぱい。2008/11/14(金) 21:34:22
GNU Emacs 22.3 has been released, and is now available at
ftp.gnu.org/gnu/emacs/ and the GNU FTP mirrors (see
http://www.gnu.org/order/ftp.html).

http://www.nabble.com/Emacs-22.3-released-td19335279.html
0079名無しさん@お腹いっぱい。2008/11/14(金) 22:50:40
変更点はやく要約して。
0080名無しさん@お腹いっぱい。2008/11/14(金) 23:23:07
>>78
いつの話だろ。
0081名無しさん@お腹いっぱい。2008/11/14(金) 23:23:16
>>78
いつの話だよ。出たのだいぶ前だろ。
0082名無しさん@お腹いっぱい。2008/11/14(金) 23:40:13
博士、ついに異時間通信プロトコルの開発に成功したんだね。

さやかちゃんにも早く教えてあげなくちゃ。
0083名無しさん@お腹いっぱい。2008/11/14(金) 23:58:27
すまん、http://www.st.ryukoku.ac.jp/~kjm/security/memo/2008/11.html#20081114_Emacs
を見て脊髄反射しちまった。
0084名無しさん@お腹いっぱい。2008/11/16(日) 15:12:33
UTF-16の文章を表示するときに自動的にBOMの部分を書き換え不可プロパチーにするelispとかありますか?
0085名無しさん@お腹いっぱい。2008/11/16(日) 15:35:32
プロパチー
0086名無しさん@お腹いっぱい。2008/11/16(日) 15:55:43
古き良きIBMとかNTTの匂いがする
0087名無しさん@お腹いっぱい。2008/11/17(月) 02:47:32
IBMなら「書き換え不可特性」
NTTなら「チー」じゃなくて「テー」
0088名無しさん@お腹いっぱい。2008/11/17(月) 13:21:55
Windowsなので恐縮ですが、Emacs使うにあたり初心者にオススメの入門サイトとかないでしょうか?
さっぱり分からなくて・・・
0089名無しさん@お腹いっぱい。2008/11/17(月) 13:32:49
>>88
>>1
0090名無しさん@お腹いっぱい。2008/11/17(月) 13:46:25
>>88
Emacs 電子書棚 http://www.bookshelf.jp/
0091名無しさん@お腹いっぱい。2008/11/17(月) 13:49:34
一番最初は C-h T のチュートリアルから
0092名無しさん@お腹いっぱい。2008/11/17(月) 13:54:15
そういえば、日本語でそんなにいいチュートリアルないなー。
もう何十年も Emacs 生きてるんだし、誰かが神チュートリアルを
公開してても不思議じゃないんだけどね。 全部書籍になっちまうのかな。
0093名無しさん@お腹いっぱい。2008/11/17(月) 14:02:26
1のサイトは見たのですが何を言ってるのかよくわからなくて・・・すいません
やっぱり本を買った方がいいみたいですね
0094名無しさん@お腹いっぱい。2008/11/17(月) 14:03:17
>>92

付属のチュートリアルは日本語でもあるけど何が不満なの?
0095名無しさん@お腹いっぱい。2008/11/17(月) 14:06:40
>>94
「不満がある」とは言ってないんだがね。
ただ、付属のチュートリアルは "good enough" ではあるが、"excellent" ではない。
そう思っただけ。
0096名無しさん@お腹いっぱい。2008/11/17(月) 14:08:34
「言い出しっぺがやらない限り誰もやらない」
0097名無しさん@お腹いっぱい。2008/11/17(月) 14:15:02
またお前か。
0098名無しさん@お腹いっぱい。2008/11/17(月) 14:29:39
まったく同じ流れを数スレ前でみたような気がする。
0099名無しさん@お腹いっぱい。2008/11/17(月) 14:32:38
言い出しっぺがどうこう言って制限するより、
「こういうのはどう?」とか、
「こういう方法でやればうまくいくんじゃね?」といった
意見を皆から聞き入れた方が良い展開が見れる。
0100名無しさん@お腹いっぱい。2008/11/17(月) 14:32:49
いいじゃん good enough で。
0101名無しさん@お腹いっぱい。2008/11/17(月) 14:33:55
>>99
そういう意見を一番明確に持ってるのは言いだしっぺだよ。
0102名無しさん@お腹いっぱい。2008/11/17(月) 14:38:00
>>101
文句たらたらで自分からは何もしないタイプの人間か。
もっと能動的になれ。
0103名無しさん@お腹いっぱい。2008/11/17(月) 14:48:16
>>102
お前が一番そのタイプ以上の害だと思うよ。
うじうじ言うしか出来ないタイプの人間じゃん
0104名無しさん@お腹いっぱい。2008/11/17(月) 14:50:27
具体的に、どんなチュートリアルが欲しいの?
0105名無しさん@お腹いっぱい。2008/11/17(月) 14:54:34
elispでcommon lispのiterateやseriesを実装するような
0106名無しさん@お腹いっぱい。2008/11/17(月) 16:10:21
「船頭が多すぎる」
0107名無しさん@お腹いっぱい。2008/11/17(月) 16:56:18
> Windowsなので恐縮ですが、Emacs使うにあたり
まだ導入してないのかな?
0108名無しさん@お腹いっぱい。2008/11/17(月) 23:02:12
チラシの裏。

Emacs22.1.1で、あるファイルをShift_JISで保存しようとしたが、なぜか
EUC-JP (その環境のロケール)になってしまう。

散々調べた末に、Shift_JISに変換できない文字「〜」(波ダッシュ)が含まれ
ていることに気が付いた。これを「箸キ」(全角チルダ)に変換したら、問題な
く保存できた。

保存時にエラー出すとかしておくれよEmacs。なんで勝手にエンコーディングを
変えてしまうんだよ。
0109名無しさん@お腹いっぱい。2008/11/17(月) 23:06:26
ありゃ?2chでも文字化けしてしまった。すまん。
つうか、>>108の波ダッシュと全角チルダは名前が逆になるようだ。
詳しくはこちら。
http://ja.wikipedia.org/wiki/Unicode
0110名無しさん@お腹いっぱい。2008/11/17(月) 23:17:52
good enough と言えば、シンディーローパーを思い出す。
0111名無しさん@お腹いっぱい。2008/11/17(月) 23:24:19
>>108
つ mule-cmds.elのselect-safe-coding-system〜
0112名無しさん@お腹いっぱい。2008/11/17(月) 23:30:46
>>100
俺はgoo電脳府と読めたので、NTT(goo)を中心とするE政府計画が隠されているのだ、と感じた。
0113名無しさん@お腹いっぱい。2008/11/17(月) 23:51:29
つ 電脳麸
0114名無しさん@お腹いっぱい。2008/11/18(火) 03:59:58
拡張子でmodeを判断するのでなく、ファイルの1行目に

<?php

と書かれていたらphp-modeにするとかはできますか?
0115名無しさん@お腹いっぱい。2008/11/18(火) 04:42:33
(add-to-list 'magic-mode-alist '("<\\?php" . php-mode))
0116名無しさん@お腹いっぱい。2008/11/18(火) 04:49:53
>>115 thx
Meadow3にはそんな便利な機能があるのですね。
Ver. UP しようかな。
0117名無しさん@お腹いっぱい。2008/11/18(火) 05:05:24
Members3 というか Emacs 22.1 から。
初期値が nil になってるけれど、cvsのころはそうじゃなくて
auto-mode-alist が効かなくてorzだった。
0118名無しさん@お腹いっぱい。2008/11/18(火) 05:20:42
>>117
Members3?
0119名無しさん@お腹いっぱい。2008/11/18(火) 11:18:26
稲垣さんですね わかります
0120名無しさん@お腹いっぱい。2008/11/18(火) 11:21:57
おまえはあまりにも分かりすぎる
0121名無しさん@お腹いっぱい。2008/11/18(火) 11:26:47
>>117
Me しか当ってないがなw
しかも、複数形にしてるし。
タイポの域を越えてるな。
0122名無しさん@お腹いっぱい。2008/11/18(火) 11:37:22
さすがにネタだろ?
つまらんネタひっぱってもしょうがない。
0123名無しさん@お腹いっぱい。2008/11/18(火) 11:41:26
Me<予測><確定>ってやっちまったんだろ。
0124名無しさん@お腹いっぱい。2008/11/18(火) 11:48:05
dabbrevだったら確定いらないけどな。
でも、予測しても自分の目で確認するとおもうんだわ。
"3" はしっかり打ってるあたりが怪しい。
0125名無しさん@お腹いっぱい。2008/11/18(火) 12:56:34
"Me"を打ったところで予測候補群がポップアップして、3番を選択しようとしたら、
手が痙攣的に動いて先にEnterを押してしまって、第1候補のMembersが確定され、
そのあとにそのまま3の字が書き込まれてしまったんだろ。
0126名無しさん@お腹いっぱい。2008/11/18(火) 13:29:50
お前等、ミニバッファで<enter>打ったら、それをミニバッファの履歴に記憶できて、
しかもカーソルがまだミニバッファから離れないようにするやり方教えろ。
0127名無しさん@お腹いっぱい。2008/11/18(火) 13:47:33
履歴には普通に記録されてるじゃん。
0128名無しさん@お腹いっぱい。2008/11/18(火) 13:48:56
>>127
悪い、もう>>126のやり方思いついちゃった。テヘッ
0129名無しさん@お腹いっぱい。2008/11/18(火) 15:34:27
これって使ってる人いる?
http://www.emacswiki.org/cgi-bin/wiki/PredictiveMode

どうよどうよ?

面白そうなパーツがあるなあ。
0130名無しさん@お腹いっぱい。2008/11/18(火) 16:51:14
キーボードインプットの書き込みのみ不可な
バッファを作りたいんですが、どうすればいいですか?
0131名無しさん@お腹いっぱい。2008/11/18(火) 17:23:31
>>130
read-onlyにすればいいだけじゃないの?
0132名無しさん@お腹いっぱい。2008/11/18(火) 17:42:32
以前、dabbrev を拡張して候補が見付かれなければ自動的に単語リストを
読み込んでくれるものがあったんですが、
今もどこかにあるんでしょうか?
0133名無しさん@お腹いっぱい。2008/11/18(火) 19:39:45
>>129
使用している。デフォルトのCompletion UIでの補完は使いにくかったから、
auto-complete.elで補完するようにしている。
補完した場合、辞書を更新するようなelispはまだ自分では書けていないけど。
もうpredictive-modeとflyspell-modeなしには
英語を書く気にはなれなくなってしまった。本当にありがたいelispだと思う。



0134名無しさん@お腹いっぱい。2008/11/18(火) 20:34:25
>>129
まだまだ使い心地は良くなりそうではあるが、良さげだな。
今は単語にしか対応してなさそうだね。
自分でフレーズや複合語にも対応したの書こうかな。
0135名無しさん@お腹いっぱい。2008/11/18(火) 21:38:03
辞書形式ならプログラム書く時にも使えそうだ。
auto-complete.el より気楽に単語の追加できそうだから試してみよう。
0136名無しさん@お腹いっぱい。2008/11/18(火) 22:39:58
ShopUにポメラが出てるが、これのEmacs版とかあったらすげーよさそうだな
0137名無しさん@お腹いっぱい。2008/11/19(水) 16:12:21
overlay がかかった文字列 s に対して (message s)
とすると、s の overlay が消されて表示してしまうんですが、
どうにかしてそのまま表示することはできませんか?
0138名無しさん@お腹いっぱい。2008/11/19(水) 17:04:53
emacsのpythonシェルを
LANG=C python
にして動かしたい
どこいじればいいんだろう
0139名無しさん@お腹いっぱい。2008/11/19(水) 17:17:43
C-u M-x run-python
Python Program: env LANG=C python
0140名無しさん@お腹いっぱい。2008/11/19(水) 17:17:46
>>137
「overlay がかかった文字列 s」をどうやって作れたのですか?



0141名無しさん@お腹いっぱい。2008/11/19(水) 17:19:15
>>139
恒久的に設定したければ、
(setq python-comman "〜")
0142名無しさん@お腹いっぱい。2008/11/19(水) 17:41:10
ある文字列をミニバッファ上に任意の時間 (例えば5秒間)
は sticky に表示し続けることって可能ですか?
0143名無しさん@お腹いっぱい。2008/11/19(水) 18:30:38
>>142
可能です
0144名無しさん@お腹いっぱい。2008/11/19(水) 18:36:55
>>143みたいなやつって何を考えてレスしてるんだろうな。
自分では役に立ってると思ってんのかな。
0145名無しさん@お腹いっぱい。2008/11/19(水) 18:39:13
>>144がまったく役に立っていない件
0146名無しさん@お腹いっぱい。2008/11/19(水) 18:43:29
役に立たない者同士仲良くしろよ。
0147名無しさん@お腹いっぱい。2008/11/19(水) 18:45:35
役立ち判定技師の集いはここですか?
0148名無しさん@お腹いっぱい。2008/11/19(水) 18:59:30
その用途ならzenityとsleep使うわ
ミニバッファなんて常に書き換えられるから、
まともに機能するようなものを作ろうとなるとかなり大変そうだし
0149名無しさん@お腹いっぱい。2008/11/19(水) 19:45:41
>>137
インタラクティブに実行すればできる。
0150名無しさん@お腹いっぱい。2008/11/19(水) 19:59:37
>>149
どの関数をインタラクティブに実行すればできるのでしょうか?
0151名無しさん@お腹いっぱい。2008/11/19(水) 20:14:07
ebrouseでtag jumpする方法が検索してもみつからないです
ひょっとして出来無いの?
0152名無しさん@お腹いっぱい。2008/11/19(水) 20:17:44
できないんじゃない。
0153名無しさん@お腹いっぱい。2008/11/19(水) 20:56:59
>>148
(for ((i=0;i<100;i+=4)) ; do echo $i ; sleep 1; done) | zenity -progress -auto-close
こんなのを実行する感じですか?

でもemacsでやりたいんですよね。
0154名無しさん@お腹いっぱい。2008/11/19(水) 21:15:32
このスレは、質問してる奴の方が「できる人」っぽいという不思議なスレだな。
0155名無しさん@お腹いっぱい。2008/11/19(水) 21:58:01
>>148
書き換えられても一瞬で元に戻りやがるやついるやん
0156名無しさん@お腹いっぱい。2008/11/19(水) 22:45:47
>> 148
ミニバッファにこだわらず、
小さめの別バッファ(ウィンドウ)作って、そこに書いて、5秒後に消す、
とかじゃだめなの?
0157名無しさん@お腹いっぱい。2008/11/19(水) 23:41:05
>>156
そんなんじゃ、それっぽくないだろ。
0158名無しさん@お腹いっぱい。2008/11/20(木) 03:22:07
Emacsの80%はそれっぽさで出来ているようなものだ。

という格言は忘れるべきではない。
0159名無しさん@お腹いっぱい。2008/11/20(木) 03:32:29
>>155
それってなに?
0160名無しさん@お腹いっぱい。2008/11/20(木) 04:31:13
>>154
> このスレは、質問してる奴の方が「できる人」っぽいという不思議なスレだな。

一部、解答(したふりを)している人間にホラ吹きがいるようだからね。
0161名無しさん@お腹いっぱい。2008/11/20(木) 04:33:37
ボロが出るから、回答は具体的じゃ無いほうがいいんだよ

■ このスレッドは過去ログ倉庫に格納されています