2011-02-02 2 views
11

org-modeの特定のタスクでは、サブタスクがメインタスクの期限を継承することができれば便利です。この動作は、サブタスクの期限をまだ指定していない場合に発生します。このように、すべてのサブタスクは、私の組織のアジェンダのビューに表示され、適切な期限は簡単に操作できます。サブタスクがorg-modeで期限を継承する方法はありますか?

答えて

5

サブタスクを追加する機能はどうですか?親が1を持っている場合は、この1は、サブタスクに期限を追加します。

(defun my-org-insert-sub-task() 
    (interactive) 
    (let ((parent-deadline (org-get-deadline-time nil))) 
    (org-goto-sibling) 
    (org-insert-todo-subheading t) 
    (when parent-deadline 
     (org-deadline nil parent-deadline)))) 

はキーにバインドすることを忘れないでください:

(define-key org-mode-map (kbd "C-c s") 'my-org-insert-sub-task) 

また、あなたは、これらの設定は便利かもしれません:

(setq org-enforce-todo-dependencies t) 
(setq org-agenda-dim-blocked-tasks 'invisible) 
+0

:)問題にアプローチする別の方法!私はタスクを追加するためにキーバインディングを使用しません、私は単にそれらをファイルに書き込むことによって追加します。私はこれを試してみると、その習慣を壊すことができるかどうかは分かりませんが、確かに試してみます。ありがとう。 – vedang

+0

私はこれを1週間ほど試してみて、それが私のために働くのであればそれを受け入れたものとしてマークします。 – vedang

0

DEADLINEは、これらのプロパティの1つで、既定では継承されません。 変数をカスタマイズして変更することができますorg-use-property-inheritance

+0

これは機能しません。私は 'org-use-property-inheritance'の値を' t'に設定し、それがうまくいかなかったら '(" DEADLINE ")'に設定しました。しかし、デッドラインプロパティは継承されません(私のOrg-Agendaでは反映されません)。 – vedang

+1

あなたが正しいです、継承されたDEADLINEプロパティを持つアイテムはアジェンダに現れません。私はそれをどのように変更するか分からない。しかし、彼らはあなたが望むなら、特別なTODOリストに表示されます。 (M-x org-tags-view'をヒットし、DEADLINE <= "<2011-09-01>" 'のようなものに検索を限定してください。 –

1

最近、この質問をして、org-modeメーリングリストで回答しました。私は、誰かがそれを有用見つけることを期待してここでその議論を追加している:

http://article.gmane.org/gmane.emacs.orgmode/49215

私はこれで私の.emacsにそのコードを追加したコミット:

https://github.com/vedang/emacs-config/commit/1cb6c774a991d50853134d8085ca61dd12585993

+0

'org-entry-get-with-inheritance'はDEADLINEのような特殊なプロパティを取得できないようですが、これは素晴らしいですが、私にとってはうまくいかないようです... –

0

別アプローチは、にorg-agenda-bulk-actionを使用することです。 Defining unscheduled todos as stuck projects in Emacs Org-Mode

  • M-x org-agenda-list-stuck-projectsを:

    1. はまだ期限を持っていないし、まだ予定されていないTODO見出しとしてstuck-projectsを定義します。締め切りのないTODO見出しのリストが表示されます。
    2. m締め切りを追加するエントリをマークします。
    3. を呼び出してorg-agenda-bulk-actionを呼び出します。
    4. dすべてに単一の期限を割り当てます。
  • 関連する問題