[ホーム]-> [emacs]-> [活用法]-> [yabyax]

yabyax.el について

1. yabyax.el って何?

テキストファイルの埋め込み、取り出しの utilityです。テキストファイルを 埋め込む yab と、取出すための yax からなっています。元は日経 MIX あた りで規約がまとめられたようなのですが、AWK 版、Perl 版、VZ 版など、いろ いろ揃ってます。ここで説明するのは Emacs Lisp 版です。因みに、数少ない 自作マクロの一つです。

yab の方は、起動すると挿入するテキストを聞いてくるので、ファイル名を答えます (勿論、補完がききます)。すると、カーソル位置に

------^ test.doc ( date:96-03-25 time:02:40 ) --------------< cut here
私は基本的にプログラミングを知らない人間なので、
変なことをやってるかも知れません。御指摘下さると
嬉しいです。
------$ test.doc ( lines:3 ) -------------------------------< cut here

という感じで、そのテキストが挿入されます。その際には TAB はスペースに変換されます。また変数 yabyax-cc-yearnil 以外にしておくと、年が 1996 のように四桁で表示されます。

yax の方は、カーソル以降の一番近い位置にある yabyax 形式のファイルを 切り出します。仕様は次の通り

BSD 系の touch だと、年が四桁で表示されている場合の time stamp が正確 に表示されないかもしれません。そのときは御一報下さると嬉しいです。

2. どうやって使うの?

次のファイル yabyax.elload-path 上に置き、 バイトコンパイル しておきます。 後は、.emacs.el

(load "yabyax")

とでも書いておけばよいです。例えば、 M-x yabyax-yab-file, M-x yabyax-yax-file などで起動します。おまけとして yax-file-other-window という関数も付けてみま した。これは、別ウィンドウのスクリーンに表示されている部分以降の最初の yabyax ファイルを切り出すものです。ログブラウザを使っている場合には便 利でしょう。更に、おまけとして yabyax-yab-region という関数も作っておきました。これは、指定した region を yab 形式で囲 むものです。M-x yabyax-yab-region とするとファ イル名を聞いてくるので、入力すると、その時の時刻の yab 形式で囲んでく れます。

頻繁に使う方は .emacs.el

(global-set-key [f6] 'yabyax-yab-file)
(global-set-key [f7] 'yabyax-yax-file)
(global-set-key [f8] 'yabyax-yax-file-other-window)
(setq yabyax-directory "~/news/")

などと書いておくと、よいかもしれません。

標準では、touch を使ったタイムスタンプの書き換え機能は消してあります。 touch コマンドがある場合は .emacs.el 等で次の変数を設定しておくとタイムス タンプを合わせてくれるようになります。お使いの touch が GNU のものか BSD のものかに合わせて gnu か bsd を指定して下さい。単に t とすると gnu と解釈されます。ただし、これらが問題になるのは年が四桁で 表示されている場合だけです。

(setq yabyax-touch 'gnu)

[ホーム]-> [emacs]-> [活用法]-> [yabyax]