From 5f366ce9221b39ef3fbff864db3605dde40c1e07 Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sat, 29 Dec 2012 19:13:04 -0500 Subject: transition from emacs prelude think i have most of the main functionality i was using --- conf/om.el | 203 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 203 insertions(+) create mode 100644 conf/om.el (limited to 'conf/om.el') diff --git a/conf/om.el b/conf/om.el new file mode 100644 index 0000000..00cdf04 --- /dev/null +++ b/conf/om.el @@ -0,0 +1,203 @@ +;;; om.el - org mode config +;; created 24 Nov 2011 + +;;;; org-mode +(setq org-log-done t) +(setq org-todo-keywords + '((sequence "TODO" "STARTED" "|" "DONE" "NA"))) + +;(setq org-agenda-files (list "~/notes/tasks.org")) + +;; next 6 lines merged from prelude-org +(global-set-key "\C-cl" 'org-store-link) +(global-set-key "\C-ca" 'org-agenda) +(global-set-key "\C-cb" 'org-iswitchb) +(setq org-log-done t) +(defun prelude-org-mode-defaults () + (electric-indent-mode -1)) + +;; allow for file to end in txt +(add-to-list 'auto-mode-alist '("\\.org.txt$" . org-mode)) + +;; set up capture +;(setq org-default-notes-file (expand-file-name "~/notes/tasks.org")) +(setq org-capture-templates + '(("c" "cal" entry (file+headline "~/notes/calendar.org" "misc") + "* %?") + ("t" "Todo" entry (file+headline "~/notes/tasks.org" "To file") + "* TODO %?") + ("m" "mail todo" entry (file+headline "~/notes/tasks.org" "mail") + "* TODO %?\nSource: %u, %c\n%i") + ("d" "mail date" entry (file+headline "~/notes/calendar.org" "mail") + "* %?\nSource: %u, %c\n%i"))) + +;; for mutt capture +(require 'org-protocol) +;; ensure that emacsclient will show just the note to be edited when invoked +;; from Mutt, and that it will shut down emacsclient once finished; +;; fallback to legacy behavior when not invoked via org-protocol. +(add-hook 'org-capture-mode-hook 'delete-other-windows) +(setq my-org-protocol-flag nil) +(defadvice org-capture-finalize (after delete-frame-at-end activate) + "Delete frame at capture finalization" + (progn (if my-org-protocol-flag (delete-frame)) + (setq my-org-protocol-flag nil))) +(defadvice org-capture-kill (after delete-frame-at-end activate) + "Delete frame at capture abort" + (progn (if my-org-protocol-flag (delete-frame)) + (setq my-org-protocol-flag nil))) +(defadvice org-protocol-capture (before set-org-protocol-flag activate) + (setq my-org-protocol-flag t)) + +(custom-set-variables + '(org-agenda-files (quote ("~/notes/calendar.org" "~/notes/tasks.org"))) + '(org-default-notes-file "~/notes/tasks.org") + '(org-agenda-ndays 7) +; '(org-deadline-warning-days 14) + '(org-agenda-show-all-dates t) + '(org-agenda-skip-deadline-if-done t) + '(org-agenda-skip-scheduled-if-done t) + '(org-agenda-start-on-weekday nil) + '(org-reverse-note-order t) + '(org-fast-tag-selection-single-key (quote expert)) + '(org-agenda-custom-commands + (quote (("d" todo "DONE" nil) + ("s" todo "STARTED" nil) + ("A" agenda "" + ((org-agenda-skip-function + (lambda nil + (org-agenda-skip-entry-if (quote notregexp) "\\=.*\\[#A\\]"))) + (org-agenda-ndays 1) + (org-agenda-overriding-header "Today's Priority #A tasks: "))) + ("u" alltodo "" + ((org-agenda-skip-function + (lambda nil + (org-agenda-skip-entry-if (quote scheduled) (quote deadline) + (quote regexp) "\n]+>"))) + (org-agenda-overriding-header "Unscheduled TODO entries: "))))))) + +;; other customization in prelude's org module + +;; have font colors in code blocks +(setq org-src-fontify-natively t) + +;; from http://doc.norang.ca/org-mode.html +;; this should prevent blank lines from being inserted +;; before headers +(setq org-blank-before-new-entry (quote ((heading) + (plain-list-item . auto)))) +(setq org-cycle-separator-lines 1) + +;; for evil setup +;; put here because wasn't loading when in evil config file +(eval-after-load "org" + '(progn + (defun always-insert-item () + (interactive) + (if (not (org-in-item-p)) + (insert "\n- ") + (org-insert-item))) + + (evil-define-key 'normal org-mode-map "O" (lambda () + (interactive) + (end-of-line) + (org-insert-heading t) + (evil-append nil) + )) + + (evil-define-key 'normal org-mode-map "o" (lambda () + (interactive) + (end-of-line) + (always-insert-item) + (evil-append nil) + )) + ; mark a TODO item as DONE + ; s - status + (evil-define-key 'normal org-mode-map ",s" 'org-todo) + ;change bullet style + (evil-define-key 'normal org-mode-map "-" 'org-cycle-list-bullet) + ;; (evil-define-key 'normal org-mode-map "L" 'org-shiftright) + ;; (evil-define-key 'normal org-mode-map "H" 'org-shiftleft) + ;; (evil-define-key 'normal org-mode-map "K" 'org-shiftup) + ;; (evil-define-key 'normal org-mode-map "J" 'org-shiftdown) + (evil-define-key 'normal org-mode-map (kbd "M-l") 'org-metaright) + (evil-define-key 'normal org-mode-map (kbd "M-h") 'org-metaleft) + (evil-define-key 'normal org-mode-map (kbd "M-k") 'org-metaup) + (evil-define-key 'normal org-mode-map (kbd "M-j") 'org-metadown) + (evil-define-key 'normal org-mode-map (kbd "M-L") 'org-shiftmetaright) + (evil-define-key 'normal org-mode-map (kbd "M-H") 'org-shiftmetaleft) + (evil-define-key 'normal org-mode-map (kbd "M-K") 'org-shiftmetaup) + (evil-define-key 'normal org-mode-map (kbd "M-J") 'org-shiftmetadown) + +;; ;;; org agenda -- leave in emacs mode but add j & k +;; (define-key org-agenda-mode-map "j" 'evil-next-line) +;; (define-key org-agenda-mode-map "k" 'evil-previous-line)) + )) + +; from http://doc.norang.ca/org-mode.html +(setq org-refile-targets (quote ((nil :maxlevel . 5) + (org-agenda-files :maxlevel . 5)))) + +; Stop using paths for refile targets - we file directly with IDO +(setq org-refile-use-outline-path nil) + +; Targets complete directly with IDO +(setq org-outline-path-complete-in-steps nil) + +; Allow refile to create parent tasks with confirmation +(setq org-refile-allow-creating-parent-nodes (quote confirm)) + +; Use IDO for both buffer and file completion and ido-everywhere to t +(setq org-completion-use-ido t) +(setq ido-everywhere t) +(setq ido-max-directory-size 100000) +(ido-mode (quote both)) + +;;;; Refile settings +; Exclude DONE state tasks from refile targets +(defun bh/verify-refile-target () + "Exclude todo keywords with a done state from refile targets" + (not (member (nth 2 (org-heading-components)) org-done-keywords))) + +(setq org-refile-target-verify-function 'bh/verify-refile-target) + +;; set up babel languages +(org-babel-do-load-languages + 'org-babel-load-languages + '( (perl . t) + (sh . t) + (python . t) + (R . t) + (emacs-lisp . t) + (latex . t) + (ditaa . t) + )) +;; don't ask for confirmation before running code +(setq org-confirm-babel-evaluate nil) + +;; babel minted latex export +;; modified from +;; http://orgmode.org/worg/org-tutorials/org-latex-export.html +(setq org-export-latex-listings 'minted) +(setq org-export-latex-custom-lang-environments + '( + (R "rcode") + (sh "shcode") + (python "pythoncode") + )) +;; (setq org-export-latex-custom-lang-environments +;; '( +;; (emacs-lisp "common-lispcode") +;; )) +;; (setq org-export-latex-minted-options +;; '(("frame" "lines") +;; ("fontsize" "\\scriptsize") +;; ("linenos" ""))) +(setq org-latex-to-pdf-process + '("pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f" + "pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f" + "pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f")) + +;; ditaa giving error +;; could not find elpa/contrib/scripts/ditaa.jar +(setq org-ditaa-jar-path "/usr/share/ditaa/ditaa.jar") -- cgit v1.2.3