$Id: OLD.rd,v 1.18 2012-08-16 09:52:06 hira Exp $
いまどきの GNU grep を使っているなら↓もしておくと無駄な検索を省けます.
(setq howm-view-grep-option "-Hnr --exclude-dir=_darcs")
さらに, *.txt だけ検索するようにしたければ…
(setq howm-view-grep-option "-Hnr --exclude-dir=_darcs --include=*.txt")
.emacs 等で (setq howm-list-normalizer 'howm-view-sort-by-○○) と設定していたなら, 次のように書きかえる
(setq howm-normalizer 'howm-sort-items-by-○○)
前のように戻したければ…
;; 今日と明日の日付は, [YYYY-MM-DD] の形式だけ着色 (setq howm-highlight-date-regexp-format (regexp-quote "[%Y-%m-%d]"))
メニューの曜日表記をリストで指定するよう変更. 英語表記のデフォルトも "Sun" 等に直した. thx
(setq howm-day-of-week-ja '("日" "月" "火" "水" "木" "金" "土")) (setq howm-day-of-week-en '("Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat"))
howm-view-grep-option に複数のオプションを書けるように. thx
(setq howm-view-grep-option "-Hnr --include=*.txt") ;; *.txt のみ検索
単語の途中がたまたま come-from キーワードに一致しても下線を引かない設定. thx > Mielke-san (peter.mielke at gmail.com)
;; ASCII 文字のみのキーワードは, 単語途中にマッチしても下線を引かない (setq howm-check-word-break "^[[:ascii:]]+$")
ソースの編集が可能なら, howm.el の末尾に以下のコードを加えるのが確実です. バイトコンパイルのしなおしもお忘れなく.
;; howm-1.2.2 以降用. howm 関連の全シンボルに risky-local-variable 属性. (mapcar (lambda (symbol) (put symbol 'risky-local-variable t)) (howm-symbols))
それが困難な場合は .emacs に以下を加えてください.
(eval-after-load "howm" ; ← autoload/load/require の記述にあわせて ;; howm-1.2.2 以降用. howm 関連の全シンボルに risky-local-variable 属性. '(mapcar (lambda (symbol) (put symbol 'risky-local-variable t)) (howm-symbols)))
以下を *scratch* バッファに貼り, 閉じ括弧の後にカーソルを置いて C-j を 押す
(get 'howm-version 'risky-local-variable)
以下のように変数ごとに解禁してください.
;; 例: 変数 howm-auto-narrow はファイルごとの自動設定を許可 (put 'howm-auto-narrow 'risky-local-variable nil)
.emacs に以下を加えてください. ただし emacs のバージョンによっては不完全かもしれません. ref
;; ローカル変数の自動設定をオフ (setq enable-local-variables nil)
grep 時の文字コード設定 howm-process-coding-system で, 入力と出力に別の値を指定できるようにした thx
;; process (UTF-8)→ emacs ;; emacs →(SJIS) process (setq howm-process-coding-system '(utf-8-unix . sjis-unix))
結局こんな流れ
ja/0000-00-00-000000.howm ↓リリース時に作者が生成 (実際は howm-mkmenu.el で自動化) howm-menu-ja.el ↓make install $lispdir/howm/howm-menu-ja.elc ↓howm を初めて使ったときだけ読み込んで自動生成 ~/howm/0000-00-00-000000.howm
migemo-client のオプションを追加指定可能に thx
(setq howm-migemo-client-option '("-H" "::1"))
howm-view-grep-option あたりとの不統一が気になるので, コマンド指定一般の拡張仕様案(とりあえず案だけ). おおげさすぎ?
nil ;; → デフォルト "コマンド名" ("コマンド名" "オプション" … "オプション") 関数名 ;; → コマンドのかわりに elisp の関数を実行
一覧で, 前と同じ名前もいちいち表示 thx
(setq howm-view-summary-omit-same-name nil)
デフォルトを変更しました. 戻したければ .emacs などに↓を書いてください.
;; タイトル表示は常時オフ (setq howm-list-title nil) ;; 検索履歴 (setq howm-history-limit 0) ;; 検索履歴を記録しない (setq howm-history-unique nil) ;; 検索履歴から重複を取り除かない ;; grep -E/-F でなく egrep/fgrep (setq howm-view-grep-command "egrep") (setq howm-view-fgrep-command "fgrep") (setq howm-view-grep-extended-option nil) (setq howm-view-grep-fixed-option nil) (setq howm-view-grep-file-stdin-option nil) ;; パターンは引数で渡す ;; howm-template が関数だったときは, universal-argument を ;; 引数にしてそいつを呼ぶ (setq howm-template-receive-buffer nil) ;; 一覧から RET で開くとき, 内容バッファのカーソル位置を保たない (setq howm-view-summary-keep-cursor nil)
テストにご協力くださる方は, ↓を試していただけると助かります.
;; (隠し機能) ;; 一ファイル複数メモのときも, 絞り込み等を ;; ファイル単位じゃなくメモ単位に. ;; ただし, date での絞り込みはファイル単位のまま. (setq howm-view-search-in-result-correctly t)
使用例
;; snap.el でのリンクを入れる (setq howm-template #'my-howm-template) (defun my-howm-template (which buf) ;; C-u 3 C-c , c なら which = 3 (let ((snap (with-current-buffer buf (or (snap-record-string) "")))) (format "= %%title%%cursor\n%%date\n%s\n\n" snap)))
従来と互換に戻したければ…
;; howm-template が関数だったときは, universal-argument を ;; 引数にしてそいつを呼ぶ (setq howm-template-receive-buffer nil)
メニューの todo に旬度を表示可 thx
(setq howm-menu-todo-priority-format "(%8.1f)")
(setq howm-view-summary-window-size 10)
「タイトル」の正規表現を, 機能ごとに変更可能
(setq howm-list-title-regexp "^[*=] [^ ]") ;; 一覧表示 (setq howm-menu-recent-regexp "^[*=] [^ ]") ;; メニュー中の %recent
一覧から RET で開くとき, 内容バッファのカーソル位置を保つ
(setq howm-view-summary-keep-cursor t) ;; ← デフォルトにしました
単語の途中にマッチしたものは後まわし
(setq howm-list-prefer-word t)
リマインダの「cancel」を違う言葉にカスタマイズ (thx > NARA Shinsuke さん)
(setq howm-reminder-cancel-string "give up")
○○のときだけ自動 narrow. ただし, 「>>> foo.howm」で foo.howm に飛んだときは narrow にしない. thx
;; ↓デフォルトの動作に不満がなければ設定不要 (setq howm-auto-narrow ;; ↓に書いたコマンドでだけ narrow '(howm-list-all howm-list-recent howm-list-grep howm-list-grep-fixed howm-list-migemo howm-list-related howm-list-around howm-keyword-search)) ;; これは come-from リンク・goto リンク
一ファイル複数メモのとき, 新しいメモは先頭に追加とする設定 ▲ thx
(setq howm-prepend t)
「ほげ」を検索して一覧した状態から新規メモを作ると, タイトルを「ほげ」に thx
(setq howm-title-from-search t)
テキストを選択してから「新規メモ」 → そのテキストを自動挿入 thx
;; transient-mark-mode でないと, この設定は無視される (setq howm-content-from-region t)
howm-create-here で, 有無を言わさず「現カーソル行に」新規メモ作成 thx
(setq howm-create-here-just t)
リマインダ直叩きで「臨時に開いたバッファ」を自動で閉じる thx
;; 叩き先を自動で閉じる. undo できなくなるからおすすめしません. (setq howm-action-lock-forward-kill-buffer t)
こんな設定で発症
(setq howm-menu-expiry-hours 2) (setq howm-action-lock-forward-save-buffer t)
{_} の書式は howm 側で上書きするから, ↓は無効
(setq action-lock-date-default '("{_}" "[%Y-%m-%d %H:%M]")) ;; 叩き前後
色の変更
(set-face-foreground 'howm-menu-list-face "cyan")
howm-view-real-grep は「パターンのリスト」も受けつける
(setq howm-view-grep-file-stdin-option "-f -")
doc/releng.txt よりメモ: tar.gz を作るには (開発者用)
aclocal && autoconf && automake && make Makefiles && make dist elcdist
自分用メモ
make maintainer-clean; aclocal && automake && autoconf && ./configure --prefix=/tmp/hoge --with-lispdir=/tmp/hoge/el && make && make install
以前の対策に戻すには,
(setq action-lock-bury-minor-mode-p nil) (setq howm-ime-fix t)
隠し機能: howm-view-{summary|contents}-persistent に関数も設定可能
;; 例: 予定表・todo リストや全メモ一覧等だけ persistent (setq howm-view-summary-persistent (lambda () (member howm-view-name '("{schedule}" "{todo}" ""))))
「フレーム分割を復元」との折りあいに自信なし. もし不具合が出たら, ↓で従来動作(アの前のバッファに戻る)に.
(setq howm-view-quit-to-nonhowm t)
filter-by-date 等で「2003 年 9 月 * 日まで」と入力したら,
「2003 年 9 月 31 日 (= 10 月 2 日)まで」と解釈されてた
メモディレクトリに cd して,
find . -name '*.howm' -print | ruby -ne '$_.chop!; d = File::dirname $_; f = File::basename($_).sub(/^(\d{4})(\d{2})(\d{2})/){|s| "#$1-#$2-#$3"}; puts %~mv #$_ #{File::expand_path f, d}~' > ~/howm_kuzu
~/howm_kuzu の内容を確認し, 問題なければ
cat ~/howm_kuzu | /bin/sh
こんなふうにディレクトリも指定できるようにした
(setq howm-file-name-format "%Y/%m/%Y_%m_%d.howm")
.emacs に以下を書けばメニューが日本語に
(setq howm-menu-lang 'ja)
(必ずバックアップをとってから!)
リマインダの書式変更
@[2003/09/25]! → [2003/09/25]! @[2003/09/25] → [2003/09/25]- [2003/09/25]! → [2003/09/25]:! [2003/09/25] → [2003/09/25]
メモディレクトリに cd して,
find . -name '*.howm' -print | xargs -n 1 ruby -p -i.bak -e '$_.gsub!(%r~(@?)(\[[0-9]+/[0-9]+/[0-9]+\])([-+@!.]?)~){|s| if ($1 == %~~ && $3 == %~~); s; else; $2 + ($1 == %~@~ ? %~~ : %~:~) + ($3 == %~~ ? %~-~ : $3); end}'
日付の書式変更
[2003/10/21] → [2003-10-21]
メモディレクトリに cd して,
find . -name '*.howm' -print | xargs -n 1 ruby -p -i.bak -e '$_.gsub!(%r!(\D)(\d{4}/\d{2}/\d{2})(\D)!){|s| $1 + ($2.tr "/", "-") + $3}'
メモディレクトリに cd して,
find . -name '*.howm' -print | xargs -n 1 ruby -p -i.bak -e '$_.sub!(/(<<|>>).*/){|s| $1[0,1] + s}'
やりたければ, メモを改名してもよい
2003_10_18.howm → 2003-10-18-000000.howm
メモディレクトリに cd して,
find . -name '*.howm' -print | ruby -ne '$_.chop!; d = File::dirname $_; f = File::basename($_).tr("_", "-").sub(/[.][^.]+$/){|s| "-000000" + s}; puts %~mv #$_ #{File::expand_path f, d}~' > ~/howm_kuzu
~/howm_kuzu の内容を確認し, 問題なければ
cat ~/howm_kuzu | /bin/sh
GNU touch の場合
find . -name '*.howm' -print | sort -r | ruby -ne 'puts %~touch -d "#{ARGF.lineno} min ago" #$_~' > ~/howm_kuzu
それ以外の場合
find . -name '*.howm' -print | sort | ruby -ne '$_.chop!; puts %~sleep 1; touch #$_~' > ~/howm_kuzu
~/howm_kuzu の内容を確認し, 問題なければ
cat ~/howm_kuzu | /bin/sh
旧体制を貫く場合: .emacs (howm ロードより前)に
(setq howm-ref-header ">>") ; goto リンク (setq howm-keyword-header "<<") ; come-from リンク (setq howm-reminder-old-format t) ; リマインダの書式変更をしない (setq howm-date-separator "/") ; 日付は 2003/10/21 の形式 (setq howm-menu-keyword-regexp nil) ; 「%○○%」を menu-mode にしない (setq howm-menu-top nil) ; C-c , , で「<< %menu%」を開かない (setq howm-menu-file "menu.howm") ; C-c , , で menu.howm を開く (setq howm-use-color nil) ; << などに色をつけない (setq howm-menu-name-format " *howmM:%s*") ; メニューは隠し buffer (setq howm-abbreviate-file-name nil) ; ファイル名表記は full path ;; 旧デフォルト設定 (setq howm-file-name-format "%Y/%m/%Y_%m_%d.howm") ; 1 日 1 ファイル (add-to-list 'auto-mode-alist '("\\.howm$" . fundamental-mode)) (setq howm-default-key-table '( ;; ("key" func list-mode-p global-p) ("r" howm-initialize-buffer) ("l" howm-list-recent t t) ("a" howm-list-all t t) ("g" howm-list-grep t t) ("m" howm-list-migemo t t) ("t" howm-list-todo t t) ("y" howm-list-schedule t t) ("c" howm-create t t) ("," howm-menu t t) ("d" howm-dup) ("i" howm-insert-keyword) ("D" howm-insert-date) ("K" howm-keyword-to-kill-ring t t) ("n" action-lock-goto-next-link) ("p" action-lock-goto-previous-link) ("Q" howm-kill-all t t) )) (when (featurep 'howm-mode) (howm-set-keymap))
旧体制を貫く: .emacs に
(setq howm-file-name-format "%Y_%m_%d.howm")
変換スクリプト (~/kuzu.rb とする)
$d = '@\\[[0-9 :/]+\\]' $_.gsub!(/(#$d) *!!!/){|s| "#$1! ★★"} $_.gsub!(/(#$d) *!!/){|s| "#$1! ★"} $_.gsub!(/(#$d) *!/){|s| "#$1!"} $_.gsub!(/(#$d) *@@@/){|s| "#$1@ ★★"} $_.gsub!(/(#$d) *@@/){|s| "#$1@ ★"} $_.gsub!(/(#$d) *@/){|s| "#$1@"} $_.gsub!(/(#$d) *~~~/){|s| "#$1+ ★★"} $_.gsub!(/(#$d) *~~/){|s| "#$1+ ★"} $_.gsub!(/(#$d) *~/){|s| "#$1+"} END { STDERR.print '.' sleep 1 }
変換手順
cd ~/howm ls *.howm | xargs -n 1 ruby -p -i.bak ~/kuzu.rb (確認後, *.bak を捨てる)
come-from の書式変更に伴い, 以下のようにメモを変換
cd ~/howm ruby -p -i.bak -e '$_.sub! /^= /, "= << "; $_.sub! /^= << link$/, "= link"' *.howm (確認後, *.bak を捨てる)
次のようにして, 「cat ◯◯ ◯◯ > ◯◯」というコマンド列を作成
cd ~/howm ruby -e 'h=Hash::new []; ARGV.each{|f| f=~/^([0-9]+)-[0-9]+.*/ and h[$1] = h[$1] + [f]}; h.keys.sort.each{|k| puts "cat #{h[k].sort.join %! !} > #{k =~ /(....)(..)(..)/; %!#$1_#$2_#$3.howm!} && sleep 1"}' *.howm > howm_kuzu
howm_kuzu の内容を確認し, 問題なければ
cat howm_kuzu | /bin/sh (確認後, 200*-*.howm を捨てる)
旧方式を貫く場合: ~/.emacs に
(setq howm-file-name-format "%Y%m%d-%H%M%S.howm") ;; 1 メモ 1 ファイル (setq howm-file-name-format "%Y%m%d-000000.howm") ;; 1 日 1 ファイル
~/.emacs (~/.emacs.el かも)に, 以下のように書く
<<< などに色をつけない
(setq howm-use-color nil)
色かえ: howm のロードより後に
(set-face-foreground 'howm-mode-keyword-face "red") ;; <<< (set-face-foreground 'howm-mode-ref-face "magenta") ;; >>> (set-face-background 'howm-mode-wiki-face "green") ;; [[]] の背景 (set-face-background 'howm-mode-title-face "yellow") ;; = の背景 (set-face-foreground 'action-lock-face "blue") ;; 下線文字 (set-face-underline 'action-lock-face t) ;; 下線は文字と同色 (Emacs 21) (set-face-underline 'action-lock-face "dark cyan") ;; 下線 (Emacs 21) (set-face-foreground 'howm-menu-key-face "orange") ;; メニューの shortcut
内容バッファに rd-mode な色をつける
;; rd-mode.el が読み込まれているという前提で (setq howm-view-contents-font-lock-keywords rd-font-lock-keywords)
「カタカナ」でメニュー, 「Ctrl-カタカナ」で新規メモ
(define-key global-map [katakana] 'howm-menu) (define-key global-map [(control katakana)] 'howm-create)
[tab]([alt]-[tab])で次(前)のリンクに移動
(define-key howm-mode-map [tab] 'action-lock-goto-next-link) (define-key howm-mode-map [(meta tab)] 'action-lock-goto-previous-link)
メモを ~/memo/ に置く
(setq howm-directory "~/memo/")
メモ置き場/年/年月日-時分秒.howm に
(setq howm-file-name-format "%Y/%Y%m%d-%H%M%S.howm")
1 日 1 ファイル (メモ置き場/年/月/年_月_日.howm に)
(setq howm-file-name-format "%Y/%m/%Y_%m_%d.howm")
キーワード一覧を ~/howm/.howm-keys に置く
(setq howm-keyword-file "~/howm/.howm-keys") ;; デフォルトは ~/.howm-keys
タイトル一覧を表示
(setq howm-list-title t)
○○のときだけタイトル表示
(setq howm-list-title ;; ↓に書いたコマンドでだけタイトル表示 '(howm-list-all howm-list-recent howm-list-grep howm-list-grep-fixed howm-list-migemo howm-list-related howm-list-around howm-keyword-search)) ;; これは come-from リンク・goto リンク
関数を指定することも可能
(setq howm-list-title (lambda () …))
一覧バッファと内容バッファを横に並べる
(setq howm-view-split-horizontally t)
横に並べるけど, 一旦 C-x 1 した後は縦に並ぶ
(setq howm-view-split-horizontally 'hoge) ;; t, nil 以外を指定
[return] でファイルを開く際, 一覧バッファを消す. C-u して [return] だと, 一覧を残す.
(setq howm-view-summary-persistent nil)
一覧で「!」したときの初期コマンドを変更
(setq howm-view-summary-shell-last-file "_FILE_") (setq howm-view-summary-shell-hist '("mv _FILE_ ~/gomi" "touch _FILE_" "ls -l _FILE_"))
一覧バッファ・内容バッファを検索ごとに個別に作る
(setq howm-view-summary-name "*howmS:%s*") (setq howm-view-contents-name "*howmC:%s*")
一覧をデフォルトで日付順に
(setq howm-list-normalizer 'howm-view-sort-by-reverse-date)
C-x 1 後は勝手にフレームを分割しない (SPC で再分割)
(setq howm-view-keep-one-window t)
一覧バッファの色つけ例
(setq howm-view-summary-font-lock-keywords '(("^2003" . 'highlight)))
foo を検索しても [[foo]] を上位にしない
(setq howm-list-prefer-wiki nil)
メニューの末尾に「R[menu 更新] E[menu 編集]」をつける
(setq howm-menu-footer "\n-- \n%\"R\"[menu 更新] %\"E\"[menu 編集]")
メニューは隠しバッファに
(setq howm-menu-name-format " *howmM:%s*")
メニューをメモ扱いしない (メモ一覧・検索の対象外に)
;; mv ~/howm/0000-00-00-000000.howm ~/hoge/fuga/menu.howm しといて… (setq howm-menu-file "~/hoge/fuga/menu.howm")
予定表の表示範囲
(setq howm-menu-schedule-days-before 2) ;; ○日前から (setq howm-menu-schedule-days 7) ;; ○日後まで
todo の表示件数
(setq howm-menu-todo-num 50)
メニューファイルを直接指定
(setq howm-menu-file "0000-00-00-000000.howm")
メニューを 2 時間キャッシュ
(setq howm-menu-expiry-hours 2)
かわりに, メモ保存時にメニューを自動更新するようになる(かなり重い). それも止めるなら
(setq howm-menu-refresh-after-save nil)
セーブ後の下線引き直しをしない
(setq howm-refresh-after-save nil)
一覧でのタイトル表示を抑制
;; 「最近の」または「前後の」メモ一覧時に限る (setq howm-list-title '(howm-list-recent howm-list-around)) ;; 一切表示せず ;(setq howm-list-title 'nil)
検索に grep を使う
(setq howm-view-use-grep t)
grep コマンド名を変更するなら…
(setq howm-view-grep-command "egrep") (setq howm-view-fgrep-command "fgrep")
egrep, fgrep がないけど GNU grep はある, という環境(リナザウ?)なら…
(setq howm-view-grep-command "grep") (setq howm-view-fgrep-command "grep") (setq howm-view-grep-extended-option "-E") (setq howm-view-grep-fixed-option "-F")
ファイル名(正規表現)と viewer の対応を指定 (~/.mailcap より優先します)
(setq howm-view-external-viewer-assoc '( ("[.]\\(jpg\\|gif\\|png\\)$" . "display %s") ("[.]dvi$" . "xdvi %s") ))
「外部 viewer を使わない mime-type」の指定 (正規表現)
(setq howm-view-open-by-myself '("text/.*" "application/emacs-lisp"))
~/.mime-types や ~/.mailcap を参照しない
(setq howm-view-use-mailcap nil)
ドットファイルも探す
(setq howm-excluded-file-regexp "^[.][.]\\|[~#]$\\|\\.bak$\\|/CVS/")
全文検索のとき, メモに加えて指定ディレクトリ以下も再帰的に探す
(setq howm-search-path '("~/Mail" "~/News")) (setq howm-search-other-dir t) ;; 下記のトグルの初期値 (t か nil)
検索に使う関数をすりかえ
;; t なら grep コマンド, nil ならデフォルトの elisp 関数を使用. ;; これ以外なら, 指定した関数を使用. (setq howm-view-use-grep #'my-grep-function) (defun my-grep-function (str file-list &optional fixed-p force-case-fold) "STR を FILE-LIST (ファイル名のリスト)から検索. 戻り値は, ((ファイル名 行番号 行内容) (ファイル名 行番号 行内容) …) というリスト. FIXED-P が真なら文字列 STR を, 偽なら正規表現 STR を検索する. STR が大文字を含まないときや, 含んでも FORCE-CASE-FOLD が真のときは, 大文字小文字の違いを無視する." …)
howm で foo を検索した後は, C-s C-s も foo の検索に
(setq howm-view-update-search-ring t)
物騒なので, ↓を書いとかないと無効
(setq howm-kill-all-enable-force t)
こんなふうに
Subject: タイトルバーに時計を表示 ←直前のリージョンの内容 Date: Thu, 12 Sep 2002 15:45:59 +0900 In-Reply-To: </home/hira/sawfish/rich-title/rich-title.jl> ←直前ファイル ■ ← カーソル
~/.emacs に
(setq howm-template "Subject: %title\nDate: %date\n%file\n%cursor") (setq howm-template-date-format "%a, %d %b %Y %H:%M:%S %z") (setq howm-template-file-format "In-Reply-To: <%s>\n")
テンプレートを複数指定
;; C-u 2 C-c , c → 2 番目のテンプレートで新規メモ ;; メニューから C-u 2 c でも同様 (setq howm-template '("= %title%cursor\n%date %file\n\n" "%date: %title%cursor"))
タイトル(メモ区切り) @@@ …
(setq howm-view-title-header "@@@")
goto リンク ==>…, come-from リンク <==…
(setq howm-ref-header "==>") (setq howm-keyword-header "<==")
goto リンク ((<…>)), come-from リンク ((:…:))
;; <>:は半角に直してください (setq howm-ref-regexp "((<\\([^>\r\n]+\\)>))") (setq howm-ref-regexp-pos 1) (setq howm-keyword-format "((:%s:))") (setq howm-keyword-regexp "\\(((:\\)\\([^:\r\n]+\\):))") (setq howm-keyword-regexp-hilit-pos 1) ;; 「関連キーワード」用 (setq howm-keyword-regexp-pos 2) (setq howm-keyword-regexp-format "%s") ;; M-x describe-variable 参照
「<<< hoge」の作成後は, 「hoge」にも下線
(setq howm-wiki-regexp "\\[\\[\\([^]\r\n]+\\)\\(\\]\\]\\)") (setq howm-wiki-regexp-hilit-pos 2) (setq howm-wiki-regexp-pos 1)
<<< で大文字小文字を区別しない
(setq howm-keyword-case-fold-search t)
日付入力(C-c , d または [日↓])で年や月を略したら, 「未来」と解釈
(setq howm-insert-date-future t)
「http://」でリターン押したら, URL を kill-ring へ
(setq action-lock-no-browser t)
済項目を表示しない
(setq howm-schedule-types "[!@]") ;; 予定表 (setq howm-todo-types "[-+~!]") ;; todo 一覧
リマインダ記号(!+-~@.)から RET 一発で「済」に
(setq howm-action-lock-reminder-done-default "")
予定表・todo 一覧からリマインダ記号上で直接 RET したとき, 叩かれ先バッファを自動 save
(setq howm-action-lock-forward-save-buffer t)
保留の浮沈範囲
(setq howm-todo-priority-defer-init -14) ;; 初期値 = 下限 (setq howm-todo-priority-defer-peak 0) ;; 上限
例: メニューで, 「潜伏中は非表示」「済は表示」
(setq howm-menu-todo-priority -50000) (setq howm-todo-priority-done-bottom -44444)
{ } (トグルスイッチ)の変更
;; howm の load 前に (setq action-lock-switch-default '("{ }" "{*}" "{-}")) ;; 何個でも
{_} (未処理)の変更
(setq howm-dtime-format "[%a %b %d %H:%M:%S %Y]") ;; {_} (setq howm-template-date-format "[%Y-%m-%d %H:%M]") ;; テンプレート
「file://…」や「http://…」の変更 (ましな設定募集) thx
;; howm (正確には action-lock.el) のロードより前に. ;; ・file://… (setq action-lock-open-regexp "\\<file://\\(localhost\\)?\\([-!@#$%^&*()_+|=:~/?a-zA-Z0-9.,;]*[-!@#$%^&*()_+|=:~/?a-zA-Z0-9]+\\)\\>") (setq action-lock-open-regexp-pos 2) ;; 2 個目の「\\(…\\)」がファイル名 ;; ・http://… (setq action-lock-browse-regexp "\\<\\([htp]\\{3,5\\}s?\\|ftp\\)://\\([-!@#$%^&*()_+|=:~/?a-zA-Z0-9.,;]*[-!@#$%^&*()_+|=:~/?a-zA-Z0-9]+\\)\\>" (setq action-lock-browse-regexp-pos 0) ;; マッチした全体が URL
action-lock 追加例: 「Message-ID: …」でリターン押したら, 該当メールを namazu で検索
;; howm を load した後に (defun my-howm-search-message-id (id) (message "Searching...") (let* ((query (format "+message-id:%s" id)) (args `("-l" "-n" "1" ,query "/home/hoge/NMZ/Mail")) (found (car (howm-call-process "namazu" args)))) (if found (progn (find-file found) (re-search-forward "^$" nil t) (message "Done.")) (message "No match.")))) (setq action-lock-default-rules (cons (action-lock-general 'my-howm-search-message-id "Message-[Ii][Dd]: \\(.*\\)$" 1) action-lock-default-rules))
メニューを更新するたびに, カレンダーへの export も更新 (→外部ツール)
(defun my-howm-menu-hook () (shell-command "tag2plan ~/howm/*/*/*.howm > ~/.dayplan_tag &") (switch-to-buffer howm-menu-name)) (add-hook 'howm-menu-hook 'my-howm-menu-hook)
おまけ
(setq howm-congrats-format '( "%sキタ━━━━━(゜∀゜)━━━━━!!!!" "(・∀・) %s!" "(°Д°)%s?" "( ´_ゝ`)< %s" ;; …以下略… ))