Org-mode 7.9.1の新機能(Org Agenda編)

org-mode 7.9.1の新機能、Agenda編です。

変数:org-agenda-sticky

Agendaを付箋のように扱うためのオプションです。
従来のAgendaは、qキーを押すとアジェンダバッファが削除されていました。 org-agenda-stickyを有効にすることで、アジェンダバッファが削除されなくなります。 e2wmを使う時、特定のウィンドウにアジェンダを表示しっぱなしにするために使えそうです。

org-agenda-custom-command-contexts

アジェンダコマンドのコンテキストを設定します。
org-capture-template-contextsと同じように設定すればOKです。
下記の例だと、”p”コマンドはtxtファイルの中でしか使用できません。
(setq org-agenda-custom-commands-contexts
‘((“p” (in-file . “.txt”))))

bulkアクションの変更

kから始まるコマンドは削除され、”バルクアクション”と統合されました。

アジェンダで複数のエントリをマークした後、B sを実行することでタスクをリスケジュールできます。

ポイントが日付の上にある時にkを実行することで、その日付で上書きされたキャプチャが実行されます。

NとPを押すことでアイテムを上/下に移動できるようになりました

コマンド:org-agenda-bulkmark-all

全てのアイテムをマークします。 一括して削除やアーカイブしたい場合に便利ですね。

変数:org-agenda-persistent-marks

有効にすることで、バルクアクションを実行した後もマークが有効なままとなります。

バルクアクションでTODOステータスを間違えて変更した場合等に使えそうです。

org-agenda-skip-timestamp-id-deadline-is-shown

todo-unblocked と nottodo-unblocked

org-agenda-skip-ifという、

アジェンダをカテゴリでフィルタできる

Org-mode 7.9.1の新機能(Org Capture編)

2012-09-03にOrg-modeのバージョン7.9.1がリリースされました。 今回は、キャプチャに追加された新機能を紹介します。

コマンド:org-capture-string

プロンプトで入力した文字列がテンプレートの注釈として挿入されます。

org-captureでは

  1. ‘M-x org-capture’を実行
  2. テンプレートを選択
  3. 入力

ですが、org-capture-stringだと

  1. ‘M-x org-capture-string’を実行
  2. ミニバッファから文字列を入力
  3. テンプレートを選択
  4. 2で入力した文字列が挿入された状態で入力

となります。バッチモードで使う際に便利そうです。

変数:org-capture-templates-contexts

キャプチャのテンプレートが使えるコンテキストを設定できます。 下記のように設定すると、org-modeでキャプチャした時だけ”t”のテンプレートを使うことができるようになります。

scm
(setq org-capture-templates-contexts
'(("t" ((in-mode . "org-mode")))))

コンテキストはデフォルトで4種類用意されています。自分で関数を書けば、かなり柔軟にテンプレートを操作できそうです。 ホスト名、ネットワーク、時間帯等いろいろ条件を設定すれば便利になるでしょう。

  • in-file: マッチするファイルでのみ使用できる
  • in-mode: マッチするモードでのみ使用できる
  • not-in-file: マッチするファイルでは使用できない
  • not-in-mode: マッチするファイルでは使用できない
  • [function]: カスタム関数

テンプレート:%l

リテラルリンクを挿入するためのテンプレートです。 %aはリンクと文言がセットだけど、%lだとリンクしか挿入されません。

変数:org-capture-bookmark

nil以外をセットすると、キャプチャした際に自動的にブックマークに追加します。

テンプレート?%

^{PROMPT}と連携させるようですが、使い方がよくわかりませんでした。

空行挿入の制御

キャプチャした時に、エントリの前か後に空行を挿入するための設定です。

  • :empty-lines-before i

    エントリの前にi行の空行を挿入する

  • :empty-lines-after i

    エントリの後にi行の空行を挿入する

フック:org-capture-prepare-finalize-hook

キャプチャの最終プロセスが始まる前に実行されるフックです。