All Projects → Somelauw → Evil Org Mode

Somelauw / Evil Org Mode

Supplemental evil-mode keybindings to emacs org-mode

Projects that are alternatives of or similar to Evil Org Mode

Org Evil
Evil extensions for Org-mode.
Stars: ✭ 51 (-78.84%)
Mutual labels:  evil, emacs, org-mode
Evil
The extensible vi layer for Emacs.
Stars: ✭ 2,265 (+839.83%)
Mutual labels:  evil, emacs
Emacs Easy Hugo
Emacs major mode for managing hugo
Stars: ✭ 235 (-2.49%)
Mutual labels:  emacs, org-mode
Go Org
Org mode parser with html & pretty printed org rendering. also shitty static site generator.
Stars: ✭ 177 (-26.56%)
Mutual labels:  emacs, org-mode
Writingwithemacs
Tips, Examples, and Resources for Writing with Emacs
Stars: ✭ 150 (-37.76%)
Mutual labels:  emacs, org-mode
Org Msg
OrgMsg is a GNU/Emacs global minor mode mixing up Org mode and Message mode to compose and reply to emails in a Outlook HTML friendly style.
Stars: ✭ 153 (-36.51%)
Mutual labels:  emacs, org-mode
Orgro
An org-mode file viewer for iOS and Android
Stars: ✭ 175 (-27.39%)
Mutual labels:  emacs, org-mode
Novels.org
Novels.org - Your Novels in Plain Text (Emacs . org-mode)
Stars: ✭ 120 (-50.21%)
Mutual labels:  emacs, org-mode
Evil Snipe
2-char searching ala vim-sneak & vim-seek, for evil-mode
Stars: ✭ 196 (-18.67%)
Mutual labels:  evil, emacs
Evil Multiedit
Multiple cursors for evil-mode, based on iedit
Stars: ✭ 200 (-17.01%)
Mutual labels:  evil, emacs
Toc Org
toc-org is an Emacs utility to have an up-to-date table of contents in the org files without exporting (useful primarily for readme files on GitHub)
Stars: ✭ 202 (-16.18%)
Mutual labels:  emacs, org-mode
Org Fragtog
Automatically toggle Org mode LaTeX fragment previews as the cursor enters and exits them
Stars: ✭ 149 (-38.17%)
Mutual labels:  emacs, org-mode
Org Graph View
View Org buffers as a clickable, graphical mind-map
Stars: ✭ 141 (-41.49%)
Mutual labels:  emacs, org-mode
Hexo Renderer Org
Hexo renderer plugin for emacs org-mode
Stars: ✭ 157 (-34.85%)
Mutual labels:  emacs, org-mode
Emacs Smart Input Source
Less manual switch for native or OS input source (input method).
Stars: ✭ 130 (-46.06%)
Mutual labels:  evil, emacs
Org Pdftools
A custom org link type for pdf-tools
Stars: ✭ 165 (-31.54%)
Mutual labels:  emacs, org-mode
Dotfiles
Ninrod's sharpened dotfiles for emacs, vim, zsh, tmux. Since '15.
Stars: ✭ 208 (-13.69%)
Mutual labels:  evil, emacs
Doom Emacs
An Emacs framework for the stubborn martian hacker
Stars: ✭ 12,774 (+5200.41%)
Mutual labels:  evil, emacs
Walkman
Write HTTP requests in Org mode and replay them at will using cURL
Stars: ✭ 120 (-50.21%)
Mutual labels:  emacs, org-mode
Org Books
Reading list management with org mode
Stars: ✭ 186 (-22.82%)
Mutual labels:  emacs, org-mode

#+TITLE: evil-org

[[https://melpa.org/#/evil-org][file:https://melpa.org/packages/evil-org-badge.svg]] [[https://stable.melpa.org/#/evil-org][file:https://stable.melpa.org/packages/evil-org-badge.svg]]

Supplemental evil-mode key-bindings to Emacs org-mode. This project is a continuation of https://github.com/edwtjo/evil-org-mode/blob/master/evil-org.el by Edward Tjörnhammar. From version 1.3 it was taken over by Somelauw. See [[file:doc/changelog.org][changelog]] for a history of changes.

** Features

  • normal, visual and insert mode bindings
  • key bindings organised in key themes
  • operators like > and < to work on headings
  • text objects
  • table support
  • calendar (date selection) support
  • agenda support

** Keybindings

[[file:doc/keythemes.org][Full overview of bindings and configuration]]

*** Quick overview

|----------------+---------------------------|
| key            | explanation               |
|----------------+---------------------------|
| gh, gj, gk, gl | navigate between elements |
| vae            | select an element         |
|----------------+---------------------------|

**** Headings and items

 |--------------+------------------------|
 | key          | explanation            |
 |--------------+------------------------|
 | M-ret        | insert heading         |
 | <tab>, g TAB | fold / unfold headings |
 | M-h or <<    | promote a heading      |
 | M-l or >>    | demote a heading       |
 | M-k          | move subtree up        |
 | M-j          | move subtree down      |
 | M-S-h or <aR | promote a subtree      |
 | M-S-l or >aR | demote a subtree       |
 | vaR          | select a subtree       |
 |--------------+------------------------|

**** Tables

 |-----------+--------------------------------|
 | key       | explanation                    |
 |-----------+--------------------------------|
 | (         | previous table cell            |
 | )         | next table cell                |
 | {         | beginning of table             |
 | }         | end of table                   |
 | M-h / M-l | move table column left / right |
 | M-k / M-j | move table column up / down    |
 | vae       | select table cell              |
 | vaE       | select table row               |
 | var       | select whole table             |
 |-----------+--------------------------------|

**** Agenda

 |-------------------------+-------------------------+-----------------------------------------------------------------------------------|
 | Evil key                | Emacs key               | explanation                                                                       |
 |-------------------------+-------------------------+-----------------------------------------------------------------------------------|
 | gH                      |                         | Move cursor to the top of window                                                  |
 | gM                      |                         | Move cursor to the middle of window                                               |
 | gL                      |                         | Move cursor to the bottom of window                                               |
 | <tab>, S-<return>       | <tab>                   | go to the corresponding entry at point                                            |
 | g TAB                   | <tab>                   | go to the corresponding entry at point                                            |
 | <return>                | <return>                | go to the Org mode file which contains the item at point                          |
 | M-<return>              | L                       | Display Org file and center around the item                                       |
 | <space>                 | <space>                 | scroll up                                                                         |
 | <delete> or <backspace> | <delete> or <backspace> | scroll down                                                                       |
 | j, k                    | n, p                    | next, previous line                                                               |
 | gj, gk, C-j, C-k        | N, P                    | next, previous item                                                               |
 | [, ]                    | b, f                    | previous, next week                                                               |
 | J, K                    | -, +, S-down, S-up      | down, up priority                                                                 |
 | H, L                    | S-left, S-right         | modify date to earlier, later                                                     |
 | t                       | t                       | cycle TODO keywords                                                               |
 | M-j, M-k                | M-down, M-up            | drag line forward, backward                                                       |
 | C-S-h, C-S-l            | C-S-left, C-S-right     | previous, next keyword                                                            |
 | u                       | C-_, C-/                | undo                                                                              |
 | dd                      | C-k                     | delete item                                                                       |
 | da                      | a                       | ask and archive item                                                              |
 | dA                      | $                       | archive item                                                                      |
 | ct                      | :                       | set tags                                                                          |
 | ce                      | e                       | set effort                                                                        |
 | cT                      | ;                       | set timer                                                                         |
 | i                       | i                       | insert entry in diary                                                             |
 | a                       | z                       | add note                                                                          |
 | A                       | A                       | append to agenda                                                                  |
 | C                       | k                       | capture                                                                           |
 | m                       | m                       | mark                                                                              |
 | *                       | *                       | toggle all marks                                                                  |
 | %                       | %                       | mark regexp                                                                       |
 | M                       | U                       | remove all marks                                                                  |
 | x                       | B                       | execute action on marks                                                           |
 | gr                      | r                       | refresh agenda                                                                    |
 | gR                      | g                       | refresh all agendas                                                               |
 | ZQ                      | x                       | exit agenda                                                                       |
 | ZZ                      | Q                       | quit agenda                                                                       |
 | gD                      | v                       | tweak display (deadlines, diary, follow/log-mode, entry text, grid, day/week/year |
 | ZD                      | #                       | dim blocked tasks                                                                 |
 | sc, sr, se, st, s^      | <, =, _, /, ^           | filter by category, regexp, effort, tag, top headline                             |
 | su                      | \vert                   | remove all filters                                                                |
 | ss                      | ~                       | filter/limit interactively                                                        |
 | I                       | I                       | clock in                                                                          |
 | O                       | O                       | clock out                                                                         |
 | cg                      | J                       | jump to the currently clocked in task within the agenda                           |
 | cc                      | X                       | cancel the current running clock                                                  |
 | cr                      | R                       | toggle clocktable mode in an agenda buffer                                        |
 | .                       | .                       | go to today's date                                                                |
 | gc                      | c                       | pop up calendar                                                                   |
 | gC                      | C                       | pop up date converter                                                             |
 | p                       | >                       | pop up date selector                                                              |
 | gh                      | H                       | pop up holiday calendar                                                           |
 | gm                      | M                       | pop up phases of the moon                                                         |
 | gs                      | S                       | pop up sunrise/sunset times                                                       |
 | gt                      | T                       | pop up tag list                                                                   |
 | +, -                    | [, ]                    | manipulate the query by adding a search term with positive or negative selection  |
 |-------------------------+-------------------------+-----------------------------------------------------------------------------------|

** Requirements

** Installation

*** Manual installation #+BEGIN_SRC sh mkdir -p ~/.emacs.d/plugins; git clone
git://github.com/somelauw/evil-org-mode.git ~/.emacs.d/plugins/evil-org-mode #+END_SRC

**** Configuration emacs.el

#+BEGIN_SRC emacs-lisp
(add-to-list 'load-path "~/.emacs.d/plugins/evil-org-mode")
(require 'evil-org)
(add-hook 'org-mode-hook 'evil-org-mode)
(evil-org-set-key-theme '(navigation insert textobjects additional calendar))
(require 'evil-org-agenda)
(evil-org-agenda-set-keys)
#+END_SRC

Or you can customize =evil-org-key-theme= and replace the last line by:
#+BEGIN_SRC emacs-lisp
(evil-org-set-key-theme)
#+END_SRC

*** Installation by use-package #+BEGIN_SRC emacs-lisp (use-package evil-org :ensure t :after org :hook (org-mode . (lambda () evil-org-mode)) :config (require 'evil-org-agenda) (evil-org-agenda-set-keys)) #+END_SRC

For a more elaborate setup, take a look at [[file:doc/example_config.el][this example]].

** Common issues

In case you run Emacs in a terminal, you might find that =TAB= does not work as expected (being bound to =evil-jump-forward= instead of =org-tab=). You can add this to your configuration to get =org-tab= instead at the cost of losing =C-i= to jump.

#+BEGIN_SRC emacs-lisp (setq evil-want-C-i-jump nil) #+END_SRC

** See also

  • [[https://github.com/edwtjo/evil-org-mode][evil-org-mode by edwtjo]] Original org-mode plugin by edwtjo from which this project was forked

  • [[https://github.com/GuiltyDolphin/org-evil][org-evil by GuiltyDolphin]] Alternative integration of evil and org with different keybindings

  • https://github.com/abo-abo/worf Not an evil plugin, but provides vim-inspired key bindings

  • https://github.com/jceb/vim-orgmode Org mode plugin for vim

  • http://orgmode.org/ The official org-mode website

  • [[http://orgmode.org/orgcard.pdf]] A handy cheat sheet, even if using this plugin

  • https://github.com/Somelauw/evil-markdown Similar project for markdown code

** License

Gnu General Public License v3.0, http://www.gnu.org/copyleft/gpl.html

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].