clmemo + blgrepで ChangeLog を快適に書く

昨日の日記で、ChangeLog の保存場所をまとめる方法を書いたのだけど、そんなことしなくても clmemo を使えば良かったみたい。gan2 さんにコメントで教えてもらった。


以下は gan2 さんのところの完全にパクリ(劣化版)なので、詳しくは ChangeLogメモのはじめ方 - gan2 の Ruby 勉強日記を参照。


まず、Let’s Try ChangeLog Memoから、clmemoblgrepをダウンロードし、


それぞれを解凍して全ての.elファイルをsite-lispにコピーする。


そして以下を.emacsに加える。

;;; ChangeLog の設定
;; 名前,メールアドレス,ChangeLog メモへのパス
(setq user-full-name "gan2")
(setq user-mail-address "gan2@example.com")
(setq clmemo-file-name "~/ChangeLog.txt")

(autoload 'clmemo "clmemo" "ChangeLog memo mode." t)
(define-key ctl-x-map "M" 'clmemo)
;; 補完されるタイトルのリスト
(setq clmemo-title-list
      '("Ruby" "Meadow" "Book" "Idea" "Firefox"))
(autoload 'clgrep "clgrep" "grep mode for ChangeLog file." t)
(autoload 'clgrep-title "clgrep" "grep first line of entry in ChangeLog." t)
(autoload 'clgrep-header "clgrep" "grep header line of ChangeLog." t)
(autoload 'clgrep-other-window "clgrep" "clgrep in other window." t)
(autoload 'clgrep-clmemo "clgrep" "clgrep directly ChangeLog MEMO." t)
(add-hook 'change-log-mode-hook
          '(lambda ()
             (define-key change-log-mode-map "\C-c\C-g" 'clgrep)
             (define-key change-log-mode-map "\C-c\C-t" 'clgrep-title)))


基本的な使い方はこんな感じ。

  • C-x M でメモを新規追加。
  • 新規追加のときにタブを押すと、clmemo-title-list で列挙したタイトルが補完される。
  • C-c C-q でメモを開く前の状態に戻る。
  • C-c C-g でメモを検索(メモの画面で)。
  • C-c C-t C-c C-g でメモのタイトルを検索。
  • C-u C-x M でメモを開く。