diff options
Diffstat (limited to 'elpa/evil-1.15.0/doc/source/settings.rst')
-rw-r--r-- | elpa/evil-1.15.0/doc/source/settings.rst | 195 |
1 files changed, 195 insertions, 0 deletions
diff --git a/elpa/evil-1.15.0/doc/source/settings.rst b/elpa/evil-1.15.0/doc/source/settings.rst new file mode 100644 index 0000000..125d7d6 --- /dev/null +++ b/elpa/evil-1.15.0/doc/source/settings.rst @@ -0,0 +1,195 @@ +Settings +======== + +Evil's behaviour can be adjusted by setting some variables. The list +of all available variables and their current values can be inspected +by doing:: + + M-x customize-group RET evil RET + +To change the value of a variable, you can use this interface, or add +a ``setq`` form to your Emacs init file, preferably before Evil is +loaded. [#order]_ + +.. code-block:: elisp + + (setq evil-shift-width 0) + ;; Load Evil + (require 'evil) + +What follows is a non-exhaustive list of the most relevant +customization options. + + +The initial state +----------------- + +The initial state of a buffer is determined by its major mode. Evil +maintains an association between major modes and their corresponding +states, which is most easily modified using the function +:elisp:ref:`evil-set-initial-state`. + +.. elisp:autofunction:: evil-set-initial-state + +If no state can be found, Evil uses the default initial state. + +.. elisp:autovariable:: evil-default-state + +Alternatively, it is possible to select the initial state based on the +buffer *name* rather than its major mode. This is checked first, so +it takes precedence over the other methods for setting the state. + +.. elisp:autovariable:: evil-buffer-regexps + + +Keybindings and other behaviour +------------------------------- + +Evil comes with a rich system for modifying its key bindings +:ref:`chapter-keymaps`. For the most common tweaks, the following +variables are available. + +.. elisp:autovariable:: evil-toggle-key + +.. elisp:autovariable:: evil-want-C-i-jump + +.. elisp:autovariable:: evil-want-C-u-delete + +.. elisp:autovariable:: evil-want-C-u-scroll + +.. elisp:autovariable:: evil-want-C-d-scroll + +.. elisp:autovariable:: evil-want-C-w-delete + +.. elisp:autovariable:: evil-want-C-w-in-emacs-state + +.. elisp:autovariable:: evil-want-Y-yank-to-eol + +.. elisp:autovariable:: evil-disable-insert-state-bindings + + +Search +------ + +.. elisp:autovariable:: evil-search-module + +.. elisp:autovariable:: evil-regexp-search + +.. elisp:autovariable:: evil-search-wrap + +.. elisp:autovariable:: evil-flash-delay + +.. elisp:autovariable:: evil-ex-hl-update-delay + +.. elisp:autovariable:: evil-ex-search-incremental + + +Indentation +----------- + +.. elisp:autovariable:: evil-auto-indent + +.. elisp:autovariable:: evil-shift-width + +.. elisp:autovariable:: evil-shift-round + +.. elisp:autovariable:: evil-indent-convert-tabs + + +Cursor movement +--------------- + +In standard Emacs terms, the cursor is generally understood to be +located between two characters. In Vim, and therefore also Evil, this +is the case in insert state, but in other states the cursor is +understood to be *on* a character, and that this character is not a +newline. + +Forcing this behaviour in Emacs is the source of some potentially +surprising results (especially for traditional Emacs users---users +used to Vim may find the default behavior to their satisfaction). Many +of them can be tweaked using the following variables. + +.. elisp:autovariable:: evil-repeat-move-cursor + +.. elisp:autovariable:: evil-move-cursor-back + +.. elisp:autovariable:: evil-move-beyond-eol + +.. elisp:autovariable:: evil-cross-lines + +.. elisp:autovariable:: evil-respect-visual-line-mode + +.. elisp:autovariable:: evil-track-eol + +.. elisp:autovariable:: evil-start-of-line + + +Cursor display +-------------- + +A state may change the appearance of the cursor. Use the variable +:elisp:ref:`evil-default-cursor` to set the default cursor, and the +variables ``evil-normal-state-cursor``, ``evil-insert-state-cursor`` +etc. to set the cursors for specific states. The acceptable values +for all of them are the same. + +.. elisp:autovariable:: evil-default-cursor + + +Window management +----------------- + +.. elisp:autovariable:: evil-auto-balance-windows + +.. elisp:autovariable:: evil-split-window-below + +.. elisp:autovariable:: evil-vsplit-window-right + + +Parenthesis highlighting +------------------------ + +These settings concern the integration between Evil and +``show-paren-mode``. They take no effect if this mode is not enabled. + +.. elisp:autovariable:: evil-show-paren-range + +.. elisp:autovariable:: evil-highlight-closing-paren-at-point-states + + +Miscellaneous +------------- + +.. elisp:autovariable:: evil-want-fine-undo + +.. elisp:autovariable:: evil-undo-system + +.. elisp:autovariable:: evil-backspace-join-lines + +.. elisp:autovariable:: evil-kbd-macro-suppress-motion-error + +.. elisp:autovariable:: evil-mode-line-format + +.. elisp:autovariable:: evil-mouse-word + +.. elisp:autovariable:: evil-bigword + +.. elisp:autovariable:: evil-esc-delay + +.. elisp:autovariable:: evil-intercept-esc + +.. elisp:autovariable:: evil-kill-on-visual-paste + +.. elisp:autovariable:: evil-echo-state + +.. elisp:autovariable:: evil-complete-all-buffers + +.. elisp:autovariable:: evil-want-empty-ex-last-command + + +.. rubric:: Footnotes + +.. [#order] Strictly speaking, the order only matters if the variable + affects the way Evil is loaded. This is the case with some + variables. |