元スレEmacs Part 32
emacs覧 / PC版 /みんなの評価 : ○
601 = :
>>600
懐かしいな。
久々に使用してみたが、やはり良いな。
*-draw-* は幾つか増やして欲しいものだが。
602 = :
一太郎とか、ワープロ専用機に多かったよねそういうの。
603 = :
>>602
現代ではそういうのはExcelが担当してるな・・・
604 = :
>>600
そうです! それです.ありがとうございます.
Tabの振舞やRETで前の行が次の行にコピーされるのが面白いですね.
これをベースにすれば色々とできそうですね.
605 = :
感謝の印におっぱい見せろよ
606 = :
607 = :
よくやった
609 = :
>>606
「おっぱいを」見せろ
610 = :
ただし14歳のおっぱいに限る
611 = :
>>609
うるせーはげ
612 = :
>>610
> 14歳のおっぱい
ttp://www.kyoto-np.co.jp/article.php?mid=P2009092700056&genre=K1&area=K00
614 = :
Emacsについて質問させてください。
現在Emacsにて、特定の処理をしています。
処理は、
replace-regexp
などを何度か行う処理なのですが、処理対象が100ファイル程度あります。
現在は手作業で1ファイルづつ行っているのですが、これを一括で行う方法などありませんでしょうか?
全てのファイルに対して行う処理は同じになります。
616 = :
それもそうだよな
elisp書けばいいとは思うけど
そういうのはelispもともと知っててemacsの中で完結してなきゃいやんな人向けだ
618 = :
>>614
こんな感じでどうだ? 動作未確認だけど
(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"))
619 = :
通りすがりの凄腕を気取って
「動作未確認だけど」とか語尾につけるやつに限って
まともに動くもんださないんだよなあ…
620 = :
別に凄腕気取ってなくね?
621 = :
>>619
所詮、みんな、通りすがりだぞ www
622 = :
「動作未確認だけど」って言わずにまともに動かないよりいいんじゃね。
623 = :
Zeno様に頼めば書いてくれるんじゃね?
624 = :
>>619
どこまでひねくれてんだお前
625 = :
この業界にはそういうの多いよね。
626 = :
すみません。
私が「など」と言ってまとめてしまったので、荒れさせてしまったようですね。
処理の中には置き換えのほかにも、indent-region等を行っているのでEmacsの機能を使っています。
現在、作業自体はすべて手作業で終えたのですが、今後の為にも何かあれば教えていただければと思います。
完全に提携の作業なので、現在はキーマクロを使ってできないかと思い調べています。
627 = :
>>626
elispを勉強すればemacs上で出来ることはなんでも自動化出来ると思うよ。
キーマクロでも全然問題ないけど。
628 = :
定型作業なら普通にsedでいいと思うけどなあ。
629 = :
618が答えてやってんだから試してみれば
630 = :
複数ファイルか否かじゃなくて、やりたい処理に適してるかどうかで
sedか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を使う場合は、文字コードとかの自動判別に
気をつけてね。。。
631 = :
618のを試すついでにそれっぽくしてみた。
(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)))
633 = :
知らんかったのです。
634 = :
>>614
moccur-color と moccur-edit を使ってみたら?
M-x moccur-grep-find で修正箇所を洗い出して、moccur-edit と replace-regexp で一括置換。
635 = :
今日は>>633がまた新しい知識を仕入れたのを見れたのでよかったです
636 = :
あ、with-temp-fileはファイルを読み込むわけじゃないんですね。
じゃあちょっと目的が違いますね。
638 = :
>>636
その用途だと、emacsユーザーの間で>>630のフレーズが
流行っているように思われる。なに使ってもいいと思うけど。
;; ファイルの中身を修正してセーブ
(with-temp-file filename
(insert-file-contents filename)
... )
639 = :
ナントカの一つ覚えという言葉はご存じないようですね。
640 = :
ナントカ?
641 = :
642 = :
>>626
荒れてしまったのは >>619 のコメントが理由だよw
ちょっと気になったのだが、差し支えなければ、>>614 がその作業をしてる目的
などを教えてくれ。たとえば、どんなファイルをいじっているのか、とか。
>>631
macro とか、熟練者であれば理解できるだろうが、察するに >>614 には難しそ
うだな。理解できれば、非常に参考になるだろうが。
恐らく >>614 にとっては >>618 の内容についても難しいのだろう。
(もしそうでなかったら、>>614 にはその非礼をお詫びする)
>>634
moccur-color とか、どの library にあるんだろうか?
643 = :
>>642
color-moccur だった。
color-moccur
http://www.bookshelf.jp/soft/meadow_50.html#SEC743
moccur-edit
http://www.bookshelf.jp/soft/meadow_50.html#SEC766
644 = :
wanderlustスレが落ちたので、こちらで質問させてください。
wanderlustでpop3 over SSL受信しようと~/.foldersを以下のように設定しました。
&hoge@hotmail.com/user@pop3.live.com:995!
ところが、user部分に"@"が含まれているため、どうもpop3ホストと接続出来ません。
何かいい方法はありませんでしょうか。
646 = :
>>644
&"hoge@hotmail.com"@pop3.live.com:995!
でどうよ。
デフォルトが /user なので書かなくていい。書いてもいいけど。
647 = :
Emacs 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.
648 = :
質問です
(add-hook 'xxx-mode-hook (lambda () ...))
として無名関数をhookに加えたものをあとからremove-hookしたいとき
3番目の引数には何を与えたらいいですか?
649 = :
>>648
そもそも、後からその関数に参照したいのに、何故無名にするのだ?
関数名が何故存在するかを考えてみろ。
みんなの評価 : ○
類似してるかもしれないスレッド
- Emacs Part 36 (1001) - [92%] - 2011/3/1 5:02
- Emacs Part 42 (1001) - [92%] - 2013/6/9 5:15 △
- Emacs Part 37 (1001) - [92%] - 2011/6/20 19:47
- Emacs Part 52 (984) - [92%] - 2021/5/13 1:45
- Emacs Part 38 (1001) - [92%] - 2011/11/29 0:01
- Emacs Part 39 (990) - [92%] - 2012/2/9 19:45
- Emacs Part 34 (1001) - [92%] - 2010/6/21 19:45 ○
- Emacs Part 33 (1001) - [92%] - 2010/3/9 20:01 ○
- Emacs Part 31 (1001) - [92%] - 2009/10/23 10:31 ○
- Emacs Part 35 (1001) - [92%] - 2010/9/19 17:01
- Emacs Part 40 (1001) - [84%] - 2012/9/7 0:30
- Emacs Part 53 (989) - [84%] - 2022/12/5 12:45
- Emacs Part 41 (1001) - [84%] - 2012/12/24 4:15
- Emacs Part 54 (97) - [84%] - 2023/1/25 17:15
トップメニューへ / →のくす牧場書庫について