Emacsを使ったタスク管理や情報管理について
GTDのやり方については人によっていろいろとやり方が違うと思うけど、
とりあえず、自分のやり方はこうしてるみたいなものを晒しつつ、
自分自身の考え方ややり方などを整理していきたい。
個人的にずっとemacsのorg-modeとopen-junk-fileを使って管理している。
(技術的なメモだけChangeLog)
昔howmを使っていたけど、だんだん起動が激重になって無理!
って感じになってしまったので、howmは残念ながら完全に廃止して
その代わりをorg-modeで管理している。何回途中挫折した事か笑
今でも決して完成されたという訳ではなく、
使いながらいろいろと試行錯誤し続けている。
org-modeは巨大なシステムなので、最初から100%使いこなす事を目指すと破綻すると思うし、
必要に応じて使いながら徐々に憶えていくのが一番だと思う。
だから最初はアウトライナー機能を使うだけでも十分だと思うんだよね。
とりあえず、emacsを立ち上げてC-xjすれば
今日の日付付きのファイルが表示される。
初期設定だとたしか時間や分等も入ったファイルが作成されるのだが、
個人的には1日1ファイルでその日一日の事をそこに書き溜めたいので、
敢えて時間や分などをファイル名に入らないように設定を書き換えた。
で日付に拡張子としてorgを指定して使っている。
こうする事によって、毎回C-xjでorgと入力すればその日一日同じファイルが開くし、
org入れるのが面倒だと思えば、command+rでrecentfを使って最近使ったファイルから
選択したりしてる。
とりあえずC-xjを一日の最初に実行するとautoinsertで毎日の朝昼夜毎のルーチン作業や
曜日毎のタスクなどが自動挿入されて開く。
最近では自分の作ったmeteoという天気予報関係のscriptを使って、
C-uM-!で日付の箇所に3日間の天気予報やその日の天気図などを挿入。
これも操作せず自動挿入出来たらいいとは思っているが、まだ出来てない。
→これも自動挿入するように設定を書き換え済
以下がその動画
org-junk-fileで今日の日付のファイルを開くと勝手に今日の天気図などが書き込まれているのが
わかると思う。
とりあえず、最初の日付の見出しの箇所には天気だとか自然の移り変わりなど
その日に属するような内容を書くようにしている。
で、それらの下にその日やる事とか学びとか
ブログ用の記事だとかその都度新たに見出しをつけて書いていく。
ただそのまま保存するとjunkディレクトリ内に保存される。
そのままにしていると、org-agendaでタスク一覧を表示する時とか
えらい重くなるので、orgfilesというディレクトリにorgファイルは
全部移動。この辺りがちょっと問題ありで、
すぐに移動してしまうと次にopen-junkで開くとまた新しいファイルに
を開いてしまったり、トラブルの原因になっている。
→これに関してはもう別ディレクトリで管理するのは辞めた。トラブルの元かなと。
今はC-c[で面倒臭いかもしれないがorg-agendaの対象ファイルを明確化して管理するようにした。
日々の記録をつけるためにorg-jounalというモジュールもあるけど、個人的には
open-junk-fileの方がその時の気分や用途によってorgファイルに限らず、
拡張子を切り替えて各種プログラミング言語
にも対応したり汎用性があるので好きかな。
org-jounalが要らなくなるし、使ってない。
スケジュールが特にないような日であっても
やはり飯を食わないと人間生きていけない訳で笑
食事とかそういう決まりきった事はあまり書き込んでこなかった訳だけど、
不規則になりがちな生活を規則正しく生きていくためにも
そういう決まりきったタイムスケジュールも入れておく
必要があるなぁと思った。
org-agendaでタイムスケジュールを表示するにはとりあえず以下の2つ方法がある。
- C-c.でアクティブな時間は入れられる。
- それと C-csでスケジュールも入れられる。
いまいちこの2つの差がよくわからないなぁと思ってたが、
毎日決まりきったスケジュールをいちいち毎日入れるのは面倒臭い。
っていうかそういう事してるのはアホ。
org-modeには+1dみたいに繰り返しのスケジュールを自動化する方法がある。
これを使いたいのであるなら後者のスケジュールを使う必要があるかと。
ただ最近これについては3つ表記があるのを知った。
- "+"
- "++"
- ".+"
ネットを漁ってもいろんな説明があって、
それを実際やってみてもいまいち思ってたのと違ったりして
結局よくわからないので、マニュアルでの説明文をピックアップ
The TODO has a scheduled date,
usually with a ‘.+’ style repeat interval.
A ‘++’ style may be appropriate for habits with time constraints,
e.g., must be done on weekends,
or a ‘+’ style for an unusual habit that can have a backlog, e.g., weekly reports.
上から適当に訳してみると
TODOには予定された日付があり、
通常は.+のスタイルを定期的な繰り返しに使う。
++のスタイルは例えば、週末には完了すると思われるものとか
時間の制約がある習慣にピッタリかもしれない。
また+のスタイルは例えば週報みたいにバックログのあるたまにやる習慣に。
いまいち訳したけどよくわからない笑
以下DeepL訳
TODOには予定日があり、通常は'.+'スタイルの繰り返しがある。
間隔を置く。 時間的制約のある習慣には'++'スタイルが適切でしょう。
'+'スタイルは、時間的制約のある習慣、例えば、週末にやらなければならない、または、'+'スタイルは、例えば、週次報告書のようなバックログを持つことができる珍しい習慣に適しているかもしれません。
'スタイルが適切かもしれない。
なんかDeepLもひどいな笑
とりあえず意訳すると
何度も繰り返すもんはとりあえず.+使っとけ!
時間的なリミットがあるなら++や!
たまにしかやらんのは+や!
って話か?笑
毎日やるから時間的な制約もあるし、
++かなと思って使ってみたが、
DONEを一度したら戻らない気がする。
という事で、.+の方がいいのかなと現時点では思っているが。
どうなんだろう?
とりあえず、日々の決まりきったスケジュールに関しては
schedule.orgというファイルを作って日毎のファイルとは別にして
そこで管理する事にしている。
一応orgまわりのファイルを管理ファイルを書き出すと、
- 1日のおおまかな固定のタイムスケジュール(起床、食事、風呂、就寝など)→schedule.org
- 日毎の書き込み用のファイル→<日付>.org ;<日付>にはその日の日付が入る。日々のルーチンワークや学びや日記、その日思いついたやる事やるべき事全部、考え事、感じた事などリアルタイムな脳内アウトプット全般
- diary.org ;元々カレンダーから予定を記入するのに使ってたファイル。org-captureからも記入出来るようにしてあるが、書式が統一されていない。一応設定側でカレンダーとorg-modeで機能統一するようにしているが、ファイルが同一というだけで入力方法に応じて書式がまちまちでいまいち統一されている感じがしない。リマインド機能もたしかカレンダー側の書式しか対応してないんじゃないかな?
- task.org ;元々はタスクと一言でいっても一日以内ですぐ終わるようなものと数日にかかるようなタスクなど大きさがまちまちなので、数日かかるような大きなタスクはこのファイルで管理するようにしていたが、
別にそんな事する必要もないかなと最近思い始めている。ただ、org-captureからとりあえず入れておく場所として今は使っている感じか。(org-captureの設定で当日の日付のorgファイルに記入出来ればいいがまだそういう設定が出来ていない。)shell側からの記入にも対応してscreenで常に見れるようにしてある。 - memo.org ;これは元々メモ書きを記入するために作った。org-captureからmemoだけでなくURLのbookmarkの記入にも使っているし、emacsを起動していない時にshell側からも記入するために使っている。これもscreenで常時表示している。
こんな感じで一応運用しているけど、見ての通りまだ混沌としている。
多分下の3つ(diary.org,task.org,memo.org)このあたりは日々のorgファイルに
まとめれたらもっとすっきりするのかもしれないけど。
技術的にはすぐ出来る。taskに関してはそういう風に変更してみた。
ただ、ChangeLogと同じくshell側からも随時emacsに頼らずに思いついた時に
即入力出来るようにしてあるので、そのあたりでちょっと問題が起きそうな気もしている。
あまりあちこちにファイル分散して複雑にしたくはないけど。
task.orgについては廃止する方向で、screen側とzsh側の設定をそれに合わせて書き換えた。
diary.orgについては元々のemacsのcalendar機能とリンクしているので、今のところそのままに。
memo.orgに今のところそのまま。
実は数日かかる学びに関してはplain-org-wikiを使っている。
日付のorgファイルだとなんとなく流されるし、
前にいつやったんだっけ?という話になるので。
C-cwでタイトル一覧が見れるので、そこから選択するようにしている。
junkファイル群とは別の任意のwikiディレクトリで管理する事によって、
いちいちorg-agendaに引っ掛かってこないようにしている。