mieki256's diary



2005/11/21(月) [n年前の日記]

#2 [xyzzy] xyzzy、あるいはemacsでメモ取り

ChangeLog 以外にもなんだか色々あるみたい。

_CalMemo - calendar にメモ書き機能を追加 :

_CalMemo 00readme
calendar にメモ書き機能を追加します。

・ 1 日 1 ファイルでメモを保存します。
・ 自分用の休日等を設定し,カレンダーに色付けできます。
・ カレンダー上で,その日のメモをポップアップ表示します。
・ メモの一覧表示ができます。
・ 記述したメモファイルを Grep で検索したり,一覧表示からブロック単位で絞込検索したりできます。
・ 他のメモやファイルにリンクできます。
・ いくらかの ToDo 管理ができます。

00readme.txt より

強力そう。ChangeLog 形式で書いておくことで、chalow を使って html出力もできるとか。素晴らしい。

これで hnf を開けないだろうか…。

_よろずや emacs-wiki.el メモ :

_Emacs-Wiki

ちと気になる。

_kia's website - xyzzy関連 - remember.l :

これもメモ用らしい。どういう機能なんだろう。

_I am waiting for the Day - remember.el
_ZaurusSL-C3000/初期設定/emacsその4 - いろいろなLISPその2 remember-el
どうもこれはEmacs上(Mewやw3mを含む)で記入したり、読んだりしたものを、その場で設定ファイル「~/.notes」に次々とコピーして貼り付けておくもののようだ。

ZaurusSL-C3000/初期設定/emacsその4 - いろいろなLISPその2 より

なるほど。

xyzzy 用、remember.l を、netinstaller 経由でインストールしてみた。

M-x rememer でウインドウが開いて何か書ける。C-c C-c で閉じる。と、~/.notes に対して、書いた内容を「追加」してくれる。

ChangeLog と違って、時間まで記録してくれているのがありがたい。のだけど、曜日や月が、「Mon」「Nov」といった感じで入ってしまう。…自分、「月」の単語すらわからんぐらいに英語がダメダメな人間なわけで。厳しかー。

remember-date-format を定義しなおせば、「2005/11/21 (月) 12:11:15」といった記入も出来るらしい。結局、~/.xyzzy には、下のような内容を記述。
(autoload 'remember "remember" t)
(autoload 'remember-region "remember" t)

(global-set-key '(#\C-c #\m #\m) 'remember)
(global-set-key '(#\C-c #\m #\r) 'remember-region)

(setq remember-date-format "%Y/%m/%d (%v) %H:%M:%S")
emacs では C-c m に割り振ってる場面が多いらしいのだけど。ウチの xyzzy では migemo を入れてるので、C-c m t 、C-c m o 、C-c m c が既に割り当てられているのだった。ということで、C-c m m と、C-c m r に割り当て。

メモとは関係ないけど template-insert.l もインストール :

_QuickTour/ext/template-insert - Xyzzy Wiki

ファイルを新崎作成した際に、テンプレートファイルの内容を挿入してくれる。htmlファイルを xyzzy から作成し始める際に、面倒だったわけで。これで多少は快適になってくれると嬉しいのだけど。

remember.l で記録した ~/.notes から特定項目だけを出力するperlスクリプトを作成 :

#!/usr/bin/perl
# xyzzy - remember ( ~/.notes ) を分類して出力するPerlスクリプト
# usage : perl notessplit.pl KEYWORD

use strict;
use File::Basename;

my $notes_path = "F:/hoge/.notes";
my $keywd = "";

if ( $#ARGV < 0 ) {
    usage();
}

$keywd = shift(@ARGV);

my @list = ();
open(IN,$notes_path) || die "Can't open $notes_path";
while(<IN>) {
    chomp;
    push( @list, $_ );
}
close(IN);

my $fg = 0;
foreach my $ln (@list) {
    if ( $fg == 0 ) {
        $fg = 1 if ( $ln =~ /^\*\*/ && $ln =~ /$keywd/i );
    } else {
        $fg = 0 if ( $ln =~ /^\*\*/ && !($ln =~ /$keywd/) );
    }
    print $ln,"\n" if $fg;
}

exit;

sub usage {
    print "\n";
    print basename($0),"\n";
    print "\tThe item including the key word is selected from ~/.notes \n";
    print "\tusage : perl notessplit.pl KEYWORD\n";
    exit;
}
これで作業メモがとれそうな。

出力結果を changelogmemo に貼り付けてみたり。…うーん。C-8 を押して整形したら、えらいことになった。


changelog に貼り付けられるように、もうちょっと修正。
my $fg = 0;
foreach my $ln (@list) {
    if ( $fg == 0 ) {
        $fg = 1 if ( $ln =~ /^\*\*/ && $ln =~ /$keywd/i );
    } else {
        $fg = 0 if ( $ln =~ /^\*\*/ && !($ln =~ /$keywd/) );
    }
    if ( $fg ) {
        next if $ln =~ /^$/;
        next if $ln =~ /^$keywd:$/;
        
        if ( $ln =~ /^\*\*/ ) {
            $ln =~ /\*\* (\d+\/\d+\/\d+ .*\d{1,2}:\d{1,2}:\d{1,2}) \((.+?:)(.*)\)/;
            my $tm = $1;
            my $ct = $2;
            my $title = $3;
            if ( $title ) {
                print "\n\t* $2 $1 ($3)\n";
            } else {
                print "\n\t* $2 $1\n";
            }
        } else {
            print "\t",$ln,"\n";
        }
    }
}
~/.notes にメモを取るときに、
カテゴリ:
- サブ項目内容
とする必要があるけど、
* xyzzy: 2005/11/21 (月) 11:57:41
- remember.l 導入

* xyzzy: 2005/11/21 (月) 11:58:40
- remember.l テスト
こういう感じの結果が得られる、かな。

以上です。

過去ログ表示

Prev - 2005/11 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project