読者です 読者をやめる 読者になる 読者になる

ゆず日記

戦う Vimmer 兼 Dvorakユーザ 兼 Kinesisユーザ 兼 おぺらー が戦わないブログ

Vim + Dropbox + tmuxではじめるGTD

GTD始めました

巷でGTD管理が云々とかが話題になっていたのは以前のお話ですが、今更ながらボクもGTD導入しました。ボクのGTD環境の纏め。

ただし、"Vim + Dropbox + tmux"環境下です。
(Emacs + Dropbox + Screenなどでも可。)


GTDって何?3行で。

  • タスクリストを纏めろ
  • 2分以内にできることは今やれ
  • 2分以内にできないことは分類分けしろ


自分の例で図示とこんな感じ。

Before

今までは何を何時やるかが纏まって上煩雑、記憶頼りが多い面もあったが...

After

頭の中のタスクリストは全てgtd.txtファイルに移すようにすることで、gtd.txtを見ればタスクはわかるわかるように


メリットとデメリットは大雑把だけどこんな感じ

メリット
  • GTDリストを見れば何をすれば一目で分かるので楽
  • タスクが可視化されている為「次何をやるんだっけ...」「来週になったらアレをやらないと...」と意識を逸らす必要がない
デメリット
  • 最新のGTDリストを何時でも何処でも確認できる環境が必要
  • 書き漏れがあるとタスクがすっぽ抜ける


デメリットについては、このエントリの環境と、キチンと理解した上でGTDを実行すれば自ずと解消されます。
詳細はこちらを読んでみてください。

はじめてのGTD ストレスフリーの整理術

はじめてのGTD ストレスフリーの整理術

より興味を持ったら、ステップアップした別の本もあるのでそちらを読むといいでしょう。

GTDリスト

最低限必要なのは以下の項目です。(ボクのGTDに関する理解は不足しているので、各自で修正・追加してください。)

  • 2分以内に終わる? -> 今やれ(その為GTDリストには記載しない)
  • Inbox
  • すぐやる(次に取るべき行動)
  • プロジェクト
  • 連絡待ち
  • カレンダー
  • 資料
  • 終わった
  • いつかやる/多分やる
  • ゴミ箱


各項目の詳細は書籍を参考。


また、ボクは以下を追加して同時に管理しています。

個人的に追加しているGTDリスト
  • ブログネタ -> 詳細はEvernote
  • 今月読む本
  • 積読本
  • 読み終わった本


なお、以下の項目は別ツールにて管理している為、ファイルでの管理はあくまでも一時的な保管とし、最終的には別ツールを参照するよう以下のように記述しています。

  • プロジェクト -> 業務系の詳細はITSへ
  • カレンダー -> 詳細はiCalへ
  • 資料 -> (基本的にWebページなので)詳細はOpera Sessionへ
  • 読み終わった本 -> 詳細はBooklogへ


複数人で確認の必要がある業務関連の内容は、最終的にはRedmineTracなどのITSへ記入します。
カレンダーはデフォルトで通知可能なiCalへ移行します。
読み終わった本はレビューも含めてBooklogへ移行します。
資料は大抵URLなので、ブラウザセッションとして保存しています。


それぞれ特化されているツールを使うのが得策です。


Vimの設定

GTD管理用のファイルは、~/Dropbox/gtd.txtとして作ります。
ファイル形式は.txtです。


ただし、markdown形式にするとSyntax highlightがついて見易いのでテキスト内にmarkdownとして読み込むよう以下のように仕込みます。

<!-- vim: set filetype=markdown: -->


markdown形式にするとこんな感じにhighlightされます。


追加で、必要以上にインデントが出来た場合には自動で折り畳むように設定しています。

<!-- vim: set filetype=markdown foldmethod=indent foldlevel=3: -->

foldlevelはお好みで調整するといいでしょう。

外部ツールを利用するリスト

各ツールへ書き出します。
iCalはアラートが出るし、ITSは複数人で共有出来るなど、それぞれ利点があります。
可能であればURLをgtd.txtに書いておくと便利です。


GTD項目のアウトライン

h1mesuke/unite-outline · GitHubを入れている為、

:Unite outline

で各項目の表示・移動が可能です。


ボクのunite周りのマッピングは以下のように設定しています。

" unite mapping
nnoremap <silent> ,ub :<C-u>Unite buffer<CR>
nnoremap <silent> ,uc :<C-u>UniteWithBufferDir -buffer-name=files file<CR>
nnoremap <silent> ,uo :<C-u>Unite outline<CR>
nnoremap <silent> ,um :<C-u>Unite file_mru<CR>
nnoremap <silent> ,ut :<C-u>Unite tab<CR>
nnoremap <silent> ,ua :<C-u>UniteWithBufferDir -buffer-name=files buffer file_mru bookmark file tab session<CR>

markdown形式で記述していれば、これで(ボクの環境下では) ,uo押下で「Inbox」、「資料」、「終わった」などがアウトライン表示され移動も楽です。




何故小文字でgtd.txtとするのか?

これから何万回と開くであろうgtd.txtを

vi gtd.txt

と打ち込むのに一々shiftキーを押さない為です。.vimrcに.gtd.txtを開くmappingを書いてもいいかも知れません。


何故.txt形式か?

iPhoneなどのモバイル端末からも閲覧しやすいファイル形式だからです。
.mdや.markdownだと開けないこともしばしば。
しかしmarkdown形式は上記のsyntax highlightからも設定でき、且つ非常に便利なので.txtをmarkdownとして開いてガシガシ使うべし。



Dropbox

同期するだけです。
もし開きっ放しのgtd.txtが最新かどうか不安であれば, カレントファイルを読み込み直せばOK。

:e[dit]


iPhoneからでも開けますし、.txt形式であれば非公式アプリで編集も可能です。



何故Evernoteじゃダメなの?

一言で答えると、"エディタとしての機能が不充分だから"です。


各所でEvernoteGTD管理がマジ便利過ぎる件などのエントリを見てきましたが、個人的にはDrag & Dropで移動なんて面倒臭そうで実践する気がありませんでした。

また、Webコンテンツをコピペすると装飾されるのも厄介です。

一度EvernoteVimで編集するというのも試みましたがHTML形式で保存されている為、p要素の追加や編集が手間であること、管理が煩雑ということで断念しました。


他のツールは?

markdown形式で記述できるという点では最近リリースされたKobito - A Mac application to manage markdown notesもいいかも知れませんが、一度全体公開したものを非公開に出来ない点*1や、Mac OS X*2でしか動作しない点に不満が残ります。

githubも検討しましたが、リポジトリサービスはiPhoneから閲覧・編集しづらいです。


ということで、ボクにはVim + Dropbox + tmux環境でのGTD管理が肌に合いました。
どれも元から導入済みの為、GTD管理専用に新たにツールを導入せず済むのも大きなポイントです。


Vimに関しては行削除, 行追加がしやすいのが決め手ですが、エディタはEmacsでもいいと思います。



tmux

GTD専用のウィンドウを作ります。
c-b a でGTDとでもつけておけばOKです。


後は、c-b [num] でいつでもGTDを閲覧可能。
こちらも人に寄ってはscreenでもいいでしょう。


終わりに

自分に合ったVim + Dropbox + tmuxでのGTDは非常に便利です。
どれも自分が好きなツールなので使っていて不満に思うことがなく、思う存分タスク管理が行えています。

効果としては、

  • GTDに書いたタスクは忘れずに行える
    • 注意点: GTDの終わったリストに入れる前に業務タスクはITS上に報告する
  • 未来のタスクを懸念したり、心配する必要がないので休日はしっかり休める。終わったタスクも定期的に振り返られる。
  • 書いてないことはスッポリ漏れてしまうので、キチンと(最低でも週一で)メンテナンスをする必要がある。

こんな所でしょうか。


GTDの本にも書いていますが、「ツールはその人に合えば何でもいい」んです。
このエントリはあくまでも参考として、ぜひ自分にあった最良のGTD環境を構築してください。

*1:2012/04/11 現在

*2:2012/04/11 現在