fudist

QFixHowm - howmの予定とTODO

vim/gvim用howmプラグイン「QFixHowm」の使い方についての解説ページ

操作一覧
コマンド一覧
予定とTODO一覧

解説ページ
QFixHowm | インストール | 基本的な使い方 | コマンド一覧 | 検索リンクとアクションロック | 予定とTODO | オプション | 快適な使用のために | 更新時間の管理

始めに

howmはメモだけではなく、予定や締め切り、TODO、リマインダなども扱う事が出来ます。
基本的なデータ形式はEmacs版(本家)に合わせてありますが、「予定・TODOの繰り返し」など、一部に独自拡張されている部分があります。

このページではhowmとして QFixHowm をインストールし、キーマップを g と設定したものとして説明しています。
QFixHowmのインストールや使い方については「QFixHowm - vim用howmプラグイン」を参照して下さい。

予定とTODOの書式とコマンド


予定とTODOは、通常のエントリのように g,c で新規ファイルを作成するか、適当なhowmファイルを開いて追加して下さい。
予定しかないファイルを作成したい場合は、タイトル行を削除してもかまいません。

[タイムスタンプ](識別子){オプション} 具体的な予定やTODO
[2009-10-10 14:00]@ 今日は芋煮会
[2009-10-03]+7 ユミル=テミルにお手紙を書く
タイムスタンプの後の @ や + が、予定とTODOの識別子で、識別子の後には各種オプションが指定できます。
予定・TODOのタイムスタンプは、時刻あり、なし、どちらの書式でも動作は同じです。
g,d や g,Tを使用すると入力が楽です。

予定・TODOの詳しい内容については、通常のエントリのように予定・TODOの定義行の次に書いておく事も出来ます。
TODOなどでは「処理リスト」を利用するのも便利です。
次の例では、10日前から表示される「海外旅行の準備」の「処理リスト」付き締め切りを定義しています。
[2009-08-08 08:00]@9 9日間の海外旅行
[2009-08-07]!10 海外旅行の準備(10日前から準備開始)
{ } 航空券の予約
{ } ホテルの予約
{*} パスポートの用意

[2009-10-10 14:00]@ 今日は芋煮会
[2009-10-03]+7 ユミル=テミルにお手紙を書く
一つのファイルに複数の予定・TODOを定義して、詳しい内容も書くときは g,o の「アウトラインモード」を使用すると便利です。
g,x で予定・TODO単位の削除も出来ます。

また日付以外の予定・TODOの定義部分はアクションロックになっています。
カーソルを合わせて<CR>を押すと、単発の予定・TODOは対処済に、繰り返し予定・TODOは次の予定日に変わります。


予定とTODO一覧

予定とTODOは6種類有ります。
以下の説明でデフォルト値が7日の場合、-「設定値」日は-7日のように読み替えてください。
数値オプションを設定した場合は、設定した数値が適用されます。
@の場合だけ、デフォルト設定値と予定定義に設定値を指定した場合とでは優先度の下がり方が異なります。

優先度は基準日(西暦0000年1月1日)からの経過日数で表され、優先度0日は本日までの経過日数になります。
優先度-2日とは、今日の日付-2日(つまり一昨日)の予定と同じ優先度で扱われるということです。
優先度+2日だと今日の予定より 2日分 優先順位が高い事になります。
ただし指定日が未来でも、アクティブ化されていない場合は、アクティブ化されたものより優先度が低くなります。

 種類  識別子  デフォルト  
 予定  @ 1日  日付がそのまま、優先度になります。
 
 何も指定しない場合は指定日+「デフォルト設定値」日を超えると、優先度は最低に設定され表示されなくなります。
 日付が優先度なので、表示期間中の優先度は一日ごとに低くなります。

 予定定義時に数値が 2 以上に設定されている場合は「設定値」日の連続予定として扱い、期間中の優先度は常に優先度0日(当日の予定扱い)に設定されます。
 期間終了後、最終日+「デフォルト設定値」日を超えると、優先度は最低に設定されて表示されなくなります。
 なお、予定定義時に数値が 0 に設定されている場合は、指定日を超えるとすぐに表示されなくなります。

 下記の予定では 2009-01-12から2009-01-14まで3日間、当日の予定として表示され、14日から更に「デフォルト設定値」日経過した時点で表示されなくなります。
[2009-01-12]@3 2009年1月12日から3日間続く芋煮会
 締め切り  !  7日  締め切り7日前(デフォルトの場合)から表示されるようになります。
 文字通り、締め切りや納期などに使用します。

 指定日の「設定値」日前に優先度が -「設定値」日でアクティブ化されます。
 その後、一日ごとに優先度が上がっていきます。
 指定日に達しても優先度は上がっていくので、常に一番上に表示されることになります。

 TODO  +  7日  指定日から7日間(デフォルトの場合)ぐらいまでの間に実行したい事を登録します。

 指定日に優先度が -「設定値」日でアクティブ化されます。
 その後、一日ごとに優先度が上がっていきます。
 優先度0日より高くなる事はないので、破ってしまった締め切りより優先度が高くなる事はありません。

 リマインダ  -  1日  やらなくてもかまわないけれど、覚えておきたいような事を登録します。
 指定日から1日(デフォルトの場合)の間は優先度0日に設定され、優先度が下がる事はありません。
 気になるけれど、買うかどうか決めていない本の発売日などに、気にかけておきたい期間を指定して使用します。

 指定日に優先度0日でアクティブ化されます。
 指定日から(指定日+「設定値」-1)日の間は優先度0日に設定され、以降は優先度が指定日+「設定値」-1日に固定されます。
 従って指定日+「設定値」-1日以降は、相対的に優先度が下がっていきます。
特定の期間を過ぎてしまったリマインダを削除する」こともできます。

下記のリマインダでは 2009-01-01から 2009-01-03まで3日間、当日の予定として表示され、2009-01-04日以降は優先度が2009-01-03の予定として表示されます。
[2009-01-01]-3 3日間は覚えておきたいリマインダ
 浮沈TODO  ~  30日  適当に優先度が変わるので、いつかやろうと思っている事などを登録します。

 指定日に優先度0日でアクティブ化されます。
 その後「設定値」日を一周期として、優先度が浮き沈みを始めます。
 「設定値」日後には優先度が0日に戻ってきます。

 対処済  .  なし  対処済みで不要になった予定やTODOに使用します。
 優先度が最低に設定され、一覧表示で表示されなくなります。
 先頭に & を付けて予定・TODOの終了指定にも使います。



予定・TODOの終了

予定・TODOの定義行に、 &[2009-08-12]. のように終了日を指定する事が出来ます。
終了指定日を過ぎると予定は表示されなくなります。
[2009-08-8]@7 &[2009-08-12]. 2009年8月8日から7日間の予定ですが、12日を過ぎると終了します
予定・TODOの定義行なら何処にあっても有効です。
時間指定をすると指定時刻以降は表示されません。
[2009-08-8]@7 2009年8月8日から7日間の予定ですが、12日の18:00を過ぎると終了します &[2009-08-12 18:00].

また、日付以外の予定・TODOの定義部分はアクションロックになっています。
単発の予定やTODOはアクションロックで対処済みに変更することが出来ます。

終了日の指定

時刻を指定しない終了日は指定日の翌日ではなく、指定日に終了するようにも出来ます。
"終了日指定のオフセット
let QFixHowm_EndDateOffset = -1
[2009-08-08]@7 &[2009-08-12]. 2009年8月8日から7日間の予定ですが、12日になると終了します


予定とTODOのコマンド

キーマップリーダーを g にした場合、予定の一覧表示は g,y になります。

 ,y  予定の一覧表示
 ,t  TODOの一覧表示
 ,,  メニュー画面の一覧表示
 ,.  今日の日付へ移動(Quickfixウィンドウ上)

通常のエントリ同様に予定・TODOを検索してからのプレビューやジャンプで予定の定義行を参照できます。
デフォルトでは予定・TODO検索直後はプレビューオフにされていますので、必要なら i でプレビュー表示をオンにしてください。
デフォルトで表示したい場合はQFixHowm_SchedulePreview で変更出来ます。
"予定・TODOでのプレビュー表示ON/OFF
let QFixHowm_SchedulePreview = 0

予定一覧表示では、予定と締め切りが表示されます。
TODO一覧表示では、予定以外のTODO全種類が表示されます。
メニュー画面の一覧表示では、予定・TODOの全種類が表示されます。

それぞれ表示したい予約・TODOは次のオプションで変更可能です。
,t では 予定表示期間が -1 なので、デフォルトで予定は表示されません。
表示する予定・TODOパターンは正規表現ですので、- を指定したいときは一番前に来ないと動作がおかしくなります。

",yでの予定表示期間
let QFixHowm_ShowSchedule = 10
",tでの予定表示期間
let QFixHowm_ShowScheduleTodo = -1
",,での予定表示期間
let QFixHowm_ShowScheduleMenu = 10

",y で表示される予定・TODOパターン
let QFixHowm_ListReminder_ScheExt = '[@!.]'
",t で表示される予定・TODOパターン
let QFixHowm_ListReminder_TodoExt = '[-@+!~.]'
",, で表示される予定・TODOパターン
let QFixHowm_ListReminder_MenuExt = '[-@+!~.]'
g,y g,t g,, での予定の表示日数をコマンド実行時にも指定可能です。
365g,y とすると365日分の予定を表示します。
以降は g,y で365日分表示するようになります。

なお同一日付で同一内容の予定・TODOは一つにまとめて表示されます。

実行することなく特定の期間を過ぎてしまったリマインダを削除する事も出来ます。
以下のように設定すると、100日以上たったリマインダは表示しません。
"優先度が今日よりこれ以上低い予定とリマインダを削除する。
let QFixHowm_RemovePriorityDays = 100

リマインダーのソート優先順

"リマインダー種類でのソート優先順
let QFixHowm_ReminderPriority = ['@', '!',
'+', '-', '~', '.']
"リマインダーで同一日、同一種類の予定・TODOのソートの正順/逆順
let QFixHowm_ReminderSortMode = 0

予定・TODOの繰り返し


繰り返す予定やTODOは次のように指定します。
[2009-01-12]@ 2009年1月12日は、舞踏会の日
[2009-01-12]@@ 2009年1月12日から、毎月12日は舞踏会の日
[2009-01-12]@@@ 2009年1月12日から、毎年1月12日は舞踏会の日
[2009-01-12]@(7) 2009年1月12日から、7日おきに(毎週月曜は)舞踏会の日

 定義  例
 指定日から始まる、月単位の繰り返し
 [タイムスタンプ]識別子x2
 [2009-01-12]@@
 2009年1月12日から始まる、毎月12日の予定

 指定日から始まる、年単位の繰り返し
 [タイムスタンプ]識別子x3
 [2009-01-12]@@@
 2009年1月12日から始まる、毎年1月12日の予定

 指定日から始まる、指定日間隔の繰り返し
 [タイムスタンプ]識別子(繰り返し間隔)

 [2009-01-12]@(7)
 2009年1月12日から始まる、7日おき(毎週月曜)の予定




曜日シフト

もしも繰り返し予定日が日曜と重なったら、土曜に変更したいというような事があると思います。
そのような場合、(-Sun)を指定すると自動で予定日を土曜に変更します。
[2009-01-25]@@(-Sun) 月刊アフタヌーンは毎月25日発売で、25日が日曜なら24日に発売されます。
曜日シフトは ({シフト指定子}{曜日指定})で行います。

 {シフト指定子}
  + -
 {曜日指定子}   Sun Mon Tue Wed Thu Fri Sat

特定曜日の予定を翌日にしたい場合は(+Wed)の様に + を前に、前日にしたい場合は(-Sun)の様に - を前に付けます。
ただし指定間隔の繰り返しを使用する場合だけは、次のように間隔指定の中に書きます。
[2009-01-12]@(5+Mon) 2009年1月12日から、5日おきに舞踏会の日で、もし月曜なら火曜に変更

曜日シフト

 予定日が指定曜日なら前日
 [2009-01-12]@@(-Sun) 毎月12日の予定で、日曜なら土曜に変更
 [2009-01-12]@@@(-Tue) 毎年1月12日の予定で、火曜なら月曜に変更

 予定日が指定曜日なら翌日
 [2009-01-12]@@(+Mon) 毎月12日の予定で、月曜なら火曜に変更
 [2009-01-12]@@@(+Sat) 毎年1月12日の予定で、土曜なら日曜に変更

 指定間隔の繰り返しの場合
 [2009-01-12]@(5-Wed)  2009年1月12日から5日おきの予定で、水曜なら火曜に変更
 [2009-01-12]@(9+Fri) 2009年1月12日から9日おきの予定で、金曜なら土曜に変更


次のような書き方では、繰り返し予定にはなりません。
[2009-01-11]@(+Sun) 繰り返し予定にならない例
2009年1月11日が日曜なので、結果的に2009年1月12日(月)の単発予定として扱われます。
実際には [ や @ などの日付、時刻以外の予定・TODO定義部分にカーソルを合わせて<CR>を押すと、アクションロックが実行されて該当日付に変更されるので、日付を確認して使用するのが望ましいでしょう。


(毎年)毎月などの特定曜日指定

毎月第2水曜の予定等を指定したい事もあると思います。

(毎年)毎月特定曜日指定の予定は({数値}*{曜日指定})のように、
数値と * 、 {曜日指定子} で指定します。

 {曜日指定子}   Sun Mon Tue Wed Thu Fri Sat

曜日指定

 指定月の指定曜日  [2009-12-12]@(3*Wed)
 2009年12月第3水曜の単発予定

 毎月の指定曜日
 [2009-12-12]@@(1*Wed)
 2009年12月12日以降の、毎月第1水曜の繰り返し予定

 毎年特定月の指定曜日
 [2009-01-12]@@@(2*Mon)  成人の日
 2009年12月12日以降の、毎年1月の第2月曜の繰り返し予定


次のような書き方では、繰り返し予定にはなりません。
[2009-04-01]@(2*Sat) 繰り返し予定にならない例
結果的に2009年4月11日(土)の単発予定として扱われます。

これを利用すると、期間限定の曜日指定に使えます。
たとえば2009年4月の第2土曜と第3土曜だけの予定は日付指定する必要が無く、次のように書けます。
[2009-04-01]@(2*Sat) 2009年4月の第2土曜と第3土曜だけの予定
[2009-04-01]@(3*Sat) 2009年4月の第2土曜と第3土曜だけの予定
実際には [ や @ などの日付、時刻以外の予定・TODO定義部分にカーソルを合わせて<CR>を押すと、アクションロックが実行されて該当日付に変更されるので日付を確認して使用するのが望ましいでしょう。


予定・TODOの自動繰り返し仕様

アクティブ化された予定・TODOの繰り返しは自動で内部的に日付変換されます。

予定・TODOは予定を終了すると、自動的に次の一番近い未来の予定日へ内部的に変換されます。
締め切りとTODOは自動的に終了しないので、アクションロック等を使用して手動で変更する必要があります。
これは締め切りやTODOが何時終わったかは、howm側からは知り得ないからです。
アクティブ化された予定・TODOは以下のように内部的に変換されます

 予定  今日が予定日ならそのままで、その他は一番近い未来の予定日に変換します。
 リマインダ  今日が予定日ならそのままで、その他は一番近い過去の予定日に変換します。
 締め切り
 TODO
 曜日シフトだけ行い、常に指定日を使用します。
 繰り返し指定はアクションロックの時だけ意味を持ちます。


繰り返し予定・TODOの展開

予定・TODOの定義行にカーソルを合わせて、 ,rdを実行すると予定・TODOが展開されます。
10g,rdのようにカウント指定可能です。

今日の日付が5月5日だとして、次の予定・TODOの定義行で 3g,rdを実行します。
[2009-01-12]@ 今日は芋煮会
この行が3行分展開されて以下のようになります。
今日の日付が5月5日なので5月5日から始まります。
[2009-01-12]@ 今日は芋煮会
[2009-05-05]@ 今日は芋煮会
[2009-05-06]@ 今日は芋煮会
[2009-05-07]@ 今日は芋煮会

繰り返し予定は、定義に応じて展開されます。
[2009-01-12]@@(2*Mon) 毎月第2月曜はパジャマパーティー
3g,rdで、この行が3行分展開されて以下のようになります。
月単位の繰り返しなので月単位に展開されます。
単発予定に変更されるとき、曜日シフトも自動的に行われます。
[2009-01-12]@@(2*Mon) 毎月第2月曜はパジャマパーティー
[2009-05-11]@ 毎月第2月曜はパジャマパーティー
[2009-06-08]@ 毎月第2月曜はパジャマパーティー
[2009-07-13]@ 毎月第2月曜はパジャマパーティー


通常の数値オプション

通常の数値オプションも指定できます。
全て組み合わせると次のような指定が出来ます。
  • このイベントは2009年10月10日から開始される。
  • 毎月10日から3日間開催
  • 10日が日曜の場合は月曜(11日)から3日間開催される。
[2009-10-10]@@(+Sun)3 パジャマパーティ


アクションロック

日付以外の予定・TODOの定義部分はアクションロックになっています。
単発の予定やTODOはカーソルを合わせて<CR>を押すとアクションロックで対処済みに変更されますが、 繰り返し予定では日付が次の一番近い未来の予定日に変わります。
曜日のアクションロックとして、 Sun) Mon) などの曜日表示の上で<CR>を押すと、以下のようにループして変化します。
Sun) → Mon) → Tue) → Wed)→ Thu) → Fri) → Sat)


繰り返し予定・TODOをまとめる

繰り返し予定・TODOは特定の howmファイルにまとめて書いておく事も出来ます。
デフォルトなら howm_dirに、Sche-00-0000-00-00-000000.howm などのファイルを作成して、繰り返し予定・TODOを書くと表示も揃います。

(スクリーンショット:拡大)
Sche-00-0000-00-00-000000.howmに書かれた繰り返し予定が表示されている様子。
  • この予定が表示された日付は 2009年4月21日 で、予定が自動的に更新されている。
  • 4月21日の単発予定は曜日指定で日付がずれている。
  • 毎月18日の予定は数値オプションによって5日間継続している。
  • 祝日が強調表示されている。


予定・TODOの検索場所指定

QFixHowm_ScheduleSearchDir で予定・TODOの検索に使用するディレクトリを指定することが出来ます。
これは内部grepしか使えない環境だったり、ファイルが多くなりgrepが遅くなってきて、予定・TODOの表示に時間がかかるような場合に使用する事を想定しています。
指定場所以下しか予定・TODOの検索が行われないので速度的な問題は無くなりますが、予定・TODOを定義する際はファイルのディレクトリに気をつける必要があります。
また仕事用の予定やプライベートの予定を「タイトルタグフィルタ」を使用しないで切り替えたりも出来ます。

予定・TODOの検索場所は以下の順番で最初に見つかった、空でない指定ディレクトリ以下が使用されます。
  1. QFixHowm_ScheduleSearchDir
  2. QFixHowm_SearchDir
  3. howm_dir

howm_dirの下に scheduleというディレクトリを作り、そこに予定・TODOを定義したファイルを置く場合は次のようにします。
"予定・TODOの検索場所指定
let QFixHowm_ScheduleSearchDir = howm_dir.'/schedule'
"予定・TODOの検索ファイル名指定
let QFixHowm_ScheduleSearchFile = ''
予定・TODOのファイルを作成する場所は howm_dir以下に設定すると、通常の検索でも引っかかるので便利かと思います。
QFixHowm_ScheduleSearchDir 以下の特定ファイルだけ検索したい場合は更に QFixHowm_ScheduleSearchFile でファイル名を指定します。
デフォルトでは共に空文字列が指定されています。

休日や特別な日を強調表示する

休日の定義ファイルを howm_dir など適当な所へコピーして下さい。
予定・TODO表示の休日名は、色つきで表示されます。

休日定義ファイル
Sche-Hd-0000-00-00-000000.howm
休日名のデフォルトは以下の通りです。
"休日名
let QFixHowm_ReminderHolidayName = '元日\|成人の日\|建国記念の日\|昭和の日\|憲法記念日\|みどりの日\|こどもの日\|海の日\|敬老の日\|体育の日\|文化の日\|勤労感謝の日\|天皇誕生日\|春分の日\|秋分の日\|振替休日\|国民の休日'
ユーザー定義の休日や特別な日を強調表示する事も出来ます。
"ユーザー定義の休日
let QFixHowm_UserHolidayName  = '創立記念日\|有給休暇\|代休'
"ユーザー定義の特別な日
let QFixHowm_UserSpecialdayName = '誕生日\|記念日'

創立記念日などを正規表現で適当に追加して下さい。
Emacs版のように繰り返し予定が使えないhowmとhowm_dir を共有する場合、繰り返し予定・TODOの展開を使用して単発予定に変換して下さい。
繰り返し予定・TODOの展開

vimで予定・TODOを時間になったらアラーム表示する

,yで表示される予定・TODOのうち時間表示まで指定してあるものは、vimでアラーム表示させる事が出来ます。
vimでhowm形式の予定・TODOをアラーム表示する

予定・TODOのエクスポート

,y や ,t で予定・TODOを表示した後に、 ! を押すと現在表示されている予定・TODOを iCalendar形式で出力することが出来ます。
iCalendar形式は Googleカレンダー などに登録することが可能です。
予定・TODOのエクスポート
 

予定とTODOのオプション

予定とTODOのデフォルト値の指定

"予定
let QFixHowm_ReminderDefault_Schedule = 1
"締め切り
let
 QFixHowm_ReminderDefault_Deadline = 7
"TODO
let QFixHowm_ReminderDefault_Todo     = 7
"リマインダ
let QFixHowm_ReminderDefault_Reminder = 1
"浮沈TODO
let QFixHowm_ReminderDefault_UD       = 30


特定の期間を過ぎてしまったリマインダを削除する

実行することなく特定の期間を過ぎてしまったリマインダを削除出来ます。
以下のように設定すると、100日以上たったリマインダは表示しません。
"優先度が今日よりこれ以上低い予定とリマインダを削除する。
let QFixHowm_RemovePriorityDays = 100


アクティブ化されていない予定やTODOを表示する

let QFixHowm_RemovePriority  = 0
処理済みの予定やTODOも表示したい場合は-1に設定して下さい。
デフォルト値は1です。


予定とTODOの色

色分けはqfixapp/syntax/howm_memo.vimで定義されています。
直接 howm_memo.vimを書き換えても問題ないのですが、howmのファイルタイプを変更してから対応するシンタックスファイルを作成する方法もあります。

howmのファイルタイプは howm-mode.vimとの互換性のため、howm_memo に設定されています。
.vimrcに追加することでファイルタイプを QFixHowm_FileTypeで howm など好みのファイルタイプへ変更可能です。
"howmのファイルタイプ
let QFixHowm_FileType = 'howm'
この時有効になるのは ファイルタイプ howm のシンタックスです。
qfixapp/syntaxの howm_memo.vimから、howm.vimへファイル名を変更しないと、QFixHowm独自の色分けは有効になりません。
これを利用してhowm.vimにリネームしてから howm.vimを書き換えすると、アップデート時にファイルを上書きしても変更したシンタックスファイルは上書きされません。


タイムゾーン

GMTとの差を指定します。
デフォルト値は日本用の -9時間です。
"GMTとの時差
let QFixHowm_ST = -9

デバッグ用オプション

予定やTODOの優先度が、今ひとつよくわからない場合のためにデバッグ用オプションを公開します。
let QFixHowmToday='2000-01-10'
この環境変数をコマンドモードから設定すると、今日の日付が QFixHowmToday だとして、予定やTODOを扱います。
この例だと西暦2000年1月10日です。
g,c で新規のhowmファイルを作成し、以下を貼り付けてからファイルを保存して下さい。
[2000-01-01]! 2000-01-01
[2000-01-02]! 2000-01-02
[2000-01-03]! 2000-01-03
[2000-01-04]! 2000-01-04
[2000-01-05]! 2000-01-05
[2000-01-06]! 2000-01-06
[2000-01-07]! 2000-01-07
[2000-01-08]! 2000-01-08
[2000-01-09]! 2000-01-09
[2000-01-10]! 2000-01-10
[2000-01-11]! 2000-01-11
[2000-01-12]! 2000-01-12
[2000-01-13]! 2000-01-13
[2000-01-14]! 2000-01-14
[2000-01-15]! 2000-01-15
[2000-01-16]! 2000-01-16
[2000-01-17]! 2000-01-17
[2000-01-18]! 2000-01-18
[2000-01-19]! 2000-01-19
[2000-01-20]! 2000-01-20

次に、コマンドモードからデバッグ用オプションを設定します。
let QFixHowmToday='2000-01-10'
この状態で g,t や g,y を実行すると、 (730554) の様にテキストの末尾に優先度が表示された状態で予定やTODOが表示されます。
作成したファイルに予定やTODOを追加して、どの様に表示されるか確認して下さい。


次のページ「オプション」 へ移動
前のページ「howmの検索リンクとアクションロック」 へ戻る


より詳細な予定・TODOの目次