トップページ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 は世界を救う!
003332008/11/11(火) 11:43:41
>>32
> いやちょっとそれ putty ってことは -nw なんじゃないの。

なんと、そういう意味なのですか。ごめんなさい、勘違いしていました。
おっしゃるとおり、X上ではなく、キャラクタ端末上で動かしています。

ちなみに、utf-translate-cjk-set-unicode-range を設定しても改善されない
と書きましたが、実は少し改善されています。

例えば、「●●●…」と入力していくと、
utf-translate-cjk-set-unicode-range の設定なしでは、カーソルは半角ずつ
しか右に動かず、画面が乱れ、再描画してもカーソル位置が不正で、入力を続
けられません。

設定すれば、全角ずつ動いていき、入力を続けられます。しかし、BSで消して
いくと半角ずつしかカーソルが左に動かず、画面が乱れます。再描画すると正
常になり、入力を続けられます。

ちなみにどちらの場合でも、「●」の上をカーソルを左から通過させるには、
Ctrl+Fを二回押す必要があります。通過させると「●」が消えて半角の空欄に
なり、残りの文字は左に半角詰められます。画面の再描画で戻りますが。

原理を理解していないので、ダラダラとまとまりのない報告しかできず、申し
訳ありません。
0034名無しさん@お腹いっぱい。2008/11/11(火) 11:49:34
>>31
tramp は?
0035名無しさん@お腹いっぱい。2008/11/11(火) 12:17:17
>>33
puttyなら、設定のWindow > Translation > Treat CJK ambiguous characters as wide にチェックは入ってる?
その上の文字コードは UTF-8(CJK) になってる?
0036252008/11/11(火) 12:34:29
>>28 そうですか。
ウチでは 23, 22 ともダメなんですよね。
``emacs -q -nw'' でコンソールでやっても
woman の場合だけシングルクォートが落ちてしまうようです。

Debian 固有の問題かなぁ。

003732008/11/11(火) 12:39:21
>>35

はい、どちらもそうなっています。
日本語化PuTTYなので「CJK用の文字幅を使用する(W)」となっていますが。

ちなみに UTF-8 Auto-Detect Japanese にしろというページもあったのですが、
結果は UTF-8(CJK)と変わりませんでした。
0038名無しさん@お腹いっぱい。2008/11/11(火) 13:43:43
>>3
screen を使ってたりしない?
003932008/11/11(火) 13:56:17
>>38
> screen を使ってたりしない?

うわー!その通りでした!
screenなしで、素のPuTTYでアクセスすると、記号の編集が問題なくできました…。
そういえばFedora 9の方は、screenにパッチを当てた記憶があります。

どうも皆さん、大変ありがとうございました。お騒がせして申し訳ありませんでした。

0040名無しさん@お腹いっぱい。2008/11/11(火) 14:05:13
>>39
majideshine
0041名無しさん@お腹いっぱい。2008/11/11(火) 16:28:11
そこまでいわなくても…
誰もが通る道だ。
0042名無しさん@お腹いっぱい。2008/11/11(火) 17:39:07
>>41
ほとんどの人は通らない。
0043名無しさん@お腹いっぱい。2008/11/11(火) 20:06:06
俺にだってscreenの設定ミスでモニタひとつ壊した経験ぐらいあるさ。
0044名無しさん@お腹いっぱい。2008/11/11(火) 20:45:20
screenにpatchを当てた経験がある人が、-nwも、screenも、
エスパーして貰うなんてのにはなかなかお目にかかれないぞ。
みんなきっと明日いいことあるぞ!
0045名無しさん@お腹いっぱい。2008/11/11(火) 20:49:51
だいたい表示は端末に依存するんだから
そこら辺を最初にはっきりさせないのが問題だ。
0046名無しさん@お腹いっぱい。2008/11/11(火) 21:10:00
かなりの初心者です、すみません
emacsでコピー&ペーストができません
コピーすると、1文字だけローマ字が大文字になります
どうすればよいでしょうか?
0047名無しさん@お腹いっぱい。2008/11/12(水) 00:09:51
とりあえず emacs -q で起動してM-w, C-yが使えるか試してみては.
それでうまくゆくなら .emacs.el を開いて ちょっとずつ M-x eval-region
してみる.
004865.243.132.2 2008/11/12(水) 03:50:28
>>34
tramp が、ange-ftp 使ってる訳でして、、、

なんでこんなこと聞くかというと、私の環境(emacs-w32, 22.0.990.1)で ange-ftp 使うと、
空白文字をもつディレクトリとかファイルにうまくアクセスできません。shell-file-name
の設定に cmdproxy.exe を bash の代りに使うとうまく行くのですが、これの切替えに適した
hook が tramp に見つからない。でなんか他にツールはないのかと思いまして、聞いてみました。
あります?
0049名無しさん@お腹いっぱい。2008/11/12(水) 05:14:06
>>48
その前になんで未だに ftp を使ってるかが疑問なんだよなー。
SSHプロトコルに対応したファイルトランスファーはできないの?
俺は tramp で emacs 内から remote のファイルにアクセスしたり修正したりしてるけど
空白があっても問題ないけどな。

eshell でやてみるとうまくいくかもよ。
0050名無しさん@お腹いっぱい。2008/11/13(木) 06:21:25
>>3-44
ROMってましたが、参考になりました。3さん、興味深い質問をありがとうございました。

で、私も質問させてもらえますか?

'C-['に自分でコマンドをアサインする方法ってどなたかご存じないでしょうか。
global-set-keyでC-[に設定してみたのですが、実際に入力すると
(初期状態の)ESCキーと認識されたままになっていて、変更が反映されないのです。

Emacs バージョン 22.2.50を使ってます。
005165.243.132.2 482008/11/13(木) 16:06:22
やっと分かった。"ange-ftp-quote-string" が原因だった。
要するには shell-file-name が bash だと DOS 用の エスケープしない
から、FTP に送るパスワードもエスケープされるは、空白を含む
ファイル名もちゃんとエスケープされなかった。

とりあえず以下にすると bash でも DOS 用のエスケープしてくるようになる。
(setq w32-system-shells (append '("bash") w32-system-shells))

CYGWIN とかの利用者はどうしてるのかな。あっちの板にいって聞いてみます。

>>49
FTP は、まだ客先とのファイルのやりとりに使ってるので、使わない訳には
いかないのよ。
0052名無しさん@お腹いっぱい。2008/11/13(木) 16:09:48
とりあえずnavi2chをアップデートした方いいかと。
005365.243.132.2 512008/11/13(木) 16:30:30
>>52
どうして?
0054名無しさん@お腹いっぱい。2008/11/13(木) 16:34:03
でないとipが強制的に表示されるから。
0055名無しさん@お腹いっぱい。2008/11/13(木) 16:34:52
わざと出してるのなら別にいいけど。
0056532008/11/13(木) 18:19:51
>>54,55
なるほど、それでか。アップデートしてみました。
これでどうかな。
0057532008/11/13(木) 18:20:43
おお、うまくいった。教えてくれてありがとう。
0058名無しさん@お腹いっぱい。2008/11/13(木) 20:32:43
ウィンドウを縦にスプリットした状態で、
truncate long lineを効かせるにはどうすればいいのだろうか……。
0059名無しさん@お腹いっぱい。2008/11/13(木) 21:09:02
truncate-partial-width-windows
0060名無しさん@お腹いっぱい。2008/11/13(木) 23:09:31
>>57
嫁が買おうと言っている車は何?
0061名無しさん@お腹いっぱい。2008/11/13(木) 23:31:18
レクサス
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 を拡張して候補が見付かれなければ自動的に単語リストを
読み込んでくれるものがあったんですが、
今もどこかにあるんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています