Org-evil provides Org-mode extensions for Evil users.
The following installation methods are available:
To install org-evil, you need to have the following dependencies installed:
Once you have set up these dependencies appropriately
(and they are in your load-path) you can add:
(add-to-list 'load-path "/path/to/org-evil/directory")
(require 'org-evil)To your init file to enable org-evil for future sessions.
To check that org-evil is working, navigate to a buffer
with org as its major mode, then run C-h v org-evil-mode RET,
you should see an indication that the value of the variable is t.
Simply add (depends-on "org-evil") to your Cask file, then
run cask install.
el-get can be used to install the latest version, see https://github.com/dimitri/el-get for more information.
The latest version of org-evil is available from MELPA.
http://melpa.milkbox.net/#/org-evil
Follow the instructions at MELPA to enable MELPA for your
system, then run M-x package-install RET org-evil RET to
install org-evil.
org-evil aims to make motion in Org intuitive for Evil users,
so you can expect motions such as $ to be similar to evil-end-of-line,
^ to evil-first-non-blank, and so on and so forth.
The following are the default motion bindings for org-evil-motion, use
M-x describe-function BINDING for more information on each motion.
| Key | Binding |
|---|---|
[[ | org-evil-motion-backward-block-begin |
]] | org-evil-motion-forward-block-begin |
gH | org-evil-motion-up-heading-top |
gh | org-evil-motion-up-heading |
{ | org-evil-motion-backward-heading |
} | org-evil-motion-forward-heading |
The following bindings apply when inside an Org block:
| Key | Binding |
|---|---|
( | org-evil-block-beginning-of-block |
) | org-evil-block-end-of-block |
The following bindings apply when inside a list:
| Key | Binding |
|---|---|
( | org-evil-list-beginning-of-previous-item |
) | org-evil-list-beginning-of-next-item |
^ | org-evil-list-beginning-of-item |
The following bindings apply when inside an Org table:
| Key | Binding |
|---|---|
gR | org-evil-table-goto-line-from-bottom |
gc | org-evil-table-goto-column |
gr | org-evil-table-goto-line |
| | | org-evil-table-goto-column |
The following bindings apply when at a heading:
| Key | Binding |
|---|---|
< | org-evil-promote |
> | org-evil-demote |
O | org-evil-heading-open-sibling-or-insert-above |
o | org-evil-heading-open-sibling-or-insert-below |
The following bindings apply when in a list:
| Key | Binding |
|---|---|
< | org-evil-list-outdent-item-tree |
> | org-evil-list-indent-item-tree |
O | org-evil-list-open-item-or-insert-above |
o | org-evil-list-open-item-or-insert-below |
The following bindings apply when inside an Org table:
| Key | Binding |
|---|---|
< | org-evil-table-move-column-left |
> | org-evil-table-move-column-right |
D | org-evil-table-kill-row-to-end |
O | org-evil-table-insert-row-above |
o | org-evil-table-insert-row-below |
The following text objects are enabled within an Org block:
| Key | Binding |
|---|---|
ab | org-evil-block-a-block |
ib | org-evil-block-inner-block |
Before testing, first run cask install to ensure the
appropriate dependencies are installed, then use make test.
- evil-org-mode by Somelauw - a continuation of evil-org-mode by edwtjo with alternative bindings and functionality.