summaryrefslogtreecommitdiff
path: root/elpa/evil-1.15.0/doc/source/settings.rst
diff options
context:
space:
mode:
Diffstat (limited to 'elpa/evil-1.15.0/doc/source/settings.rst')
-rw-r--r--elpa/evil-1.15.0/doc/source/settings.rst195
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.