org-capture

  • メモをとるときには org-capture を使うとよい
  • 以前は org-remember だったが、v8.0から org-capture に統一された
  • org-captureを活用するには、テンプレート(org-capture-templates)をきちんと設定する必要がある

使い方

C-c c M-x org-capture org-captureのテンプレート一覧(下の画面)がポップアップする

org-captureしたときのバッファ

以下ではこのテンプレートの設定についてメモ

  • 変数 org-capture-templates を設定する
  • 僕は以下のテンプレートを用意してみた
  (setq org-capture-templates
        `(("key"
           "description"
           type
           target
           "template"
           property)
          )
        )

思いついたことをメモする用

  • MEMO という見出しの下にエントリーを作成する(file+headline)
  • メモなので個別の見出しはいらない、非アクティブな書き込み時刻(%U)を見出しにする
  • さっと閉じてOK
("a"
 "あっと思ったことを さっとφ(..)メモする"
 entry
 (file+headline nil "MEMO")
 "* %U%?\n\n%a\n%F\n"
 :empty-lines 1)

あとでちゃんと調べてまとめたいもの

  • BLOG という見出しの下にエントリーを作成する(file+headline)
  • メモの見出しが必要
  • 書き足すかもしれないので、そのままにする(:jump-to-captured 1)
("b"
 "ブログのネタなど"
 entry
 (file+headline nil "BLOG")
 "* %?\n   Entered on %U"
 :empty-lines 1
 :jump-to-captured 1)

会議録用

  • 日付 で目次を作成する(file+datetree)
  • 会議録用のファイルに書き出す(“~/Documents/org/minutes.org”)
  • 書き足すのでそのままにする(:jump-to-captured 1)
("m"
 "みんなで会議"
 entry
 (file+datetree "~/Documents/org/minutes.org")
 "* %T %?"
 :empty-lines 1
 :jump-to-captured 1)

読み返す用(ファイルを開くだけ)

  • いちいちfind-fileするのが面倒
  • 内容を確認したいので目次を閉じない(:unnarrowed 1)
  • 終了しても閉じない(:jump-to-captured 1)
("p"
 "ぱっと 読み返したいと思ったとき"
 plain
 (file+headline nil "PLAIN")
 "%?"
 :empty-lines 1
 :jump-to-captured 1
 :unnarrowed 1)

GTD作成用(内容だけメモれればいい)

  • GTD という目次の下にエントリーを作成する(file+headline)
  • TODOタグが自動的に付くようにする
  • org-agendaで開くことを考え、とりあえず目次に時刻をいれる
  • 終了すると閉じる
("t"
 "とりあえず 仕事を放り込む"
 entry
 (file+headline nil "GTD")
 "** TODO %T %?\n   Entered on %U    %i\n"
 :empty-lines 1)

テンプレートの引数について

  • org-capture.elを読んでまとめてみた
  • ショートカットキー
  • org-capture したときに表示されるメッセージ
  • 入力内容の種類
  • entry, item, checkitem, table-line, plainなど。とりあえず、entryにしとけばよい
  • default = org-default-notes-file
  • 使いそうなものを挙げておく
    • (file “path-to-file”)
    • (id “id-of-existing-entry”)
    • (file+headline “path-to-file” “node-headline”)
    • (file+datetree “path-to-file”)
    • (file+datetree+prompt “path-to-file”)
    • (clock)
  • org-capture した時に自動で挿入される文章
    • (file “path-to-template-file”)
  • テンプレートで使えるエスケープ文字
エスケープ文字 説明
%t, %T, %u, %U 日時(日付のみ、日付+時刻)(inactive な日時)
%a Annotation (default:org-store-link)
%n username (user-full-name)
%f, %F org-capture した場所のファイル名(フルパス)
%:keyword 便利なテンプレがありそうだが、使い方がよくわからない
%? テンプレ挿入後のカーソルの位置
  • テンプレートの挿入位置、など
:prepend
:immediate-finish テンプレートをちゃんと用意しておけば、ファイルのブックマークを作れそう
:jump-to-captured 編集後、capture したファイルを開く
:empty-lines, empty-lines-before, :empty-lines-after エントリーの前後にいれる空行の数を指定する
:clock-in, clock-keep, clock-resume org-capture したときに、clockをどうするか
:unnarrowed org-capture した時に全表示する(デフォルトは、追記部分のみ表示)

タグの使い方

  • 見出しにはタグをつけることができる
  • タグはコンテキスト(どこでやるのか?)を基準につけるといいらしい
  • init.el でも設定できるが、とりあえず「#+tags:」というキーワードを使ってファイルに直接書く方法を紹介
#+tags: { HOME OFFICE IPNSPR KEKPR }     // この中からどれか一つを選択できる
#+tags: { TOPICS PRESS HILIGHT EVENT }   // ショートカットキーは自動で設定
#+tags: { T2K BELLE COMET }              // とりあえず頭文字、重複する場合は空いているアルファベットになるみたい
#+tags: { READING(r) WRITING(w) ASKING(a) }    // ( ) 内に文字を指定することで、ショートカットキーを自分で設定できる