Emacs Part 32
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2009/10/24(土) 04:05:36スレッドルールは以下の通り:
* 初心者にやさしく接すること
* Emacsユーザーとの仲間意識をしっかり持って、馴れ合いを怠らないこと
* このスレでのコミュニケーションを前スレ以上に活発にすること (用がなくとも、毎日の書き込みが理想)
* 部外者/非Emacsユーザーの書き込みも可。但し、女性の書き込みは場の雰囲気を乱すので不可
* 自分で書いた便利なコード/アイディアは他人とシェアしようと試みること
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
ダウンロード http://ftp.gnu.org/pub/gnu/emacs/
Windows用 NTEmacs の最新ダウンロード https://sourceforge.jp/projects/ntemacsjp/files/
CVS先端: cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs
Git: git clone git://git.savannah.gnu.org/emacs.git emacs
_/l__
/ く
| ´ω` | ぐにゅう emacs
| C='|
前スレ http://pc12.2ch.net/test/read.cgi/unix/1251665639/
Emacs は世界を救う!
0548名無しさん@お腹いっぱい。
2009/12/03(木) 22:14:190549名無しさん@お腹いっぱい。
2009/12/03(木) 22:20:220550名無しさん@お腹いっぱい。
2009/12/03(木) 22:23:400551名無しさん@お腹いっぱい。
2009/12/03(木) 22:24:23windows上でもmeadowつかわないで普通のemacs使う人が増えたなとは思う
0552名無しさん@お腹いっぱい。
2009/12/03(木) 22:27:540553名無しさん@お腹いっぱい。
2009/12/03(木) 22:28:040554名無しさん@お腹いっぱい。
2009/12/03(木) 22:33:190555名無しさん@お腹いっぱい。
2009/12/03(木) 22:43:15そうだったんだ。
>>539 の言ってる emacs のほうが、meadow よりいいのかな。
0556名無しさん@お腹いっぱい。
2009/12/03(木) 22:50:450557名無しさん@お腹いっぱい。
2009/12/04(金) 00:56:15NTEmacs で MS-IME 使うときには、なにか特別な設定だかパッチが必要だったと思う。
パッチ当てられたやつが配布されてなかったっけか。
Windows で Anthy を使う方法は知らない。
>>555
とりあえずフォントの設定は楽チンだった。
0558名無しさん@お腹いっぱい。
2009/12/04(金) 02:32:57公開されているNTEmacs23用のIMEパッチは糞だった。
もうあきらめてSKK使ってる。
0559名無しさん@お腹いっぱい。
2009/12/04(金) 03:21:200560名無しさん@お腹いっぱい。
2009/12/04(金) 03:21:590561539
2009/12/04(金) 04:47:40アプリを車のキーに付けたUSBメモリに入れて持ち歩いています
http://portableapps.com/ ←ここ以外のサイトにも沢山あります
7-ZIPやPDFリーダーも便利です こんな感じでEmacsも持ち歩けたら
便利(カッコイイ)なと思いました 職場のPCのCドライブにもコピー
するだけで動くし WindowsPCなら何処にでもあるし
0562539
2009/12/04(金) 05:20:06Ymacs すごくカッコいいです! びっくりしました
USBメモリから(Windows上で)起動出来るアプリとしては
Portable ubuntuも使っているのですが 環境を整えると
サイズが大きくなりすぎる事と 管理者権限でfirewallを設定
されているPCではcolinuxのdaemonが弾かれて起動しないので
Portable ubuntu にEmacsをインストールして使用するのは
諦めました
0563名無しさん@お腹いっぱい。
2009/12/04(金) 07:24:46つ WinAnthy
0564名無しさん@お腹いっぱい。
2009/12/04(金) 16:14:350565名無しさん@お腹いっぱい。
2009/12/04(金) 17:51:21今では彼よりも使いこなしてるけど。
0566名無しさん@お腹いっぱい。
2009/12/04(金) 17:57:400567名無しさん@お腹いっぱい。
2009/12/04(金) 18:07:59500人に一人、0.2%ぐらいかな?
0568名無しさん@お腹いっぱい。
2009/12/04(金) 18:09:460569名無しさん@お腹いっぱい。
2009/12/04(金) 18:31:040570名無しさん@お腹いっぱい。
2009/12/04(金) 18:35:37じゃあ、ぼきゅと付き合ってくれる?
0571名無しさん@お腹いっぱい。
2009/12/04(金) 18:37:140572名無しさん@お腹いっぱい。
2009/12/04(金) 19:10:090573名無しさん@お腹いっぱい。
2009/12/04(金) 19:14:24>* 部外者/非Emacsユーザーの書き込みも可。但し、女性の書き込みは場の雰囲気を乱すので不可
0574名無しさん@お腹いっぱい。
2009/12/04(金) 19:19:120575名無しさん@お腹いっぱい。
2009/12/04(金) 20:46:17php拡張子のファイルを開くと自動的にPHPモードになり、とりあえず使えるようになったのですが、
二つほど分からない点があるので教えていただけないでしょうか。
@ネットでphp-modeについて調べると、外からダウンロードしてきてemacsファイルにphp-modeを読み込む設定を書いてる人が多いのですが、
自分は何も設定していないのにphp-modeが使える状態になっています。これは何故ですか?
ちなみに自分の環境には/usr/share/emacs/site-lispにphp-mode.elがあります。
A自分の環境にあるphp-mode.elの中身を覗いてみると、php-mode.elのバージョンが1.4.0になっていました。
最新バージョンはhttp://sourceforge.net/projects/php-mode/によると1.5.0のようなのでこれに変更したいです。
この場合、/usr/share/emacs/site-lisp/php-mode.elを上書きすればいいのでしょうか?
あるいは、~/.emacs.d/plugins/というディレクトリに個人用のelispを置けるらしいのでここに置けば上記のphp-mode.elより優先して読み込んでくれるのでしょうか?
Emacs熟練者の方がどういう設定をしてるのか知りたいです。
長ったらしくてすいませんがよろしくおねがいします。
0576名無しさん@お腹いっぱい。
2009/12/04(金) 20:50:56ttp://www.itmedia.co.jp/enterprise/articles/0801/07/news030.html
0577名無しさん@お腹いっぱい。
2009/12/04(金) 21:22:160578名無しさん@お腹いっぱい。
2009/12/04(金) 22:25:471、php-mode.elが標準で入ったのはEmacs23からだと思う。
それ以前は自分でインストールして使っていた。その設定例が多いのだと思う。
2、普通は上書きはしない。
別のディレクトリを用意して読ませるようにする。
どこを読ませるかは好みだろう。たとえばオレは ~/elisp/ ってのを作ってそこに入れる。
あと、たぶん大丈夫だろうけど、特定のパッケージだけバージョンを上げてみたら
それに含まれる関数が手元の環境の方に入っていなくて結局使えなかった、
なんてことも考えられるので、何かあったら自分でなんとかするんだ。
0579名無しさん@お腹いっぱい。
2009/12/04(金) 22:55:01どこのEmacs23?
http://cvs.savannah.gnu.org/viewvc/emacs/lisp/progmodes/?root=emacs
0580名無しさん@お腹いっぱい。
2009/12/04(金) 23:13:19>>578だけど、本家には入っていなかったのか。適当なこと言ってごめん。
それはそうと、/usr/share/emacs/site-lisp 以下っていっていることと、
レス内に機種依存文字が使われていることから cygwin なのかも、といまさら予想してみた。
最近の cygwin のこともよく知らないんだけど。
0581名無しさん@お腹いっぱい。
2009/12/04(金) 23:22:01Windows で GNU Emacs 使ってます。
ediff-files などで日本語パスの入ったファイルを指定すると、No such a error とでてしまいます。
解決策をご存知の方はいますか?
もし知っていたらご教示頂けると助かります。
0582名無しさん@お腹いっぱい。
2009/12/04(金) 23:26:54そんなエラーはない、ってこと?
0583名無しさん@お腹いっぱい。
2009/12/04(金) 23:35:09エラーメッセージと一緒に表示されたパスは、UTF8っぽかったんで、sjis とか思い当たる変数にセットしてみたんですけど、うまくいきませんでした。
0584名無しさん@お腹いっぱい。
2009/12/04(金) 23:46:51あと、エラーメッセージはちゃんとコピーしたほうがいいと思うよ。
C-h e で *Messages* バッファが見れるから。
0585名無しさん@お腹いっぱい。
2009/12/05(土) 00:55:44Debian 上で Emacs22 を使っています
以前の sarge の頃は euc-jp の環境で、language-env の吐いた .emacs など
を使っていました
当時は、キーボードの Backspace の左隣にある「¥」の印字されたキーを
叩くと、バックスラッシュがバッファに表示されたました。それで全く問題あ
りませんでした。
バックスラッシュ…UNIX ライクな環境
¥…代わりとして MS Windows だけで使われる
そして、2つの内部表現は同一、と思い込んでいました。
ところが、最近 utf-8 に乗り換えたところ、同じキーを叩くと¥が表示され
て、ビックリしました。
しかも、¥のままだと gcc や javac で "▼n" の箇所が改行されずに、純粋
に文字 '▼' と 'n' の列と解釈されてしまい、途方に暮れました。
さらに酷かったのが TeX で、¥のままだと ! LaTeX Error: Missing \begin{document}.
と怒られる始末でした。さらにソースファイルは euc-jp しか受け付けてくれ
ないので、冒頭に %-*-coding: japanese-iso-8bit;-*- と付け足したので、
余計に混乱しました。
0586名無しさん@お腹いっぱい。
2009/12/05(土) 00:57:38(>>585 のつづき)
結局、ググっていると、右Shift の左隣にある「\」の印字されたキーを叩け
ば、バックスラッシュがバッファに表示され、これで万事解決しました。
キーボードは 106A なんですが、やはり「¥」と「\」では、叩いたときに違
う文字コードが送られるようです。
また、utf-8 でエンコードされたファイルでは¥と\が共存できるので、どう
やら、これらの内部表現は異なるみたいです。
ASCII コードと JIS X 0201 では「¥」と「\」は同じ 0x5c なのに、扱いが
異なるみたいです。
utf-8 では「¥」と「\」の文字コード割り当てが違うんでしょうか?
…なんかもう意味不明です。だれか詳しい方いませんか?
0587名無しさん@お腹いっぱい。
2009/12/05(土) 01:05:19Zeno様、こういう時こそ出番なのではないですか?
0588名無しさん@お腹いっぱい。
2009/12/05(土) 06:39:26EmacsのスレよりもLinux板(のdebianスレ?)できく方がいいんじゃないかなあ。
0589Zeno ◆5nZQbNmQPs
2009/12/05(土) 06:58:55>>586
emacs上で \ の前にカーソルを置いて
(message "%s %s" (what-charset) (char-code-at-cursor))
を実行してみろ。通常なら
(ascii) Char: \ (92, #o134, #x5c) point=1 of 59 (0%) column=0
のように表示されるはずだ。その結果をここに貼り付けろ。
次に、もし別な文字コードになっていたのなら、末端で
$ xbindkeys --key
を実行して、お前のキーボードの「¥」キーをタイプしてみて、
その結果をここに貼り付けろ。
助けてやってるんだから早くしろ。
0590名無しさん@お腹いっぱい。
2009/12/05(土) 07:43:56Emacs22 組込みの UTF-8 だと、以下の設定で ¥ を \ にデコードできるかも。
(puthash #x00a5 ?\\ ucs-unicode-to-mule-cjk)
0591名無しさん@お腹いっぱい。
2009/12/05(土) 14:40:53単純に diff.exe がないんじゃないか?
0592名無しさん@お腹いっぱい。
2009/12/05(土) 15:03:43reverse solidus, U+005C
fullwidth reverse solidus, U+FF3C
yen sign, U+00A5
fullwidth yen sign, U+FFE5
とUnicode文字名か、Unicodeスカラ値で書いた方がいいと思う。
ちなみに昔のEmacsでは、キーボードからyen signを受け取っても、
reverse solidusに変換していた。
0593名無しさん@お腹いっぱい。
2009/12/06(日) 09:12:54if(...) の ... を複雑にしすぎると外側の ( ) の対応が取れなくなることがある気がする。
0594名無しさん@お腹いっぱい。
2009/12/06(日) 09:25:170595Zeno ◆5nZQbNmQPs
2009/12/06(日) 09:50:07>>593
c++-modeを使え。
0596名無しさん@お腹いっぱい。
2009/12/06(日) 10:17:550597名無しさん@お腹いっぱい。
2009/12/06(日) 11:50:54挿入モードと上書きモードを使い分けてテキストでブレストしたいのです.
0598名無しさん@お腹いっぱい。
2009/12/06(日) 12:12:36vipper-mode とか viper-mode が便利かもしれない ただ学習コストは高いかも
<M-g><M-g>で行移動はできる
0599名無しさん@お腹いっぱい。
2009/12/06(日) 12:14:17Emacs上でhjklで移動できる
0600名無しさん@お腹いっぱい。
2009/12/06(日) 12:17:09何も入力されてない方向にカーソルもってくと空白がかってに挿入されて
好きな場所に文字が入力出来る、みたいなのを想定してるんだろうか
0601Zeno ◆5nZQbNmQPs
2009/12/06(日) 12:35:00>>600
懐かしいな。
久々に使用してみたが、やはり良いな。
*-draw-* は幾つか増やして欲しいものだが。
0602名無しさん@お腹いっぱい。
2009/12/06(日) 13:04:520603名無しさん@お腹いっぱい。
2009/12/06(日) 13:28:39現代ではそういうのはExcelが担当してるな・・・
0604名無しさん@お腹いっぱい。
2009/12/06(日) 13:40:15そうです! それです.ありがとうございます.
Tabの振舞やRETで前の行が次の行にコピーされるのが面白いですね.
これをベースにすれば色々とできそうですね.
0605名無しさん@お腹いっぱい。
2009/12/07(月) 15:05:540606名無しさん@お腹いっぱい。
2009/12/07(月) 15:28:42ttp://livedoor.2.blogimg.jp/amplit/imgs/b/f/bf510016.jpg
0607名無しさん@お腹いっぱい。
2009/12/07(月) 20:14:260608名無しさん@お腹いっぱい。
2009/12/07(月) 20:38:190609Zeno ◆5nZQbNmQPs
2009/12/07(月) 20:43:40>>606
「おっぱいを」見せろ
0610名無しさん@お腹いっぱい。
2009/12/07(月) 21:54:250611名無しさん@お腹いっぱい。
2009/12/07(月) 23:44:05うるせーはげ
0612名無しさん@お腹いっぱい。
2009/12/07(月) 23:57:48> 14歳のおっぱい
ttp://www.kyoto-np.co.jp/static/2009/09/27/P2009092700056.jpg
ttp://www.kyoto-np.co.jp/article.php?mid=P2009092700056&genre=K1&area=K00
0613名無しさん@お腹いっぱい。
2009/12/08(火) 00:20:360614名無しさん@お腹いっぱい。
2009/12/08(火) 14:33:00現在Emacsにて、特定の処理をしています。
処理は、
replace-regexp
などを何度か行う処理なのですが、処理対象が100ファイル程度あります。
現在は手作業で1ファイルづつ行っているのですが、これを一括で行う方法などありませんでしょうか?
全てのファイルに対して行う処理は同じになります。
0615名無しさん@お腹いっぱい。
2009/12/08(火) 14:42:250616名無しさん@お腹いっぱい。
2009/12/08(火) 14:53:34elisp書けばいいとは思うけど
そういうのはelispもともと知っててemacsの中で完結してなきゃいやんな人向けだ
0617名無しさん@お腹いっぱい。
2009/12/08(火) 15:34:320618名無しさん@お腹いっぱい。
2009/12/08(火) 15:52:26こんな感じでどうだ? 動作未確認だけど
(mapc
(lambda (x)
(find-file x)
(goto-char (point-min))
(replace-regexp regexp to-string)
(save-buffer)
(kill-buffer (current-buffer)))
'("~/file_1"
"~/file_2"
"~/file_n"))
0619名無しさん@お腹いっぱい。
2009/12/08(火) 16:19:28「動作未確認だけど」とか語尾につけるやつに限って
まともに動くもんださないんだよなあ…
0620名無しさん@お腹いっぱい。
2009/12/08(火) 16:20:240621名無しさん@お腹いっぱい。
2009/12/08(火) 16:30:32所詮、みんな、通りすがりだぞ www
0622名無しさん@お腹いっぱい。
2009/12/08(火) 16:35:200623名無しさん@お腹いっぱい。
2009/12/08(火) 16:37:570624名無しさん@お腹いっぱい。
2009/12/08(火) 17:18:36どこまでひねくれてんだお前
0625名無しさん@お腹いっぱい。
2009/12/08(火) 17:36:110626614
2009/12/08(火) 18:36:27私が「など」と言ってまとめてしまったので、荒れさせてしまったようですね。
処理の中には置き換えのほかにも、indent-region等を行っているのでEmacsの機能を使っています。
現在、作業自体はすべて手作業で終えたのですが、今後の為にも何かあれば教えていただければと思います。
完全に提携の作業なので、現在はキーマクロを使ってできないかと思い調べています。
0627名無しさん@お腹いっぱい。
2009/12/08(火) 18:42:52elispを勉強すればemacs上で出来ることはなんでも自動化出来ると思うよ。
キーマクロでも全然問題ないけど。
0628名無しさん@お腹いっぱい。
2009/12/08(火) 18:51:170629名無しさん@お腹いっぱい。
2009/12/08(火) 19:28:110630名無しさん@お腹いっぱい。
2009/12/08(火) 19:28:47sedかelispのどっちを使うのを決めればいい。
ファイルの前後を移動して編集するような操作の自動化は、
たとえ複数ファイルでもよくelispで書くよ。
私が使うのは、with-temp-files と、insert-file-contentsの組み合わせ。
たとえば、
(let ((files (file-expand-wildcards "~/hogehoge/*.txt")))
(dolist (file files)
(with-temp-file file
(insert-file-contents file)
いろいろな処理
)))
という感じかな。
あと insert-file-contentsを使う場合は、文字コードとかの自動判別に
気をつけてね。。。
0631名無しさん@お腹いっぱい。
2009/12/08(火) 20:01:51(defmacro with-file (filename &rest body)
(let ((buf (gensym "--buf--")) (fn (gensym "--fn--")))
`(let ((,fn ,filename))
(let ((,buf (get-file-buffer ,fn)) need-close)
(unless ,buf
(setq ,buf (find-file ,fn) need-close t))
(when ,buf
(unwind-protect (progn ,@body)
(when need-close
(kill-buffer ,buf))))))))
(put 'with-file lisp-indent-function 1)
(defmacro edit-files (files &rest body)
(let ((f (gensym "--f--")))
`(mapc (lambda (,f) (with-file ,f ,@body (save-buffer))) ,files)))
(put 'edit-files lisp-indent-function 1)
(edit-files '("~/file1" "~/file2" "~/file3")
(upcase-region (point-min) (point-max)))
0632名無しさん@お腹いっぱい。
2009/12/08(火) 20:18:32良いね。
with-file は with-temp-file でよくない?
0633名無しさん@お腹いっぱい。
2009/12/08(火) 20:37:500634名無しさん@お腹いっぱい。
2009/12/08(火) 20:38:56moccur-color と moccur-edit を使ってみたら?
M-x moccur-grep-find で修正箇所を洗い出して、moccur-edit と replace-regexp で一括置換。
0635名無しさん@お腹いっぱい。
2009/12/08(火) 20:39:060636名無しさん@お腹いっぱい。
2009/12/08(火) 20:39:11じゃあちょっと目的が違いますね。
0637名無しさん@お腹いっぱい。
2009/12/08(火) 20:41:50ということでwith-temp-bufferじゃダメですね。
0638名無しさん@お腹いっぱい。
2009/12/08(火) 20:42:38その用途だと、emacsユーザーの間で>>630のフレーズが
流行っているように思われる。なに使ってもいいと思うけど。
;; ファイルの中身を修正してセーブ
(with-temp-file filename
(insert-file-contents filename)
... )
0639名無しさん@お腹いっぱい。
2009/12/08(火) 21:17:120640名無しさん@お腹いっぱい。
2009/12/08(火) 21:23:540641名無しさん@お腹いっぱい。
2009/12/08(火) 21:35:08>>639
0642618
2009/12/08(火) 22:08:32荒れてしまったのは >>619 のコメントが理由だよw
ちょっと気になったのだが、差し支えなければ、>>614 がその作業をしてる目的
などを教えてくれ。たとえば、どんなファイルをいじっているのか、とか。
>>631
macro とか、熟練者であれば理解できるだろうが、察するに >>614 には難しそ
うだな。理解できれば、非常に参考になるだろうが。
恐らく >>614 にとっては >>618 の内容についても難しいのだろう。
(もしそうでなかったら、>>614 にはその非礼をお詫びする)
>>634
moccur-color とか、どの library にあるんだろうか?
0643名無しさん@お腹いっぱい。
2009/12/08(火) 22:54:18color-moccur だった。
color-moccur
http://www.bookshelf.jp/soft/meadow_50.html#SEC743
moccur-edit
http://www.bookshelf.jp/soft/meadow_50.html#SEC766
0644名無しさん@お腹いっぱい。
2009/12/08(火) 23:11:29wanderlustでpop3 over SSL受信しようと~/.foldersを以下のように設定しました。
&hoge@hotmail.com/user@pop3.live.com:995!
ところが、user部分に"@"が含まれているため、どうもpop3ホストと接続出来ません。
何かいい方法はありませんでしょうか。
0645618
2009/12/08(火) 23:59:57ざっと見、標準の multi-occur や multi-occur-in-matching-buffers に似てる
感じだな。ありがとう。
0646名無しさん@お腹いっぱい。
2009/12/09(水) 10:37:45&"hoge@hotmail.com"@pop3.live.com:995!
でどうよ。
デフォルトが /user なので書かなくていい。書いてもいいけど。
0647Zeno ◆5nZQbNmQPs
2009/12/09(水) 12:45:05Emacs pretest 23.1.90 が先程リリースされた。
君達も試してみなさい。
Emacs pretest 23.1.90 is now available for download via FTP, at the
following location:
ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-23.1.90.tar.gz
The xdelta against Emacs 23.1 is here:
ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-23.1-23.1.90.xdelta
This is the first pretest for what will be the Emacs 23.2 release.
■ このスレッドは過去ログ倉庫に格納されています