è¡åãç´°ååããããããç©äºãä»ä¸ããä»äºè¡ with org-mode
ããã°ãæ¯æ¥æ´æ°ããã¨æ±ºãã¦ãããã®ã®ã1ã¶æã§é絶ãã¦ãã¾ãã¾ããã ããããªããã æ¯æ¥æ¸ãã®ã¯ãããã«ãã¤ãã§ãã ã¾ã æç« ãæ¸ãã®ã«æéããããã®ã§ãããã°ã«æéãã¨ããã¦ãã¾ãã¾ããã ããããã¯ãæ°æ¥ãããããã«ãªãã¨æãã¾ãã
ãã¦ãorg-modeã§GTDããã£ã¦2å¹´ã»ã©ã«ãªãã¾ãããæã£ãã»ã©ææãã§ã¦ãã¾ããã§ããã ããããè¡åããã®ãããç´°ããåãã¦èãããã¨ã§ãåãçºæ®ã§ããããã«ãªãã¾ããã ããã¹ã¦ã¯ããã¸ã§ã¯ããã¨èãããµãã¿ã¹ã¯ãå®ç¾©ãã¦ããæ¹æ³ã§ãã
ãã¹ã¦ã¯ããã¸ã§ã¯ã
GTDã§ã¯ã2ã¤ä»¥ä¸ã®è¡åãã¨ããªããã®ãããã¸ã§ã¯ãã¨å®ç¾©ãã¦ãã¾ãã ã¨ãããã1ã¤ã®è¡åã§æ¸ãã¿ã¹ã¯ã¨ããã®ã¯ã»ã¨ãã©å¤ããªãã¨æãã¾ããã è¡åã¯ã¨ãã¨ãç´°ååãããã¨ãã§ããããã§ãã
極è«ãè¨ãã¨ããæ¯ç£¨ãããããã§ãããããã¸ã§ã¯ãã§ãã ãªã«ãã以ä¸ã®ã¹ãããã«ç´°ååãããããã§ãã
- æ´é¢æã¸è¡ã
- æ¯ãã©ã·ãåãåºã
- æ¯ã磨ã
- æ¯ãã©ã·ããã¾ã
ãã£ã¨ããããã¾ã§ç´°ååãã¦ãã人ã¯ããªãã¨æãã¾ãã(ç¬) ããã§ãè¤æ°ã®è¡åã«åãããã¨ãã§ãã以ä¸ãããã¸ã§ã¯ããªã®ã§ãã æã ããããããã¸ã§ã¯ãã¨ã¿ãªããªãã®ã¯ãæ¯ç£¨ãã¨ããä¸é£ã®ããã»ã¹ãèªåã«ããã°ã©ã ããã¦ããããã«éãã¾ããã
ã¨ããããã§ãåã¯ããã¹ã¦ã¯ããã¸ã§ã¯ããã¨èããããã«ãªãã¾ããã ããèãããã¨ã§ãå ·ä½çãªè¡åãæ³åããã¹ããããã¤ã¹ãããã§ç®æ¨ã«ããã¦çå®ã«å®è¡ã§ããããã«ãªãã¾ãã
以åã¯ãââã¨ãããã°ãç´ãããããã¸ã§ã¯ãã¨ã¯ã¿ãªãã¦ãã¾ããã§ããã ä»ã¯ã以ä¸ã®ããã«ç´°ååãã¦ãµãã¿ã¹ã¯ãå®ç¾©ãã¦ãã¾ãã
- ãã°å ±åãã¾ã¨ãã
- ã¾ã¨ãããã°å ±åãå°å·ãã
- ãã°ã確èªãã
- ãã°ãä¿®æ£ããã³ã¼ããæ¸ãã¦åãã
- ããã¥ã¡ã³ããæ´æ°ãã
- å ±åè ã«ã¡ã¼ã«ãã
ãããªæãã§èªåããããã°ã©ã ããã¦ãããã°ã次ã®è¡åããã±ã£ã¨åºã¦ãã¦ãè¿·ããªããªãã¾ãã ã¾ãããã°ä¿®æ£ã¿ããã«æ±ºã¾ã£ãããã»ã¹ã¯yasnippetãªã©ã§ãã³ãã¬ã¼ãåãã¦ããã¨ãªãããã ã¨ã«ããç´°ãããã°ç´°ããã»ã©åããããã§ãã
ä»ã§ã¯ãã»ã¼ãã¹ã¦ã®ã¿ã¹ã¯ã«ãµãã¿ã¹ã¯ãå®ç¾©ããã¦ãã¾ãã é ã®ãªãã§ã¤ã¡ã¼ã¸ãããµãã¿ã¹ã¯ãèããæéããæè³ããããã¨ã§ãçµæçã«ã¯ããä»äºãçµãããã¾ãã
åã³ããã¸ã§ã¯ããå®è¡ããã¨ãããµãã¿ã¹ã¯ãDONEããTODOã«æ»ã
ããã§åºã¦ããã®ããorg-modeã§ã®ãµãã¿ã¹ã¯ã®æ±ããéã¨ããåé¡ã§ãã ã¯ã¼ã¯ããã¼ã¨ãã¦ãã²ã¨ã¤ã²ã¨ã¤ã®ãµãã¿ã¹ã¯ãä»ä¸ãã¦ããããµãã¿ã¹ã¯ãDONEã«ãã¦ããããµãã¿ã¹ã¯ããªããªãã°ããã¸ã§ã¯ããå®äº(DONE)ã¨ãªãã¾ãã
åã³ãã®ããã¸ã§ã¯ããããå ´åãããã¸ã§ã¯ããDONEããTODOã¸æ»ãã¾ãã ããããããã§åé¡ãããã¾ãã ç¾ç¶ã®org-modeã§ã¯ãããã¸ã§ã¯ããDONEããæ»ãã¦ãããµãã¿ã¹ã¯ãDONEã®ç¶æ ã®ã¾ã¾ã§ãã ããã§ã¯ãã¡ãã¡æã§æ»ãµãã¿ã¹ã¯ãTODOã¸æ»ãã¦ããå¿ è¦ããããã¨ã¦ãé¢åã§ãã
ããã§ããã®ã³ã¼ãã§ãã ãSCHEDULED: <2010-07-23 é +1d>ããªã©ã®ããã«ãç¿æ £ã¨ãã¦å®æçã«ããè¡åã§å¨åãçºæ®ãã¾ãã ããSCHEDULEDãæå®ãã¦ããã¨ãDONEã«ããã次ã®ãå¨æã«æ¥ä»ãã»ãããããåã³TODOã«æ»ãããã«ãªã£ã¦ãã¾ãã
ã³ã¼ã
;; (save-window-excursion (shell-command (format "emacs-test -l test-minimum -l %s %s &" buffer-file-name buffer-file-name))) ;; (find-file "~/memo/junk/2010-11-30-233030.subtask.org") (require 'org) (defun org-revert-subtasks () (org-map-entries '(if (equal (org-entry-get (point) "TODO") "DONE") (org-todo "TODO")) (format "LEVEL=%d" (1+ (org-reduced-level (org-outline-level)))) 'tree)) (defun org-after-todo-state-change-hook--todo () (when (equal state "TODO") (org-back-to-heading) (org-revert-subtasks) (org-back-to-heading))) (add-hook 'org-after-todo-state-change-hook 'org-after-todo-state-change-hook--todo)
åä½ä¾
*** TODO parent **** TODO sub1 **** TODO sub2
â ãµãã¿ã¹ã¯ã2ã¤ã¨ãããã¥ãã
*** TODO parent **** DONE sub1 CLOSED: [2010-12-01 æ°´ 00:05] **** DONE sub2 CLOSED: [2010-12-01 æ°´ 00:05]
â ããã¸ã§ã¯ããDONEã«ãã
*** DONE parent CLOSED: [2010-12-01 æ°´ 00:05] **** DONE sub1 CLOSED: [2010-12-01 æ°´ 00:05] **** DONE sub2 CLOSED: [2010-12-01 æ°´ 00:05]
â åã³ããã¸ã§ã¯ããTODOã«ãã
*** TODO parent **** TODO sub1 **** TODO sub2
èªåçã«ãµãã¿ã¹ã¯ãTODOã«ãªãã
ãã¾ã:TODOããTASKã¸
ã¡ãªã¿ã«ãåã¯ãTODOãã¨ããè¨èã使ããã¨ãåæ¥ãã¾ããã 代ããã«ãTASKãã¨ããè¨èã使ãããã«ãã¾ãã æ¥æ¬èªã§ã¯ãä»äºãã¨è¨³ããã¾ãããå¾®å¦ãªãã¥ã¢ã³ã¹ãç°ãªãã¾ãã
åè ã¯ãããããã¦ããä»äºãã¨ãããããªãã¨ãããªããã¨ãã¨ããæå³ãããã¾ãã ããã¯ååçã§ããã¾ãããè¨èã¨ã¯æãã¾ããã èãã¦ã楽ããæ°åã¯ãã¾ããã
å¾è ã¯ããèªçºçã«çã¾ããä»äºãã¨ããæå³ã§ãã ç®æ¨ãè¨å®ãã¦ãããã«åãã£ã¦ããããã»ã¹ãªã®ã§ãè½åçã§ãã
ãã¯ããè¨èã¨ãã¦ã¯TASKã®æ¹ãããã§ããã ã¨ãããã¨ã§ãorg-modeã®è¨å®ã§TODOãTASKã«å ¨ç½®æãã¾ããã ãã¡ãããTODOãªã¹ããã§ã¯ãªãã¦ãTASKãªã¹ããã§ãã
åèæç® æ¬ç°ç´ä¹èãã¬ãã¬ãã¸ã»ã·ã³ãã³ã°ã
è¿ä¿¡
To: komtak
ã¯ã¼ã¯ãããç¶æ ãã§ããã
TODOâTASKã®ç½®æããã¦ã¿ãã ãã§ãä¸æè°ã¨æ°ããæ°æã¡ã§ä»äºãå§ãããã¾ããã è¨èã®éåã¨ããããããããããã®ã§ãã
ãµãã¿ã¹ã¯ã¯TASKâDONEã®ã¿ã§ãSTARTEDãWAITINGã¯è¦ªã¿ã¹ã¯(=ããã¸ã§ã¯ã)ã§ç®¡çãã¦ãã¾ãã ã¾ããæéè¨æ¸¬ã親ã¿ã¹ã¯ã®æ¹ã§ãã
ã¡ãªã¿ã«åã¯ãããªæãã®è¨å®ã§ãã CANCELã¯ãçµå±ä¸è¦ã«ãªã£ãã¨ããæå³ã§ãã
(setq org-todo-keywords '((sequence "TASK(t)" "STARTED(s)" "WAITING(w)" "|" "DONE(x)" "CANCEL(c)")
(sequence "APPT(a)" "|" "DONE(x)" "CANCEL(c)")
(sequence "NEXT(n)" "|" "DONE(x)")))