diff --git a/layers/+emacs/org/README.org b/layers/+emacs/org/README.org
index 9ef070c09..88022de42 100644
--- a/layers/+emacs/org/README.org
+++ b/layers/+emacs/org/README.org
@@ -18,15 +18,16 @@
- [[#project-support][Project support]]
- [[#mode-line-support][Mode line support]]
- [[#key-bindings][Key bindings]]
- - [[#org][Org]]
+ - [[#starting-org-mode][Starting org-mode]]
- [[#toggles][Toggles]]
+ - [[#org-mode][Org-mode]]
- [[#org-with-evil-org-mode][Org with evil-org-mode]]
- - [[#tables][Tables]]
- - [[#trees][Trees]]
- - [[#element-insertion][Element insertion]]
- - [[#links][Links]]
- - [[#emphasis][Emphasis]]
- - [[#navigating-in-calendar][Navigating in calendar]]
+ - [[#tables][Tables]]
+ - [[#trees][Trees]]
+ - [[#element-insertion][Element insertion]]
+ - [[#links][Links]]
+ - [[#emphasis][Emphasis]]
+ - [[#navigating-in-calendar][Navigating in calendar]]
- [[#capture-buffers-and-src-blocks][Capture buffers and src blocks]]
- [[#org-agenda][Org agenda]]
- [[#keybindings][Keybindings]]
@@ -40,7 +41,7 @@
This layer enables [[http://orgmode.org/][org mode]] for Spacemacs.
** Features:
-- Vim inspired key bindings are provided by [[https://github.com/edwtjo/evil-org-mode][evil-org-mode]]
+- Vim inspired key bindings are provided by [[https://github.com/Somelauw/evil-org-mode][evil-org-mode]]
- Nicer bullet via [[https://github.com/sabof/org-bullets][org-bullets]]
- A [[https://cirillocompany.de/pages/pomodoro-technique][pomodoro method]] integration via [[https://github.com/lolownia/org-pomodoro][org-pomodoro]]
- Presentation mode via [[https://github.com/rlister/org-present][org-present]]
@@ -245,7 +246,7 @@ To permanently enable mode line display of org clock, add this snippet to your
#+END_SRC
* Key bindings
-** Org
+** Starting org-mode
| Key Binding | Description |
|---------------+--------------------------------|
@@ -270,10 +271,11 @@ To permanently enable mode line display of org clock, add this snippet to your
|-------------+-----------------------------------------------|
| ~SPC m T i~ | org-toggle-inline-images |
| ~SPC m T t~ | org-show-todo-tree |
+| ~SPC m T T~ | org-todo |
| ~SPC m T V~ | toggle =space-doc-mode= a read-only view mode |
| ~SPC m T x~ | org-preview-latex-fragment |
-** Org with evil-org-mode
+** Org-mode
| Key Binding | Description |
|----------------------------------------------+----------------------------------------------|
@@ -305,7 +307,24 @@ To permanently enable mode line display of org clock, add this snippet to your
| ~SPC m C-S-k~ | org-shiftcontrolup |
| ~SPC s j~ | spacemacs/jump-in-buffer (jump to a heading) |
-*** Tables
+** Org with evil-org-mode
+
+Please see the [[https://github.com/Somelauw/evil-org-mode/blob/master/doc/keythemes.org][evil-org documentation]] for additional instructions on customizing
+=evil-org-mode=.
+
+| Key Binding | Description |
+|---------------+---------------------------------|
+| ~gj~ / ~gk~ | Next/previous element (heading) |
+| ~gh~ / ~gl~ | Parent/child element (heading) |
+| ~gH~ | Root heading |
+| ~ae~ | Element text object |
+| ~ar~ | Subtree text object |
+| ~M-j~ / ~M-k~ | Move heading |
+| ~M-h~ / ~M-l~ | Promote or demote heading |
+| ~M-J~ / ~M-K~ | Move subtree |
+| ~M-H~ / ~M-L~ | Promote or demote subtree |
+
+** Tables
| Key Binding | Description |
|---------------+----------------------------------------------------------------------------|
@@ -337,7 +356,7 @@ To permanently enable mode line display of org clock, add this snippet to your
| ~SPC m t t o~ | Toggle the display of Row/Column numbers in tables |
| ~SPC m t w~ | Wrap several fields in a column like a paragraph |
-*** Trees
+** Trees
| Key Binding | Description |
|-------------+--------------------------------------------|
@@ -378,7 +397,7 @@ To permanently enable mode line display of org clock, add this snippet to your
| ~SPC m s s~ | show sparse tree |
| ~SPC m s S~ | sort trees |
-*** Element insertion
+** Element insertion
| Key Binding | Description |
|---------------+----------------------------------|
@@ -396,13 +415,13 @@ To permanently enable mode line display of org clock, add this snippet to your
| ~SPC m i s~ | org-insert-subheading |
| ~SPC m i t~ | org-set-tags |
-*** Links
+** Links
| Key Binding | Description |
|-------------+-------------------|
| ~SPC m x o~ | org-open-at-point |
-*** Emphasis
+** Emphasis
| Key Binding | Description |
|-------------+----------------------------|
@@ -414,7 +433,7 @@ To permanently enable mode line display of org clock, add this snippet to your
| ~SPC m x u~ | make region underline |
| ~SPC m x v~ | make region verbose |
-*** Navigating in calendar
+** Navigating in calendar
| Key Binding | Description |
|-------------+--------------------|
diff --git a/layers/+emacs/org/funcs.el b/layers/+emacs/org/funcs.el
index 23d160bab..834829676 100644
--- a/layers/+emacs/org/funcs.el
+++ b/layers/+emacs/org/funcs.el
@@ -38,3 +38,9 @@
(defun spacemacs//surround-code ()
(let ((dname (read-from-minibuffer "" "")))
(cons (format "#+BEGIN_SRC %s" (or dname "")) "#+END_SRC")))
+
+
+
+(defun spacemacs//evil-org-mode ()
+ (evil-org-mode)
+ (evil-normalize-keymaps))
diff --git a/layers/+emacs/org/local/evil-org/evil-org.el b/layers/+emacs/org/local/evil-org/evil-org.el
deleted file mode 100644
index 2d7adf3fb..000000000
--- a/layers/+emacs/org/local/evil-org/evil-org.el
+++ /dev/null
@@ -1,182 +0,0 @@
-;;; evil-org.el --- evil keybindings for org-mode
-
-;; Copyright (C) 2012-2014 by Edward Tjörnhammar
-;; Author: Edward Tjörnhammar
-;; URL: https://github.com/edwtjo/evil-org-mode.git
-;; Package-Version: 20150513.1610
-;; Git-Repository; git://github.com/edwtjo/evil-org-mode.git
-;; Created: 2012-06-14
-;; Version: 0.1.1
-;; Package-Requires: ((evil "0") (org "0"))
-;; Keywords: evil vim-emulation org-mode key-bindings presets
-
-;; This file is not part of GNU Emacs
-
-;; This program is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see .
-
-;;; Commentary:
-;;
-;; Known Bugs:
-;; See, https://github.com/edwtjo/evil-org-mode/issues
-;;
-;;; Code:
-(require 'evil)
-(require 'org)
-
-(define-minor-mode evil-org-mode
- "Buffer local minor mode for evil-org"
- :init-value nil
- :lighter " EvilOrg"
- :keymap (make-sparse-keymap) ; defines evil-org-mode-map
- :group 'evil-org)
-
-(add-hook 'org-mode-hook 'evil-org-mode) ;; only load with org-mode
-
-(defun clever-insert-item ()
- "Clever insertion of org item."
- (if (not (org-in-item-p))
- (insert "\n")
- (org-insert-item))
- )
-
-(defun evil-org-eol-call (fun)
- "Go to end of line and call provided function.
-FUN function callback"
- (end-of-visible-line)
- (funcall fun)
- (evil-append nil)
- )
-
-;; recompute clocks in visual selection
-(evil-define-operator evil-org-recompute-clocks (beg end type register yank-handler)
- :keep-visual t
- :move-point nil
- (interactive "")
- (progn
- (message "start!" )
- (save-excursion
- (while (< (point) end)
- (org-evaluate-time-range)
- (next-line)
- (message "at position %S" (point))
- ))))
-
-;; open org-mode links in visual selection
-(defun evil-org-generic-open-links (beg end type register yank-handler incog)
- (progn
- (save-excursion
- (goto-char beg)
- (catch 'break
- (while t
- (org-next-link)
- ;;; break from outer loop when there are no more
- ;;; org links
- (when (or
- (not (< (point) end))
- (not (null org-link-search-failed)))
- (throw 'break 0))
-
- (if (not (null incog))
- (let* ((new-arg
- ;;; if incog is true, decide which incognito settings to
- ;;; use dependening on the browser
- (cond ((not (null (string-match "^.*\\(iceweasel\\|firefox\\).*$" browse-url-generic-program))) "--private-window")
- ((not (null (string-match "^.*\\(chrome\\|chromium\\).*$" browse-url-generic-program))) "--incognito" )
- (t "")
- ))
- (old-b (list browse-url-generic-args " " ))
- (browse-url-generic-args (add-to-ordered-list 'old-b new-arg 0)))
- (progn
- (org-open-at-point)))
- (let ((browse-url-generic-args '("")))
- (org-open-at-point)))
- )))))
-
-
-;;; open links in visual selection
-(evil-define-operator evil-org-open-links (beg end type register yank-handler)
- :keep-visual t
- :move-point nil
- (interactive "")
- (evil-org-generic-open-links beg end type register yank-handler nil)
-)
-
-;;; open links in visual selection in incognito mode
-(evil-define-operator evil-org-open-links-incognito (beg end type register yank-handler)
- :keep-visual t
- :move-point nil
- (interactive "")
- (evil-org-generic-open-links beg end type register yank-handler t)
-)
-
-;; normal state shortcuts
-(evil-define-key 'normal evil-org-mode-map
- "gh" 'outline-up-heading
- "gp" 'outline-previous-heading
- "gj" (if (fboundp 'org-forward-same-level) ;to be backward compatible with older org version
- 'org-forward-same-level
- 'org-forward-heading-same-level)
- "gk" (if (fboundp 'org-backward-same-level)
- 'org-backward-same-level
- 'org-backward-heading-same-level)
- "gl" 'outline-next-visible-heading
- "t" 'org-todo
- "T" '(lambda () (interactive) (evil-org-eol-call (lambda() (org-insert-todo-heading nil))))
- "o" '(lambda () (interactive) (evil-org-eol-call 'clever-insert-item))
- "O" '(lambda () (interactive) (evil-org-eol-call 'org-insert-heading))
- "$" 'org-end-of-line
- "^" 'org-beginning-of-line
- "<" 'org-metaleft
- ">" 'org-metaright
- "-" 'org-cycle-list-bullet
- (kbd "TAB") 'org-cycle)
-
-;; normal & insert state shortcuts.
-(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))
-
-;; vim-like confirm/abort for capture and src
-(with-eval-after-load 'org-capture
- (define-key org-capture-mode-map [remap evil-save-and-close] 'org-capture-finalize)
- (define-key org-capture-mode-map [remap evil-save-modified-and-close] 'org-capture-finalize)
- (define-key org-capture-mode-map [remap evil-quit] 'org-capture-kill))
-
-(with-eval-after-load 'org-src
- (define-key org-src-mode-map [remap evil-save-and-close] 'org-edit-src-exit)
- (define-key org-src-mode-map [remap evil-save-modified-and-close] 'org-edit-src-exit)
- (define-key org-src-mode-map [remap evil-quit] 'org-edit-src-abort))
-
-
-(provide 'evil-org)
-;;; evil-org.el ends here
diff --git a/layers/+emacs/org/packages.el b/layers/+emacs/org/packages.el
index 35296b0d4..77e738241 100644
--- a/layers/+emacs/org/packages.el
+++ b/layers/+emacs/org/packages.el
@@ -10,33 +10,33 @@
;;; License: GPLv3
(setq org-packages
- '(
- company
- company-emoji
- emoji-cheat-sheet-plus
- (evil-org :location local)
- evil-surround
- gnuplot
- htmlize
- ;; ob, org and org-agenda are installed by `org-plus-contrib'
- (ob :location built-in)
- (org :location built-in)
- (org-agenda :location built-in)
- (org-expiry :location built-in)
- (org-journal :toggle org-enable-org-journal-support)
- org-download
- ;; org-mime is installed by `org-plus-contrib'
- (org-mime :location built-in)
- org-pomodoro
- org-present
- (org-projectile :toggle (configuration-layer/package-usedp 'projectile))
- (ox-twbs :toggle org-enable-bootstrap-support)
- ;; use a for of ox-gfm to fix index generation
- (ox-gfm :location (recipe :fetcher github :repo "syl20bnr/ox-gfm")
- :toggle org-enable-github-support)
- (ox-reveal :toggle org-enable-reveal-js-support)
- persp-mode
- ))
+ '(
+ company
+ company-emoji
+ emoji-cheat-sheet-plus
+ evil-org
+ evil-surround
+ gnuplot
+ htmlize
+ ;; ob, org and org-agenda are installed by `org-plus-contrib'
+ (ob :location built-in)
+ (org :location built-in)
+ (org-agenda :location built-in)
+ (org-expiry :location built-in)
+ (org-journal :toggle org-enable-org-journal-support)
+ org-download
+ ;; org-mime is installed by `org-plus-contrib'
+ (org-mime :location built-in)
+ org-pomodoro
+ org-present
+ (org-projectile :toggle (configuration-layer/package-usedp 'projectile))
+ (ox-twbs :toggle org-enable-bootstrap-support)
+ ;; use a for of ox-gfm to fix index generation
+ (ox-gfm :location (recipe :fetcher github :repo "syl20bnr/ox-gfm")
+ :toggle org-enable-github-support)
+ (ox-reveal :toggle org-enable-reveal-js-support)
+ persp-mode
+ ))
(defun org/post-init-company ()
(spacemacs|add-company-backends :backends company-capf :modes org-mode))
@@ -49,15 +49,13 @@
(defun org/init-evil-org ()
(use-package evil-org
- :commands (evil-org-mode evil-org-recompute-clocks)
- :init (add-hook 'org-mode-hook 'evil-org-mode)
- :config
+ :defer t
+ :init
(progn
- (evil-define-key 'normal evil-org-mode-map
- "O" 'evil-open-above)
- (spacemacs/set-leader-keys-for-major-mode 'org-mode
- "Cg" 'evil-org-recompute-clocks)
- (spacemacs|diminish evil-org-mode " ⓔ" " e"))))
+ (add-hook 'org-mode-hook 'spacemacs//evil-org-mode)
+ (setq evil-org-key-theme '(textobjects navigation additional)))
+ :config
+ (spacemacs|diminish evil-org-mode " ⓔ" " e")))
(defun org/post-init-evil-surround ()
(defun spacemacs/add-org-surrounds ()
@@ -185,6 +183,7 @@ Will work on both org-mode and any mode that accepts plain html."
"Tt" 'org-show-todo-tree
"Ti" 'org-toggle-inline-images
+ "TT" 'org-todo
"TV" 'space-doc-mode
"Tx" 'org-toggle-latex-fragment