summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Tjörnhammar <ed@cflags.cc>2013-05-19 10:22:25 +0200
committerEdward Tjörnhammar <ed@cflags.cc>2013-05-19 10:24:06 +0200
commit4223e090f26da3fedcd3dee1853b58a8e4e496f0 (patch)
tree62003f702258a9c57e39597606c8e25e4d906512
parentafb3be05464d9071d82dab3bc722116905d1fdba (diff)
Adding some of John MacFarlane's evil-org
customizations [ticket: 2]
-rw-r--r--evil-org.el72
1 files changed, 46 insertions, 26 deletions
diff --git a/evil-org.el b/evil-org.el
index 84d94be..b306cff 100644
--- a/evil-org.el
+++ b/evil-org.el
@@ -28,7 +28,6 @@
;; See, https://github.com/edwtjo/evil-org-mode/issues
(require 'evil)
-;; (require 'evil-leader)
(require 'org)
(define-minor-mode evil-org-mode
@@ -40,41 +39,62 @@
(add-hook 'org-mode-hook 'evil-org-mode) ;; only load with org-mode
-;; regular normal state shortcuts.
+(defun always-insert-item ()
+ (if (not (org-in-item-p))
+ (insert "\n- ")
+ (org-insert-item))
+ )
+
+(defun evil-org-eol-call (fun)
+ (end-of-line)
+ (funcall fun)
+ (evil-append nil)
+ )
+
+;; normal state shortcuts
(evil-define-key 'normal evil-org-mode-map
"gh" 'outline-up-heading
"gj" 'org-forward-same-level
"gk" 'org-backward-same-level
"gl" 'outline-next-visible-heading
+ "t" 'org-todo
+ "T" '(lambda () (interactive) (evil-org-eol-call '(org-insert-todo-heading nil)))
"H" 'org-beginning-of-line
"L" 'org-end-of-line
- "t" 'org-todo
+ ";t" 'org-show-todo-tree
+ "o" '(lambda () (interactive) (evil-org-eol-call 'always-insert-item))
+ "O" '(lambda () (interactive) (evil-org-eol-call 'org-insert-heading))
"$" 'org-end-of-line
"^" 'org-beginning-of-line
- "-" 'org-ctrl-c-minus
"<" 'org-metaleft
- ">" 'org-metaright)
-
-;; leader shortcuts in normal state. (disabled for now)
-;; (evil-leader/set-key 'normal evil-org-mode-map
-;; "c" 'org-cycle
-;; "e" 'org-export-dispatch
-;; "n" 'outline-next-visible-heading
-;; "p" 'outline-previous-visible-heading
-;; "t" 'org-set-tags-command
-;; "u" 'outline-up-heading)
+ ">" 'org-metaright
+ ";a" 'org-agenda
+ "-" 'org-cycle-list-bullet
+ (kbd "TAB") 'org-cycle)
;; normal & insert state shortcuts.
-(mapcar (lambda (state)
- (evil-define-key state evil-org-mode-map
- (kbd "M-l") 'org-metaright
- (kbd "M-h") 'org-metaleft
- (kbd "M-k") 'org-metaup
- (kbd "M-j") 'org-metadown
- (kbd "M-L") 'org-shiftmetaright
- (kbd "M-H") 'org-shiftmetaleft
- (kbd "M-K") 'org-shiftmetaup
- (kbd "M-J") 'org-shiftmetadown)) '(normal insert))
-(provide 'evil-org)
+(mapc (lambda (state)
+ (evil-define-key state evil-org-mode-map
+ (kbd "M-l") 'org-metaright
+ (kbd "M-h") 'org-metaleft
+ (kbd "M-k") 'org-metaup
+ (kbd "M-j") 'org-metadown
+ (kbd "M-L") 'org-shiftmetaright
+ (kbd "M-H") 'org-shiftmetaleft
+ (kbd "M-K") 'org-shiftmetaup
+ (kbd "M-J") 'org-shiftmetadown
+ (kbd "M-o") '(lambda () (interactive)
+ (evil-org-eol-call
+ '(lambda()
+ (org-insert-heading)
+ (org-metaright))))
+ (kbd "M-t") '(lambda () (interactive)
+ (evil-org-eol-call
+ '(lambda()
+ (org-insert-todo-heading nil)
+ (org-metaright))))
+ ))
+ '(normal insert))
-;;; evil-org-mode.el ends here
+(provide 'evil-org)
+;;; evil-org.el ends here