;; http://doc.norang.ca/org-mode.html Org Mode - Organize Your Life In Plain Text! (add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\)$" . org-mode)) ;;; better map to M-c instead of C-c, since M-c is more easy ;;(global-set-key "M-cqc" 'org-capture) or M-o c (global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-ca" 'org-agenda) (global-set-key "\C-cb" 'org-iswitchb) ;; better use hydra define these (global-unset-key "\M-o") (global-set-key (kbd "M-o a") 'org-agenda) (global-set-key (kbd "M-o b") 'org-iswitchb) (global-set-key (kbd "M-o c") 'org-capture) (global-set-key (kbd "") 'org-agenda) (setq org-agenda-files (quote ("~/Private/org"))) (setq org-todo-keywords (quote ((sequence "TODO(t)" "ONGOING(n)" "|" "DONE(d)") (sequence "WAITING(w@/!)" "HOLD(h@/!)" "|" "CANCELLED(c@/!)" )))) (setq org-todo-keyword-faces (quote (("TODO" :foreground "red" :weight bold) ("ONGOING" :foreground "blue" :weight bold) ("DONE" :foreground "forest green" :weight bold) ("WAITING" :foreground "orange" :weight bold) ("HOLD" :foreground "magenta" :weight bold) ("CANCELLED" :foreground "forest green" :weight bold)))) (setq org-todo-state-tags-triggers (quote (("CANCELLED" ("CANCELLED" . t)) ("WAITING" ("WAITING" . t)) ("HOLD" ("WAITING") ("HOLD" . t)) (done ("WAITING") ("HOLD")) ("TODO" ("WAITING") ("CANCELLED") ("HOLD")) ("ONGOING" ("WAITING") ("CANCELLED") ("HOLD")) ("DONE" ("WAITING") ("CANCELLED") ("HOLD"))))) ;; change a task state C-c C-t Key (setq org-use-fast-todo-selection t) (setq org-treat-S-cursor-todo-selection-as-state-change nil) ;; Org Capture (setq org-directory "~/Private/org/") (setq org-default-notes-file (concat org-directory "refile.org")) (setq org-default-diary-file (concat org-directory "diary.org")) (global-set-key (kbd "C-c c") 'org-capture) ;; Capture templates for: TODO tasks, Notes, appointments, phone calls, meetings, and org-protocol (setq org-capture-templates (quote (("t" "Todo" entry (file org-default-notes-file) "* TODO %?\n\n %U\n %a\n" :clock-in t :clock-resume t) ("r" "Respond" entry (file org-default-notes-file) "* NEXT Respond to %:from on %:subject\nSCHEDULED: %t\n %U\n %a\n" :clock-in t :clock-resume t :immediate-finish t) ("n" "Note" entry (file org-default-notes-file) "* %? :NOTE:\n\n %U\n %a\n" :clock-in t :clock-resume t) ("j" "Journal" entry (file+datetree org-default-diary-file) "* %?\n%U\n" :clock-in t :clock-resume t) ("w" "Org-protocol" entry (file org-default-notes-file) "* TODO Review %c\n%U\n" :immediate-finish t) ("m" "Meeting" entry (file org-default-notes-file) "* MEETING with %? :MEETING:\n%U" :clock-in t :clock-resume t) ("p" "Phone call" entry (file org-default-notes-file) "* PHONE %? :PHONE:\n %U" :clock-in t :clock-resume t) ("h" "Habit" entry (file org-default-notes-file) "* NEXT %?\n\n %U\n %a\n\nSCHEDULED: %(format-time-string \"%<<%Y-%m-%d %a .+1d/3d>>\")\n:PROPERTIES:\n:STYLE: habit\n:REPEAT_TO_STATE: NEXT\n:END:\n")))) (provide 'init-org)