howmとorg-mode両方でタスク管理できるようにした
1.1 まえがき
僕はLispを書くことができませんし、ほとんど読めません。 ただEmacsの編集のしやすさとOrg-modeやhowm-modeが好きで使っています。 プログラミングもろくにできないので、今回の変更があっているのかもわかりません。 もし同じ発想の方がいらっしゃって、解決できず困っている方の参考になればと思って書きました。 おかしくなっても責任を取れませんのでご了承ください。
1.2 やりたかったこと
- org-modeのtodoをhowmのメニューに表示したい。
- メニューで色々な情報を得られるので。 タスク名の頭に日付を入れたい。 頭の日付が実行日もしくは予定日。
org-agendaは予定だけを見るにはいいけど、howmのメニューがいいな。 ファイルが表示されたり、予定が見れたり一覧も見れるし。 howmの浮き沈み方式もいい。 howmのメニューに表示できると嬉しい
->howmの日付フォーマットをカスタマイズすると良いのでは?
1.3 どうやってやるのか。
howmはフリーフォーマットらしいので日付を変更できるかも。 と思ってインターネットを見ても見つからない。リンクのカスタマイズは書いてあるのに。 Lispの読み方も書き方も知らないから、途方にくれました。 でもhowmのソースを見たらなんとかなるかもってことで、grepしながらわけもわからずそれっぽいところをいじってみました。
1.4 変更したところ
自分の設定ファイルでいじります。適当に改行もしてください
1.4.1 日付のフォーマット変更
(setq howm-dtime-format (concat "<" howm-dtime-body-format ">")) (setq howm-insert-date-format "<%s>")
1.4.2 日付の検索するフォーマットも変更
(setq howm-reminder-regexp-grep-format (concat "<" howm-date-regexp-grep "[ :0-9]*>%s")) (setq howm-reminder-regexp-format (concat "\\(<" howm-date-regexp "[ :0-9]*>\\)\\(\\(%s\\)\\([0-9]*\\)\\)"))
1.4.3 今日の日付を挿入する変数も変更
(setq howm-reminder-today-format (format howm-insert-date-format howm-date-format))
ちなみにここを変更しなかった場合は、Doneしたタスクがhowmメニュー上で表示されなくなります。 そうしたらメニューからやったタスクが消えていくので いいかも
1.4.4 ついでにhowmでDoneしたときにorg-modeでもDoneされるようにする
(defadvice howm-action-lock-done-done(after my-org-todo-done () activate) (org-todo))
このへんのやり方もいいのかどうかわかりません。
1.5 動作チェック
予定を管理しているOrgファイルに新しくタスクを記入します。TODOタグとhowmの日付<>バージョン。
これがちゃんと表示されるか確認します
表示されました。あとはこれをhowmの完了の時に一緒にタグも完了にする
何とか動いていますね。ただすべてにおいてうまくいくかは全くわかりません。弊害が出ても上の設定を消すだけなのでいいカナーなんて気楽に考えています。
Emacsは本当に便利です。世間の潮流に乗ってEvernoteで記録をつけていたのですが、それもDropbox+Emacs+Org-mode+howmにしました。 ウェブクリップはEvernoteのほうが便利なのでそっちにいれていますが、自分ログはEmacsです。
もし、本当に素人なのでもっとよい解決策があれば、どなたか公開してくださったらうれしいです。
コメント
コメントを投稿