Article View: fj.editor.mule
Article #714Re: about Emacs Lisp
From: Fujisawa Jiro
Date: Mon, 01 Mar 1999 00:00
Date: Mon, 01 Mar 1999 00:00
141 lines
6650 bytes
6650 bytes
こんにちは、藤澤です。
御教授どうも有難うございます。
In article <7bcvjq$lgf$1@ocusv4.gw.osaka-cu.ac.jp> Tsuyoshi AKIHO
<akiho@sci.osaka-cu.ac.jp> writes:
> 大阪市立大学の秋保です。適当に改行させてもらっています。
> In article <7b92g8$34b$1@nntp.wao.or.jp> fujisawa@wao.or.jp
> (Fujisawa Jiro) writes:
fujisawa> (略)
> etags で TAGS ファイルを作って、M-x tags-search するというのは、どう
> でしょうか。*sjis* と *junet* では、うまく検索できました(他はテスト
> してないです)。
*euc-japan* でもうまく行くようです。
> 僕は、以下の関数を ~/.emacs に定義して使っています。
> ---start---
;; 再帰的にファイルを検索させて、etags を実行させる。
> (defun etags-find (dir pattern)
> " find DIR -name 'PATTERN' |etags -"
> (interactive
> "DFind-name (directory): \nsFind-name (filenamewildcard): ")
> (shell-command
> (concat "find " dir " -name \"" pattern "\" -print |etags -"))
> )
これは最初うまくいかなかったのですが、調べてみるとその理由は、私の所の
find が、
# find ~/deta/temp/ -name '*.t*' -print
/home/fujisawa/deta/temp//dokuyu.tex
/home/fujisawa/deta/temp//sonota.txt
/home/fujisawa/deta/temp//tyubunx.tex
/home/fujisawa/deta/temp//tmp/htyubun.tex
/home/fujisawa/deta/temp//tmp/nenji.txt
の様に指定したディレクトリの後に '//' を入れるせいのようで、
(前略)-print | sed -e 's/\\/\\//\\//g' | etags -"))
の様に sed を使って '/' を一つ消してやればうまくいくようになりました。
> (defun etags-find-detail (dir pattern lang output-file)
> "etags-find-detail \n find DIR -name 'PATTERN' |etags -"
> (interactive
> "DFind-name (directory):
> \nsFind-name (filename wildcard):
> \nsLangage-name (Default: auto):
> \nsOutput-file (Default: TAGS): ")
> (if (not (>= (length lang) 1))
> (setq lang "auto"))
> (if (not (>= (length output-file) 1))
> (setq output-file "TAGS"))
> (shell-command
> (concat "find " dir " -name \"" pattern
> "\" -print | sed -e 's/\\/\\//\\//g' | etags -l "
> lang " -o " output-file " -")))
(適当に折り返しました)
ただ、こちらの方は、うまく動かず、その原因は、私の所の etags には '-l'
というオプションが無い為のようです。
# etags --help
で見ても、
# man etags
で見ても、'-l' というオプションは見つかりません。バージョンか何かが違っ
ているのでしょうか?
# etags -V
とすると、
ETAGS for Emacs version 19.28.
と表示されます。
> Mule2.3(GNU Emacs 19.28) & GNU Emacs 20.2 で動作確認しました。これな
> ら、
fujisawa> (略)
> *.txt を指定して、TAGS ファイルを作れば問題ないです。検索を続けるに
> は、M-, です。
まあ、私が検索をかけるファイルは、大抵が *.txt か *.tex で、同じディレ
クトリにあるバイナリーファイルは、*.dvi ぐらいですから、*.t* でほとん
ど問題無く行くようですが、たまに *.gb とか *.b5 とかありますから...
まあ、これらは中国語のファイルですから、結局別に検索すればいいんですが。
ワイルドカードでは、正規表現の様に "txt|tex|gb|b5" とかは出来無いです
よね。
> 藤澤さんは、中国語でも検索したいと思うのですが、Mule では、 M-x
> set-primary-environment で、 chinese を指定すれば、検索できると思い
> ます。
一番やりたかったのは、*junet* で多言語を混在させた文章の検索なのですが、
これは全然問題無く出来ました。(^_^)
中国語で書かれたファイルはそれほど多くないので、*junet* に変換しておけ
ば問題無いようです。
> Mule for Windows でなら、find コマンドがないので、cygnus をインストー
> ルしていないと使えないです。Meadow は使ってないのですが、同じと思い
> ます。
今の所、FreeBSD でほとんどの作業を行なおうと思っているので、取り敢えず
UNIX の Mule で動作すれば満足なのですが、そのうち Window の方でも挑戦
してみたいと思います。
> GNU Emacs 20.2 では、-*-mode: C; coding: latin-1;-*- とファイルに書
> いておけば、code の指定が出来るので、この方法で検索できると思います
> (テストしてない)。
Emacs 20 は、私の使用したい幾つかのマクロが動かない為、UNIX の方では現
在の所導入を躊躇しております。何とか UNIX に作業環境を移したいと思った
のも、一つはこの理由によります。
この間も、自分で書いた Emacs Lisp が、19.28 の Mule では動いたのに、
Meadow ではうまく行きませんでした。(何故だろう?)
fujisawa> さらに、*.tex のファイルは、やてふモードで(やてふを使ってい
fujisawa> ます)開かれてしまい、hilit も使っているため、特に大きいファ
fujisawa> イルの場合、よけいな時間がかかってしまいます。
> こちらはパスさせて下さい。
etags を使った方法なら、開くファイルは検索にマッチしたファイルのみなの
で、これはそれほど大きな問題にはならないようです。解決出来るならそれに
こした事はありませんが。
御教授どうも有難うございました。お蔭様で非常に便利になりました。
(etags という物がある事すら知らなかった無知な私...)
後は、w3 で Big5 で書かれたホームページを検索する事が出来れば、ほとん
ど全ての作業を FreeBSD に移す事が出来そうです。
これに関しては、また改めて質問させて頂きたいと思っておりますので、何か
御気付きの点等ございましたら、御教授下さい。
長くなってしまい、申し訳ありませんでした。
------
┌────────────────┐
│藤澤次郎 神戸大学文化学研究科 ┃
│E-mail:fujisawa@lit.kobe-u.ac.jp┃
└━━━━━━━━━━━━━━━━┛
Technical Details
Message-ID:
<7betu8$cie$1@nntp.wao.or.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<7b92g8$34b$1@nntp.wao.or.jp> <7bcvjq$lgf$1@ocusv4.gw.osaka-cu.ac.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 10eba4,3ca1c3634d4ed96c X-Google-Attributes: gid10eba4,public From: fujisawa@wao.or.jp (Fujisawa Jiro) Subject: Re: about Emacs Lisp Date: 1999/03/01 Message-ID: <7betu8$cie$1@nntp.wao.or.jp> X-Deja-AN: 450089876 References: <7b92g8$34b$1@nntp.wao.or.jp> <7bcvjq$lgf$1@ocusv4.gw.osaka-cu.ac.jp> Content-Type: text/plain; charset=ISO-2022-JP X-Complaints-To: root@210.224.92.18 X-Trace: nntp.wao.or.jp 920320776 12878 210.224.92.119 (1 Mar 1999 20:39:36 GMT) Organization: Kobe University Mime-Version: 1.0 (generated by tm-edit 7.106) NNTP-Posting-Date: 1 Mar 1999 20:39:36 GMT Newsgroups: fj.editor.mule