repl.info

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: マッチするファイルでは使用できない

テンプレート:%l

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

変数:org-capture-bookmark

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

テンプレート?%

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

空行挿入の制御

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

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

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

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

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