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

Emacs part 28

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2009/01/21(水) 20:20:55
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 リリースのダウンロード http://ftp.gnu.org/pub/gnu/emacs/
Windows用 NTEmacs の最新ダウンロード https://sourceforge.jp/projects/ntemacsjp/files/

前スレ http://pc11.2ch.net/test/read.cgi/unix/1226188082/
CVS先端: cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs
0208名無しさん@お腹いっぱい。2009/02/15(日) 11:24:56
>>207
MonospaceやBitstream Vera Sans Monoなら揃うみたい
IPAゴシックや東風だと揃わない

同じM+1VM+IPAG circleでもターミナルでは揃う
http://www.dotup.org/uploda/www.dotup.org11054.png.html
0209名無しさん@お腹いっぱい。2009/02/15(日) 11:30:35
>>208
それなら、ascii 文字だけはmono系を使うようにすればいいじゃない。
日本語だけ別のフォントを使うように設定してる人はかなり多いでしょ。
その逆。
0210名無しさん@お腹いっぱい。2009/02/15(日) 11:58:10
俺も気になってたんだけど、なんでEmacsだと揃わないの?
diredとかガタガタになる
0211名無しさん@お腹いっぱい。2009/02/15(日) 13:58:04
>210
理由を知ってどうすんの?
0212名無しさん@お腹いっぱい。2009/02/15(日) 14:26:17
直す
0213名無しさん@お腹いっぱい。2009/02/15(日) 16:43:06
フォント混在だと navi2ch のスレ一覧とかがガタガタになるのが気持ち悪い。
0214名無しさん@お腹いっぱい。2009/02/15(日) 17:26:13
navi2chでは、
xft:-ricoh-MS Pゴシック-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1
を使ってる。
AAいい感じ
0215名無しさん@お腹いっぱい。2009/02/16(月) 01:15:03
>>214
それをどうやって指定するの?
0216名無しさん@お腹いっぱい。2009/02/16(月) 01:37:31
.Xresorce に(UTF-8で)
Emacs.Font: -ricoh-MS Pゴシック-normal-normal-normal-*-16-*-*-*-*-*-*-*
を入れている。
これだと全部が変わるので、Emacs.Fontset-nとかで作っといて
navi2chのなんちゃらhookで変えるようにすればいいと思いつつ、
実はそこまでやってない。

とりあえず、M-x menu-set-fontでfont選ぶとこからスタート
出来たら僕に教えてください。
ちなみにGNU Emacs 23.0.90.1
0217名無しさん@お腹いっぱい。2009/02/16(月) 03:59:44
バッファテキストの表示領域の上下左右にマージンをいれたいのだけど、
そういう設定って出来たっけ?
0218名無しさん@お腹いっぱい。2009/02/16(月) 05:11:57
fringe
とかじゃなくて?
0219名無しさん@お腹いっぱい。2009/02/16(月) 05:31:25
>>216
スレのちょっと前のほうをみて、
(add-hook 'navi2ch-article-mode-hook
(lambda ()
(buffer-face-set (font-face-attributes "MS Pゴシック-16"))))
でできた。
で、昨日、Emacs 23 に移行したんやけど、
(setq default-frame-alist
'((screen-gamma . 1.5)
(background-color . "floral white")
(font . "MS ゴシック-16")))
で、Emacs がやたら横長になるんやけど、なんとかならへん?
02202192009/02/16(月) 05:41:00
default-frame-alist に (width . 40)
を追加したら見慣れた幅になったわ。

でも、(window-width) が 40 を返すせいか、emacs-w3m で表示した、ウェブペー
ジのテキストが半分の位置で折り返されてしまうわorz

あと、tab が全角 8 文字分移動するのもなんとかなんらへんかな。

0221名無しさん@お腹いっぱい。2009/02/16(月) 07:56:36
>>219
describe-fontset すると解るけど
-ricoh-MS Pゴシック-normal-normal-normal-*-16-*-*-*-*-*-*-*
の16と
(font-face-attributes "MS Pゴシック-16")
の16って意味違うのよ
だので、こちらは(font-face-attributes "MS Pゴシック-12")
でいい感じ、有難う。
フォントの幅は、最近のpretest versionだと直ってるみたい。
ftp://alpha.gnu.org/pub/gnu/emacs/pretest/emacs-23.0.90.tar.gz
でやってみて。

AA綺麗に見れるでしょ。
02222212009/02/16(月) 08:12:28
ごめんなさい、ごめんなさい、ごめんなさい、
上の話忘れて下さい。
色々確認してから書きます。
うーん。
0223名無しさん@お腹いっぱい。2009/02/16(月) 08:50:03
pretestでも駄目なんかー
02242212009/02/16(月) 10:17:50
font幅の事:
fontによって幅の取得が倍になったりするのは上で色々書かれてる通り。
多分、このフォント幅は倍だよとかemacsに教える必要があると思う。
See xterm etc.
その方法は有るのか無いのか含めて解らない。

navi2ch と AA の事:
http://pc11.2ch.net/test/read.cgi/unix/1043510520/353
を綺麗に見るのが目的。
219の方法だと完全ではない。
menu-set-fontでMS Pゴシック選ぶと綺麗に見れるのでもう少し根性が必要みたい。

うーん、役立たず。
0225名無しさん@お腹いっぱい。2009/02/16(月) 23:11:38
オライリーのBeautiful Architecturesに、
Emacsが載ってたよ、拡張可能なソフトウェアとして。
0226名無しさん@お腹いっぱい。2009/02/16(月) 23:45:15
>>219と同じかどうか分からないが、うちでは横幅が長くなる件は
ttp://garakuta.homelinux.org/~nosuke/diary/diary.html?y=2008&m=10&d=15&n=1
にある:spacing=0で直った。IPAでなくLX P Gothic使ってるけど。
0227名無しさん@お腹いっぱい。2009/02/17(火) 00:05:04
Emacsは拡張可能でもBeautifulではありません。
0228名無しさん@お腹いっぱい。2009/02/17(火) 00:06:21
>>227
Emacsはコード自体もBeautifulだよ。
0229名無しさん@お腹いっぱい。2009/02/17(火) 02:20:03
要するにEmacs23のフォントまわりは腐ってるってことでしょ?
早過ぎたんだ!
0230名無しさん@お腹いっぱい。2009/02/17(火) 02:23:48
いや、遅すぎたんだ
0231名無しさん@お腹いっぱい。2009/02/17(火) 02:43:08
どっちやねん!
0232名無しさん@お腹いっぱい。2009/02/17(火) 05:07:42
おはようございます
0233名無しさん@お腹いっぱい。2009/02/17(火) 05:45:13
dabbrevの補完候補を現在バッファからは探さないようにする設定ってありますか?
0234名無しさん@お腹いっぱい。2009/02/17(火) 10:26:03
Emacs-nox11を使ってる友人の画面を見た事が有るのですが
CUI上にひょうじされている画面上の
File Edit Options Buffers
とかのメニューは何のために有るのでしょうか?
使えるのでしょうか?
0235名無しさん@お腹いっぱい。2009/02/17(火) 11:24:02
>>234
俺はGUIでもメニューは使わないけど、
Emacsが立ち上がってることが分かるように表示させてる。
0236名無しさん@お腹いっぱい。2009/02/17(火) 11:29:05
>>234
キーボードで操作できる。
0237名無しさん@お腹いっぱい。2009/02/17(火) 11:45:00
>>234
M-` で使えたと思う

>>235
普通はmode lineでわかるだろうし変わってるなw
0238名無しさん@お腹いっぱい。2009/02/17(火) 11:53:48
xterm-mouse-mode を使えば、一応マウスに反応する。
02392342009/02/17(火) 12:14:31
>>235-238
ありがとう御座います。
友人にも連絡がついたので聞いてみた所
たしかにF10などのキーでメニューにアクセスはできると教えてくれました。
ありがとう御座います。
0240名無しさん@お腹いっぱい。2009/02/17(火) 12:20:29
すいません、ご回答よろしくおねがいします。
Emacsでshellを立ち上げたときに下手をすると
バックスペースでそのままプロンプトを消してしますのですが、
通常のシェルと同じようにプロンプトが消えないようにするにはどのようにすればいいのでしょうか?
0241名無しさん@お腹いっぱい。2009/02/17(火) 12:25:42
そういうシェルモードを作る。出来たらここでアナウンスしてくれ。
0242名無しさん@お腹いっぱい。2009/02/17(火) 12:28:22
comint-prompt-read-only
0243名無しさん@お腹いっぱい。2009/02/17(火) 12:29:24
eshellというものを知りました。
eshellはプロンプトが消えないみたいですね。
今度ソースを読んでみたいと思います。
0244名無しさん@お腹いっぱい。2009/02/17(火) 12:31:26
>>243
> eshellはプロンプトが消えないみたいですね。

消したいの? じゃ、これで。

(setq eshell-prompt-function (lambda () (interactive) ""))

0245名無しさん@お腹いっぱい。2009/02/17(火) 12:37:51
消したいなんて言ってないだろ
日本語読めねーのかハゲ
0246名無しさん@お腹いっぱい。2009/02/17(火) 14:05:17
>>233
そんな設定は無い
他のバッファを対象にするかどうかの設定ならあるが、
カレントバッファは問答無用で使うよ
0247名無しさん@お腹いっぱい。2009/02/17(火) 14:16:29
>>245
そういう方法もあるってことだよ。
前頭葉があまり発達してなさそうだね君。
02482432009/02/17(火) 14:23:08
まあ、もめないでください。
プロンプトの消し方。
消さない方法、それぞれありがとう御座いました。
0249名無しさん@お腹いっぱい。2009/02/17(火) 15:23:11

 な に も め て ん だ ?

しかしママのおっぱいしか揉んだ事ない奴ら同士で
ある意味揉める事ができるとは画期的なファンクションだな・・・

んでマイコンの話しか?
0250名無しさん@お腹いっぱい。2009/02/17(火) 15:28:41
凍え死ぬかと思ったわ
0251名無しさん@お腹いっぱい。2009/02/17(火) 15:48:32
鬱病になるかと思ったわ
0252名無しさん@お腹いっぱい。2009/02/17(火) 15:51:37
>>246
なんとかなりませんか?
0253名無しさん@お腹いっぱい。2009/02/17(火) 19:39:43
お願いします。
Emacsのshell上で端末割り込みキーを入力するにはどのようにすればいいのでしょうか?
間違えて引数無しでperlを実行してしまい。なんの反応もなくなってしまいました。
0254名無しさん@お腹いっぱい。2009/02/17(火) 19:42:25
>>253
C-c
C-c
0255名無しさん@お腹いっぱい。2009/02/17(火) 19:43:02
>>253
C-d
0256名無しさん@お腹いっぱい。2009/02/17(火) 21:00:14
>>252
dabbrev--find-expansion に advice する、とかで可
0257名無しさん@お腹いっぱい。2009/02/17(火) 21:41:41
changelogモードって、いまいちだよね。
みんな、コードのメモはどうしてる?
0258名無しさん@お腹いっぱい。2009/02/17(火) 21:43:42
コードに書く。あとはchengelogで十分。
0259名無しさん@お腹いっぱい。2009/02/17(火) 23:25:43
日本語入力はscim-bridge-ja使ってます。key-chord.elの存在を知り、
fjキー同時押しでscimの日本語入力モードを起動したいのですが、
どのように設定すればいいでしょうか? 宜しくお願いします。
0260名無しさん@お腹いっぱい。2009/02/18(水) 02:14:44
Emacs長く使ってるけど、key-chord.elは知らなかった。この発想はなかったな。
まだまだ精進が足りないし、Emacsの奥の深さに敬服する。
0261名無しさん@お腹いっぱい。2009/02/18(水) 02:30:25
奥が深い症候群ktkr
0262irie2009/02/18(水) 02:38:05
>>259
↓これでトグルできると思いますけど。

(key-chord-define-global
"fj"
(lambda ()
(interactive)
(if scim-mode
(scim-dispatch-key-event scim-toggle-input-method-event))))

あー、GUI セットアップユーティリティーで SCIM をトグルするキーの
設定を変えている場合は、 `scim-toggle-input-method-event' の値を
変える必要があるかもしれません。
0263名無しさん@お腹いっぱい。2009/02/18(水) 03:32:20
key-chordはどういうわけか勝手に動かなくなるので使うのやめた
いったんoffにしてもっかいonにすると動くようになったけど
0264名無しさん@お腹いっぱい。2009/02/18(水) 03:58:17
>>252
てゆーかC-u 押してやったときの挙動ってそういうことじゃないの?
0265名無しさん@お腹いっぱい。2009/02/18(水) 08:39:31
>>256,264
ありがとうございます、おかげでvimの辞書補完っぽくするのがやっとできました
0266名無しさん@お腹いっぱい。2009/02/18(水) 09:39:27
>>262
ありがとうございます。キーはデフォルトのままなので、望み通り動作しました

>>263
日本語入力モードにすると動かなくことがあるようですね。
ttp://d.hatena.ne.jp/grandVin/20080917/1221653750
0267名無しさん@お腹いっぱい。2009/02/18(水) 22:36:06
Emacs22 で、-nw で起動して C-x 3 すると真ん中のセパレーターに背景色が付くようになったのですが、
これを Emacs21 のように背景色無しに設定するにはどうしたらいいでしょうか。
0268名無しさん@お腹いっぱい。2009/02/18(水) 22:59:22
list-faces-display して自己解決しました。
0269名無しさん@お腹いっぱい。2009/02/19(木) 06:46:01
C-x C-bでバッファ一覧が一画面に収まらないので
グループ分けすることできないでしょうか
0270名無しさん@お腹いっぱい。2009/02/19(木) 07:18:07
ttp://www.jurta.org/en/emacs/ee
これ入れてみるとか
0271名無しさん@お腹いっぱい。2009/02/19(木) 08:01:18
文字単位でフォントが指定できるなんて、
やっぱりemacsはすごいなー。
0272名無しさん@お腹いっぱい。2009/02/19(木) 09:59:44
改行コードのご認識について質問です。

CentOS上のEmacs22でPHPソースの編集をしているのですが、なぜか改行コード
の誤判定が多いのです。正しくは、mule-utf-8-dos なのですが(元々、
Windows 上で作成されたソース)、なぜか mule-utf-8 と判定されて、行末に
「^M 」が並ぶことになり、ソースを開くたびに C-x RET C mule-utf-8-dos
C-x C-v を繰り返しております。

誤判定が起こりやすい理由と対策をご存知の方がおられましたら、教えていた
だけないでしょうか?

ちなみに同じソースをSamba経由でxyzzyで開くと、誤判定は起こりません。
0273名無しさん@お腹いっぱい。2009/02/19(木) 10:17:44
1行目を訂正
×ご認識 → ○誤認識
0274名無しさん@お腹いっぱい。2009/02/19(木) 10:34:38
src/coding.cのdetect_eof_type()/detect_eof()にあるとおり、
混在していると-unixになります。

grep -v '^M$' filename

で確認してみてください。
0275名無しさん@お腹いっぱい。2009/02/19(木) 12:07:41
>>274
アドバイス、ありがとうございます。

> grep -v '^M$' filename
実行してみたのですが、ファイルの全行が画面に出力されてしまいました。
なにがまずいんだろう...。
0276名無しさん@お腹いっぱい。2009/02/19(木) 13:02:58
ホントに全行?
wc -l とかして比較してみそ。
0277名無しさん@お腹いっぱい。2009/02/19(木) 13:10:36
ホントに全行です。どちらも4376行。
そもそも、編集ウィンドウを見渡す限り、どの行末にも ^M がついているのに、
大量に画面出力されること自体、妙な話ではありますが。
0278名無しさん@お腹いっぱい。2009/02/19(木) 13:29:41
単に全ての行の終わりに \r しかないんじゃないのか?
DOSだと \r\n だが、Unixは \n。
\n が見つからなけりゃ一行になる。
0279名無しさん@お腹いっぱい。2009/02/19(木) 14:03:50
'^M' が行頭のMと認識されているような気がwww

\r の '^M' を入力するには eshell 上で C-q C-m する
0280名無しさん@お腹いっぱい。2009/02/19(木) 16:01:44
>>279
> '^M' が行頭のMと認識されているような気がwww
大正解...。普通に「^」(ハット)のキーを押してました...。

> \r の '^M' を入力するには eshell 上で C-q C-m する
今度はうまく行きました。ありがとうございます。
しかし、grep -v '^M$'では一行も出力されませんでした。
やっぱり ^M は全行にあるようです。
0281名無しさん@お腹いっぱい。2009/02/19(木) 16:33:17
$ cat test.el
(setq initial-frame-alist
'((font . "Sans") (background-color . "white")))
(setq default-frame-alist '((font . "Monospace")))
$ emacs -Q --load test.el
するとフォントがMonospaceになるんだけど、バグかな。
0282名無しさん@お腹いっぱい。2009/02/19(木) 17:39:54
>>280
まさかとおもうけれど、
M-x describe-coding-system
すると、*-unixのオンパレードで、
> 誤判定が多いのです。
いつも*-unixになっているってことは…

0283名無しさん@お腹いっぱい。2009/02/19(木) 19:09:31
>>282
ありがとうございます。そういうことはないようです。
0284名無しさん@お腹いっぱい。2009/02/19(木) 21:22:27
>>283

(setq auto-coding-functions nil)
ってするとどう?
0285名無しさん@お腹いっぱい。2009/02/19(木) 21:39:03
>>284
ありがとうございます。やはり誤判定が続きます...。
0286名無しさん@お腹いっぱい。2009/02/19(木) 22:31:22
だれでも再現できるようにファイル晒しませんか
0287名無しさん@お腹いっぱい。2009/02/19(木) 22:34:51
unix2dos すれば。
0288名無しさん@お腹いっぱい。2009/02/19(木) 22:39:56
emacs -q で起動して開けば、ちゃんと表示できないか?
0289名無しさん@お腹いっぱい。2009/02/19(木) 23:38:27
初歩的な質問ですが、
C-kではカーソル位置からの削除ですが、viのddのように1行を削除するにはどうやるのでしょうか?
0290名無しさん@お腹いっぱい。2009/02/19(木) 23:51:11
>>289
C-a C-k とするのが普通だと思うよ。
0291名無しさん@お腹いっぱい。2009/02/19(木) 23:53:16
emacs wikiより

(defun kill-whole-line (&optional numlines)
"One line is deleted wherever there is a cursor."
(interactive "p")
(setq pos (current-column))
(beginning-of-line)
(kill-line numlines)
(move-to-column pos))

(define-key esc-map "k" 'kill-whole-line)

でM-kで1行削除
0292名無しさん@お腹いっぱい。2009/02/19(木) 23:57:16
Meadow/Emacs memoだったかも…
0293名無しさん@お腹いっぱい。2009/02/20(金) 00:04:29
>>291
kill-whole-lineはEmacs22からあるよ。
Ctrl-Shift-BackSpace に割り当てられていた。
0294名無しさん@お腹いっぱい。2009/02/20(金) 00:11:29
うぉ、それは知らなかったぜ
0295名無しさん@お腹いっぱい。2009/02/20(金) 11:05:44
>>285
読んでるソースの中に coding-system の指定が埋まってるとかいう
オチではないよね。
0296名無しさん@お腹いっぱい。2009/02/20(金) 11:45:40
>>293
うっかり、Ctrl+Alt+Backspaceと間違えそう。危険すぎる。
0297名無しさん@お腹いっぱい。2009/02/20(金) 12:36:32
>>286
> だれでも再現できるようにファイル晒しませんか
すみません、ソース全体は、守秘義務でさらせません。
時間があったら、現象の再現するサブセットを作るべきなのですが...。

>>287
> unix2dos すれば。
このツールは知りませんでした。ありがとうございます。
適用したところ、当該ファイルの誤判定はなくなりました!

しかし不思議なのは、svn diff を取っても、差が何もないことです。
いったい何を間違えたんだろう??
まさか.svnディレクトリの中まで修正してしまった?!
まあ解決したからいいのかな...。

ちなみにほかにも誤判定するファイルがあるのですが、それははっきりと改行
コードが混在していて、 unix2dos後に svn diff は差を示しました。

>>288
> emacs -q で起動して開けば、ちゃんと表示できないか?
ありがとうございます。試してみましたが、あまり関係なかったようです。

>>295
> 読んでるソースの中に coding-system の指定が埋まってるとかいう
> オチではないよね。
ありがとうございます。マジックコメントはありません。このプロジェクトは
たぶん、ほかにEmacsを使っている人がいませんので。


とりあえず以上です。皆さん、たいへんお世話になりました。
0298名無しさん@お腹いっぱい。2009/02/20(金) 13:01:32
>>296
Xorg.confのServerFlagsセクションにDontZapオプションを追加すればいいらしいよ
02992892009/02/20(金) 14:21:33
>>290-293
ありがとうございます。おとなしくC-a C-kにします
0300名無しさん@お腹いっぱい。2009/02/20(金) 15:37:20
emacs-noxとemacs -nwって全く同じですか?
0301名無しさん@お腹いっぱい。2009/02/20(金) 15:53:42
noxはX11ライブラリが無くても立ち上がる。
0302名無しさん@お腹いっぱい。2009/02/20(金) 16:24:58
emacsってすげなー
Putty on Linuxから日本語入力できるんだな

3年計画ぐらいでWindowsを仮想化していくぞ
0303名無しさん@お腹いっぱい。2009/02/20(金) 17:39:39
OS: Debian lenny/stable
emacs: GNU Emacs 22.2.1 (i486-pc-linux-gnu, GTK+ Version 2.12.11)

lenny が stable になったのを機会に emacs21 から emacs22 に移行
前と同じ動作をするように .emacs 編集中
色々よくわからない

一例
これまで redo.el という lisp を
~/elisp/redo.el
において

(add-to-list 'load-path "~/elisp")
(require 'redo)
(global-set-key "\C-z" 'redo)

としていたのですが、これが上手く働かない
Describe key (<f1> c) Ctrl z
と打っても
C-z runs the command iconify-or-deiconify-frame
と返されて global set key が反映されていない模様
emacs21 と emacs22 では .emacs の書き方が大きく
変わったのでしうょか?
0304名無しさん@お腹いっぱい。2009/02/20(金) 17:41:28
>>302
C-\とかを通すのは一工夫必要だけどね・・・
03053032009/02/20(金) 18:05:08
自己レスです

どうも lisp ファイルの文字コードの問題らしいです
ロードする lisp ファイルの文字コードを utf-8 に変換して
保存したら、読み込むようになったっぽいです

起動時の窓の大きさ指定が反映されないとか
まだいろいろありますが
とりあえず検証を続けます
0306名無しさん@お腹いっぱい。2009/02/20(金) 21:23:32
>>304
一工夫、必要みたいですね・・・

そう言えば、この前、putty上で試したときに日本語は、飛んでいて、英語しか出力されていなかったわ
emacs上でpythonインタラクティブモードで文字コードをみると表示は、されないけど
入力は、されているみたいですね

puttyごった煮 for winってすごいんですね
0307名無しさん@お腹いっぱい。2009/02/20(金) 22:45:54
>>297
svn diff じゃなくて unix2dos 前後のファイルで diff とりゃ良かったのに。
■ このスレッドは過去ログ倉庫に格納されています