From d2be5a15bb221559ee28763e72fc52cf881b8f66 Mon Sep 17 00:00:00 2001 From: Eivind Fonn Date: Wed, 11 Dec 2019 23:09:08 +0100 Subject: Delete unused variables --- evil-vars.el | 5 ----- 1 file changed, 5 deletions(-) diff --git a/evil-vars.el b/evil-vars.el index 0fa7ac1..474849e 100644 --- a/evil-vars.el +++ b/evil-vars.el @@ -327,11 +327,6 @@ consistently." :type 'number :group 'evil) -(defcustom evil-fold-level 0 - "Default fold level." - :type 'integer - :group 'evil) - (defcustom evil-auto-balance-windows t "If non-nil creating/deleting a window causes a rebalance." :type 'boolean -- cgit v1.0 From 6cef26fce01369bcc179068720a5dcb60fd1fba6 Mon Sep 17 00:00:00 2001 From: Eivind Fonn Date: Thu, 12 Dec 2019 16:44:30 +0100 Subject: Improve some docstrings --- evil-common.el | 5 +- evil-core.el | 63 ++++++++--------- evil-macros.el | 71 ++++++++++++++----- evil-vars.el | 216 +++++++++++++++++++++++++++++++++------------------------ 4 files changed, 207 insertions(+), 148 deletions(-) diff --git a/evil-common.el b/evil-common.el index fc90c88..45f921d 100644 --- a/evil-common.el +++ b/evil-common.el @@ -422,7 +422,7 @@ MOTION defaults to the current motion." (defun evil-declare-motion (command) "Declare COMMAND to be a movement function. -This ensures that it behaves correctly in Visual state." +This ensures that it behaves correctly in visual state." (evil-add-command-properties command :keep-visual t :repeat 'motion)) (defun evil-declare-repeat (command) @@ -438,7 +438,8 @@ This ensures that it behaves correctly in Visual state." (evil-add-command-properties command :repeat 'ignore)) (defun evil-declare-change-repeat (command) - "Declare COMMAND to be repeatable by buffer changes." + "Declare COMMAND to be repeatable by buffer changes rather than +keystrokes." (evil-add-command-properties command :repeat 'change)) (defun evil-declare-insert-at-point-repeat (command) diff --git a/evil-core.el b/evil-core.el index c8851d6..dc58688 100644 --- a/evil-core.el +++ b/evil-core.el @@ -1004,20 +1004,19 @@ the above. If LOCAL is non-nil, set localleader instead." (defmacro evil-define-key (state keymap key def &rest bindings) "Create a STATE binding from KEY to DEF for KEYMAP. -STATE is one of normal, insert, visual, replace, operator, -motion, emacs, or a list of one or more of these. Omitting a -state by using nil corresponds to a standard Emacs binding using -`define-key'. The remaining arguments are like those of -`define-key'. For example: +STATE is one of `normal', `insert', `visual', `replace', +`operator', `motion', `emacs', or a list of one or more of +these. Omitting a state by using `nil' corresponds to a standard +Emacs binding using `define-key'. The remaining arguments are +like those of `define-key'. For example: (evil-define-key 'normal foo-map \"a\" 'bar) -This creates a binding from \"a\" to bar in Normal state, which -is active whenever foo-map is active. Using nil for the state, +This creates a binding from \\[a] to `bar' in normal state, which +is active whenever `foo-map' is active. Using `nil' for the state, the following lead to identical bindings: (evil-define-key nil foo-map \"a\" 'bar) - (define-key foo-map \"a\" 'bar) It is possible to specify multiple states and/or bindings at @@ -1027,21 +1026,20 @@ once: \"a\" 'bar \"b\" 'foo) -If foo-map has not been initialized yet, this macro adds an entry -to `after-load-functions', delaying execution as necessary. +If `foo-map' has not been initialized yet, this macro adds an +entry to `after-load-functions', delaying execution as necessary. -KEYMAP may also be a quoted symbol. If the symbol is global, the +KEYMAP may also be a quoted symbol. If the symbol is `global', the global evil keymap corresponding to the state(s) is used, meaning the following lead to identical bindings: (evil-define-key 'normal 'global \"a\" 'bar) - (evil-global-set-key 'normal \"a\" 'bar) -The symbol local may also be used, which corresponds to using +The symbol `local' may also be used, which corresponds to using `evil-local-set-key'. If a quoted symbol is used that is not -global or local, it is assumed to be the name of a minor mode, in -which case `evil-define-minor-mode-key' is used." +`global' or `local', it is assumed to be the name of a minor +mode, in which case `evil-define-minor-mode-key' is used." (declare (indent defun)) (cond ((member keymap '('global 'local)) `(evil-define-key* ,state ,keymap ,key ,def ,@bindings)) @@ -1194,26 +1192,21 @@ Add additional BINDINGS if specified." "Define an Evil state STATE. DOC is a general description and shows up in all docstrings; the first line of the string should be the full name of the state. -Then follows one or more optional keywords: - -:tag STRING Mode line indicator. -:message STRING Echo area message when changing to STATE. -:cursor SPEC Cursor to use in STATE. -:entry-hook LIST Hooks run when changing to STATE. -:exit-hook LIST Hooks run when changing from STATE. -:enable LIST List of other states and modes enabled by STATE. -:suppress-keymap FLAG If FLAG is non-nil, makes `evil-suppress-map' - the parent of the global map of STATE, - effectively disabling bindings to - `self-insert-command'. - -Following the keywords is optional code to be executed each time -the state is enabled or disabled. For example: - - (evil-define-state test - \"Test state.\" - :tag \" \" - (setq test-var t)) + +BODY is executed each time the state is enabled or disabled. + +Optional keyword arguments: +- `:tag' - the mode line indicator, e.g. \"\". +- `:message' - string shown in the echo area when the state is + activated. +- `:cursor' - default cursor specification. +- `:enable' - list of other state keymaps to enable when in this + state. +- `:entry-hook' - list of functions to run when entering this state. +- `:exit-hook' - list of functions to run when exiting this state. +- `:suppress-keymap' - if non-nil, effectively disables bindings to + `self-insert-command' by making `evil-suppress-map' the parent of + the global state keymap. The global keymap of this state will be `evil-test-state-map', the local keymap will be `evil-test-state-local-map', and so on. diff --git a/evil-macros.el b/evil-macros.el index 49bef50..79cd8d8 100644 --- a/evil-macros.el +++ b/evil-macros.el @@ -110,7 +110,17 @@ The return value is a list (BEG END TYPE)." (move-marker evil-motion-marker nil)))))) (defmacro evil-define-motion (motion args &rest body) - "Define an motion command MOTION. + "Define a motion command MOTION. +ARGS is a list of arguments. Motions can have any number of +arguments, but the first (if any) has the predefined meaning of +count. BODY must execute the motion by moving point. + +Optional keyword arguments are: +- `:type' - determines how the motion works after an operator (one of + `inclusive', `line', `block' and `exclusive', or a self-defined + motion type) +- `:jump' - if non-nil, the previous position is stored in the jump + list, so that it can be restored with \\[C-o] \(fn MOTION (COUNT ARGS...) DOC [[KEY VALUE]...] BODY...)" (declare (indent defun) @@ -147,7 +157,7 @@ The return value is a list (BEG END TYPE)." '(and (fboundp 'eldoc-add-command) (eldoc-add-command ',motion)))) (evil-define-command ,motion (,@args) - ,@(when doc `(,doc)) ; avoid nil before `interactive' + ,@(when doc `(,doc)) ; avoid nil before `interactive' ,@keys :keep-visual t (interactive ,@interactive) @@ -356,6 +366,14 @@ the new range." BODY should return a range (BEG END) to the right of point if COUNT is positive, and to the left of it if negative. +Optional keyword arguments: +- `:type' - determines how the range applies after an operator + (`inclusive', `line', `block', and `exclusive', or a self-defined + motion type). +- `:extend-selection' - if non-nil (default), the text object always + enlarges the current selection. Otherwise, it replaces the current + selection. + \(fn OBJECT (COUNT) DOC [[KEY VALUE]...] BODY...)" (declare (indent defun) (doc-string 3) @@ -444,6 +462,23 @@ if COUNT is positive, and to the left of it if negative. (defmacro evil-define-operator (operator args &rest body) "Define an operator command OPERATOR. +The operator acts on the range of characters BEG through +END. BODY must execute the operator by potentially manipulating +the buffer contents, or otherwise causing side effects to happen. + +Optional keyword arguments are: +- `:type' - force the input range to be of a given type (`inclusive', + `line', `block', and `exclusive', or a self-defined motion type). +- `:motion' - use a predetermined motion instead of waiting for one + from the keyboard. This does not affect the behavior in visual + state, where selection boundaries are always used. +- `:repeat' - if non-nil (default), then \\[.] will repeat the + operator. +- `:move-point' - if non-nil (default), the cursor will be moved to + the beginning of the range before the body executes +- `:keep-visual' - if non-nil, the selection is not disabled when the + operator is executed in visual state. By default, visual state is + exited automatically. \(fn OPERATOR (BEG END ARGS...) DOC [[KEY VALUE]...] BODY...)" (declare (indent defun) @@ -614,24 +649,22 @@ RETURN-TYPE is non-nil." (defmacro evil-define-type (type doc &rest body) "Define type TYPE. DOC is a general description and shows up in all docstrings. -It is followed by a list of keywords and functions: - -:expand FUNC Expansion function. This function should accept - two positions in the current buffer, BEG and END, - and return a pair of expanded buffer positions. -:contract FUNC The opposite of :expand, optional. -:one-to-one BOOL Whether expansion is one-to-one. This means that - :expand followed by :contract always returns the - original range. -:normalize FUNC Normalization function, optional. This function should - accept two unexpanded positions and adjust them before - expansion. May be used to deal with buffer boundaries. -:string FUNC Description function. This takes two buffer positions - and returns a human-readable string, for example, - \"2 lines\". + +Optional keyword arguments: +- `:expand' - expansion function. This function should accept two + positions in the current buffer, BEG and END,and return a pair of + expanded buffer positions. +- `:contract' - the opposite of `:expand'. Optional. +- `:one-to-one' - non-nil if expansion is one-to-one. This means that + `:expand' followed by `:contract' always return the original range. +- `:normalize' - normalization function. This function should accept + two unexpanded positions and adjust them before expansion. May be + used to deal with buffer boundaries. +- `:string' - description function. Takes two buffer positions and + returns a human-readable string. For example \"2 lines\" If further keywords and functions are specified, they are assumed to -be transformations on buffer positions, like :expand and :contract. +be transformations on buffer positions, like `:expand' and `:contract'. \(fn TYPE DOC [[KEY FUNC]...])" (declare (indent defun) @@ -646,7 +679,7 @@ be transformations on buffer positions, like :expand and :contract. (while (keywordp (car-safe body)) (setq key (pop body) val (pop body)) - (if (plist-member plist key) ; not a function + (if (plist-member plist key) ; not a function (setq plist (plist-put plist key val)) (setq func val sym (intern (replace-regexp-in-string diff --git a/evil-vars.el b/evil-vars.el index 474849e..5ada065 100644 --- a/evil-vars.el +++ b/evil-vars.el @@ -160,30 +160,30 @@ commands." :prefix 'evil-) (defcustom evil-auto-indent t - "Whether to auto-indent when opening lines." + "Whether to auto-indent when opening lines with \\[o] and \\[O]." :type 'boolean :group 'evil) (make-variable-buffer-local 'evil-auto-indent) (defcustom evil-shift-width 4 - "The offset used by \\\\[evil-shift-right] \ -and \\[evil-shift-left]." + "The number of columns by which a line is shifted. +This applies to the shifting operators \\[>] and \\[<]." :type 'integer :group 'evil) (make-variable-buffer-local 'evil-shift-width) (defcustom evil-shift-round t - "Whether \\\\[evil-shift-right] \ -and \\[evil-shift-left] round to the nearest multiple \ -of `evil-shift-width'." + "Whether shifting rounds to the nearest multiple. +If non-nil, \\[>] and \\[<] adjust line indentation to the +nearest multiple of `evil-shift-width'." :type 'boolean :group 'evil) (make-variable-buffer-local 'evil-shift-round) (defcustom evil-indent-convert-tabs t - "If non-nil `evil-indent' converts between leading tabs and spaces. - Whether tabs are converted to spaces or vice versa depends on the - value of `indent-tabs-mode'." + "If non-nil, the \\[=] operator converts between leading tabs and spaces. +Whether tabs are converted to spaces or vice versa depends on the +value of `indent-tabs-mode'." :type 'boolean :group 'evil) @@ -199,13 +199,18 @@ cursor, or a list of the above." "Overwrite the current states default cursor.") (defcustom evil-repeat-move-cursor t - "Whether \"\\\\[evil-repeat]\" \ -moves the cursor." + "Whether repeating commands with \\[.] may move the cursor. +If nil, the original cursor position is preserved, even if the command +normally would have moved the cursor." :type 'boolean :group 'evil) (defcustom evil-cross-lines nil - "Whether motions may cross newlines." + "Whether horizontal motions may move to other lines. +If non-nil, certain motions that conventionally operate in a single +line may move the cursor to other lines. Otherwise, they are +restricted to the current line. This applies to \\[h], \\[l], \\[f], +\\[F], \\[t], \\[T], \\[~]." :type 'boolean :group 'evil) @@ -215,18 +220,28 @@ moves the cursor." :group 'evil) (defcustom evil-move-cursor-back t - "Whether the cursor is moved backwards when exiting Insert state." + "Whether the cursor is moved backwards when exiting insert state. +If non-nil, the cursor moves \"backwards\" when exiting insert state, +so that it ends up on the character to the left. Otherwise it remains +in place, on the character to the right." :type 'boolean :group 'evil) (defcustom evil-move-beyond-eol nil - "Whether the cursor is allowed to move past the last character of \ -a line." + "Whether the cursor can move past the end of the line. +If non-nil, the cursor is allowed to move one character past the +end of the line, as in Emacs." :type 'boolean :group 'evil) (defcustom evil-respect-visual-line-mode nil "Whether movement commands respect `visual-line-mode'. +If non-nil, `visual-line-mode' is generally respected when it is +on. In this case, motions such as \\[j] and \\[k] navigate by +visual lines (on the screen) rather than \"physical\" +lines (defined by newline characters). If `nil', the setting of +`visual-line-mode' is ignored. + This variable must be set before Evil is loaded." :type 'boolean :group 'evil) @@ -237,13 +252,18 @@ This variable must be set before Evil is loaded." :group 'evil) (defcustom evil-kbd-macro-suppress-motion-error nil - "Whether left/right motions signal errors during keyboard-macro definition. -If this variable is set to non-nil, then the function -`evil-forward-char' and `evil-backward-char' do not signal -`end-of-line' or `beginning-of-line' errors when a keyboard macro -is being defined and/or it is being executed. This may be desired -because such an error would cause the macro definition/execution -being terminated." + "Whether left/right motions signal errors in keyboard macros. +This variable only affects beginning-of-line or end-of-line errors +regarding the motions \\[h] and \\[l] respectively. This may be +desired since such errors cause macro definition or execution to be +terminated. There are four possibilities: + +- `record': errors are suppressed when recording macros, but not when + replaying them. +- `replay': errors are suppressed when replaying macros, but not when + recording them. +- `t': errors are suppressed in both cases. +- `nil': errors are never suppressed." :type '(radio (const :tag "No" :value nil) (const :tag "Record" :value record) (const :tag "Replay" :value replay) @@ -251,22 +271,21 @@ being terminated." :group 'evil) (defcustom evil-track-eol t - "If non-nil line moves after a call to `evil-end-of-line' stay at eol. -This is analogous to `track-eol' but deals with the end-of-line -interpretation of evil." + "Whether \\[$] \"sticks\" the cursor to the end of the line. +If non-nil, vertical motions after \\[$] maintain the cursor at the +end of the line, even if the target line is longer. This is analogous +to `track-eol', but respects Evil's interpretation of end-of-line." :type 'boolean :group 'evil) (defcustom evil-mode-line-format 'before - "The position of the mode line tag. -Either a symbol or a cons-cell. If it is a symbol it should be -one of 'before, 'after or 'nil. 'before means the tag is -placed before the mode-list, 'after means it is placed after the -mode-list, and 'nil means no mode line tag. If it is a cons cell -it should have the form (WHERE . WHICH) where WHERE is either -'before or 'after and WHICH is a symbol in -`mode-line-format'. The tag is then placed right before or after -that symbol." + "The position of the state tag in the mode line. +If set to `before' or `after', the tag is placed at the beginning +or the end of the mode-line, respectively. If `nil', there is no +tag. Otherwise it should be a cons cell (WHERE . WHICH), where +WHERE is either `before' or `after', and WHICH is a symbol in +`mode-line-format'. The tag is then placed before or after that +symbol, respectively." :type '(radio :value 'before (const before) (const after) @@ -281,69 +300,73 @@ that symbol." "The thing-at-point symbol for double click selection. The double-click starts visual state in a special word selection mode. This symbol is used to determine the words to be -selected. Possible values are 'evil-word or -'evil-WORD." +selected. Possible values are `evil-word' or `evil-WORD'." :type 'symbol :group 'evil) (defcustom evil-bigword "^ \t\r\n" - "The characters to be considered as a big word. -This should be a regexp set without the enclosing []." + "The set of characters to be interpreted as WORD boundaries. +This is enclosed with square brackets and used as a regular +expression. By default, whitespace characters are considered +WORD boundaries." :type 'string :group 'evil) (make-variable-buffer-local 'evil-bigword) (defcustom evil-want-fine-undo nil - "Whether actions like \"cw\" are undone in several steps. -There are three possible choices. \"No\" means all changes made -during insert state including a possible delete after a change -operation are collected in a single undo step. If \"Yes\" is -selected, undo steps are determined according to Emacs heuristics -and no attempt is made to further aggregate changes. - -As of 1.2.14, the option \"fine\" is ignored and means the same -thing as \"No\". It used to be the case that fine would only try -to merge the first two changes in an insert operation. For -example, merging the delete and first insert operation after -\"cw\", but this option was removed because it did not work -consistently." + "Whether actions like \\[cw] are undone in several steps. +There are two possible choices. `nil' (\"no\") means that all +changes made during insert state, including a possible delete +after a change operation, are collected in a single undo step. +Non-nil (\"yes\") means that undo steps are determined according +to Emacs heuristics, and no attempt is made to aggregate changes. + +For backward compatibility purposes, the value `fine' is +interpreted as `nil'. This option was removed because it did not +work consistently." :type '(radio (const :tag "No" :value nil) (const :tag "Fine (obsolete)" :value fine) (const :tag "Yes" :value t)) :group 'evil) (defcustom evil-regexp-search t - "Whether to use regular expressions for searching." + "Whether to use regular expressions for searching in \\[/] and \\[?]." :type 'boolean :group 'evil) (defcustom evil-search-wrap t - "Whether search wraps around." + "Whether search with \\[/] and \\[?] wraps around the buffer. +If this is non-nil, search stops at the buffer boundaries." :type 'boolean :group 'evil) (defcustom evil-flash-delay 2 - "Time in seconds to flash search matches." + "Time in seconds to flash search matches after \\[n] and \\[N]." :type 'number :group 'evil) (defcustom evil-auto-balance-windows t - "If non-nil creating/deleting a window causes a rebalance." + "If non-nil window creation and deletion trigger rebalancing." :type 'boolean :group 'evil) (defcustom evil-split-window-below nil - "If non-nil split windows are created below." + "If non-nil split windows \\[:split] are created below." :type 'boolean :group 'evil) (defcustom evil-vsplit-window-right nil - "If non-nil vsplit windows are created to the right." + "If non-nil vertically split windows with \\[:vsplit] are +created to the right." :type 'boolean :group 'evil) (defcustom evil-esc-delay 0.01 - "Time in seconds to wait for another key after ESC." + "The time, in seconds, to wait for another key after escape. +If no further event arrives during this time, the event is +translated to \\[ESC]. Otherwise, it is translated according to +`input-decode-map'. This does not apply in Emacs state, and may +also be inhibited by setting `evil-inhibit-esc'." :type 'number :group 'evil) @@ -358,14 +381,14 @@ Used by `evil-esc-mode'.") "If non-nil, the \\e event will never be translated to 'escape.") (defcustom evil-intercept-esc 'always - "Whether Evil should intercept the ESC key. -In terminal, a plain ESC key and a meta-key-sequence both -generate the same event. In order to distinguish both Evil -modifies `input-decode-map'. This is necessary in terminal but -not in X mode. However, the terminal ESC is equivalent to C-[, so -if you want to use C-[ instead of ESC in X, then Evil must -intercept the ESC event in X, too. This variable determines when -Evil should intercept the event." + "Whether Evil should intercept the \\[ESC] key. +In the terminal, escape and a meta key sequence both generate the +same event. In order to distingush these, Evil uses +`input-decode-map'. It is not necessary to do this in a graphical +Emacs session. However, if you prefer to use \\[C-[] as escape (which +is identical to the terminal escape key code), this interception must +also happen in graphical Emacs sessions. Set this variable to +`always', `t' (only in the terminal) or `nil' (never intercept)." :type '(radio (const :tag "Never" :value nil) (const :tag "In terminal only" :value t) (const :tag "Always" :value always)) @@ -388,23 +411,24 @@ rate allows highlights to update while scrolling." '(not emacs insert replace) "The states in which the closing parenthesis at point should be highlighted. All states listed here highlight the closing parenthesis at -point (which is Vim default behavior), all others highlight the +point (which is Vim's default behavior). All others highlight the parenthesis before point (which is Emacs default behavior). If -this list contains the symbol 'not then its meaning is inverted, -i.e., all states listed here highlight the closing parenthesis +this list contains the symbol `not' then its meaning is inverted, +i.e. all states listed here highlight the closing parenthesis before point." :type '(repeat symbol) :group 'evil) (defcustom evil-kill-on-visual-paste t - "Whether `evil-visual-paste' adds the replaced text to the kill -ring, making it the default for the next paste. The default, t, -replicates the default vim behavior." + "Whether pasting in visual state adds the replaced text to the +kill ring, making it the default for the next paste. The default, +replicates the default Vim behavior." :type 'boolean :group 'evil) (defcustom evil-want-C-i-jump t - "Whether \"C-i\" jumps forward like in Vim." + "Whether \\[C-i] jumps forward in the jump list (like Vim). +Otherwise, \\[C-i] inserts a tab character." :type 'boolean :group 'evil :set #'(lambda (sym value) @@ -420,7 +444,10 @@ replicates the default vim behavior." (define-key evil-motion-state-map (kbd "C-i") 'evil-jump-forward)))))) (defcustom evil-want-C-u-scroll nil - "Whether \"C-u\" scrolls like in Vim." + "Whether \\[C-u] scrolls up (like Vim). +Otherwise, \\[C-u] applies a prefix argument. The binding of +\\[C-u] mirrors Emacs behaviour by default due to the relative +ubiquity of prefix arguments." :type 'boolean :group 'evil :set #'(lambda (sym value) @@ -436,7 +463,7 @@ replicates the default vim behavior." (define-key evil-motion-state-map (kbd "C-u") 'evil-scroll-up)))))) (defcustom evil-want-C-d-scroll t - "Whether \"C-d\" scrolls like in Vim." + "Whether \\[C-d] scrolls down (like Vim)." :type 'boolean :group 'evil :set #'(lambda (sym value) @@ -452,7 +479,10 @@ replicates the default vim behavior." (define-key evil-motion-state-map (kbd "C-d") 'evil-scroll-down)))))) (defcustom evil-want-C-u-delete nil - "Whether \\[C-u] deletes back to indentation in insert state." + "Whether \\[C-u] deletes back to indentation in insert state. +Otherwise, \\[C-u] applies a prefix argument. The binding of +\\[C-u] mirrors Emacs behaviour by default due to the relative +ubiquity of prefix arguments." :type 'boolean :group 'evil :set #'(lambda (sym value) @@ -468,7 +498,7 @@ replicates the default vim behavior." (define-key evil-insert-state-map (kbd "C-u") 'evil-delete-back-to-indentation)))))) (defcustom evil-want-C-w-delete t - "Whether \"C-w\" deletes a word in Insert state." + "Whether \\[C-w] deletes a word in Insert state." :type 'boolean :group 'evil :set #'(lambda (sym value) @@ -485,7 +515,7 @@ replicates the default vim behavior." (define-key evil-insert-state-map (kbd "C-w") 'evil-delete-backward-word)))))) (defcustom evil-want-C-w-in-emacs-state nil - "Whether \"C-w\" prefixes windows commands in Emacs state." + "Whether \\[C-w] prefixes windows commands in Emacs state." :type 'boolean :group 'evil :set #'(lambda (sym value) @@ -501,13 +531,13 @@ replicates the default vim behavior." (define-key evil-emacs-state-map (kbd "C-w") 'evil-window-map)))))) (defcustom evil-want-change-word-to-end t - "Whether \"cw\" behaves like \"ce\"." + "Whether \\[cw] behaves like \\[ce]." :type 'boolean :group 'evil) (defcustom evil-want-Y-yank-to-eol nil - "Whether \"Y\" yanks to the end of the line. -The default behavior is to yank the whole line." + "Whether \\[Y] yanks to the end of the line. +The default behavior is to yank the whole line, like Vim." :group 'evil :type 'boolean :initialize #'evil-custom-initialize-pending-reset @@ -519,8 +549,10 @@ The default behavior is to yank the whole line." 'evil-line-or-visual-line)))) (defcustom evil-disable-insert-state-bindings nil - "Whether insert state bindings should be used. Excludes -bindings for escape, delete and `evil-toggle-key'." + "Whether insert state bindings should be used. +Bindings for escape, delete and `evil-toggle-key' are always +available. If this is non-nil, default Emacs bindings are by and +large accessible in insert state." :group 'evil :type 'boolean :initialize #'evil-custom-initialize-pending-reset @@ -532,7 +564,8 @@ bindings for escape, delete and `evil-toggle-key'." :group 'evil) (defcustom evil-complete-all-buffers t - "Whether completion looks for matches in all buffers." + "Whether completion looks for matches in all buffers. +This applies to \\[C-n] and \\[C-p] in insert state." :type 'boolean :group 'evil) @@ -613,21 +646,20 @@ Must be readable by `read-kbd-macro'. For example: \"C-z\"." (defcustom evil-default-state 'normal "The default Evil state. -This is the state a mode comes up in when it is not listed -in `evil-emacs-state-modes', `evil-insert-state-modes' or -`evil-motion-state-modes'. The value may be one of `normal', -`insert', `visual', `replace', `operator', `motion' and -`emacs'." +This is the state a buffer starts in when it is not otherwise +configured (see `evil-set-initial-state' and +`evil-buffer-regexps'). The value may be one of `normal', +`insert', `visual', `replace', `operator', `motion' and `emacs'." :type 'symbol :group 'evil) (defcustom evil-buffer-regexps '(("^ \\*load\\*" . nil)) - "Regular expression determining the initial state for a buffer. + "Regular expressions determining the initial state for a buffer. Entries have the form (REGEXP . STATE), where REGEXP is a regular expression matching the buffer's name and STATE is one of `normal', -`insert', `visual', `replace', `operator', `motion', `emacs' and nil. -If STATE is nil, Evil is disabled in the buffer." +`insert', `visual', `replace', `operator', `motion', `emacs' and +`nil'. If STATE is `nil', Evil is disabled in the buffer." :type '(alist :key-type string :value-type symbol) :group 'evil) -- cgit v1.0 From 177d72c4d1ba57e69721f5279f0b0a874624e767 Mon Sep 17 00:00:00 2001 From: Eivind Fonn Date: Fri, 13 Dec 2019 09:10:44 +0100 Subject: Script for extracting documentation data to json --- doc/docstringdb.json | 1 + scripts/evil-extract-docstrings | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 doc/docstringdb.json create mode 100755 scripts/evil-extract-docstrings diff --git a/doc/docstringdb.json b/doc/docstringdb.json new file mode 100644 index 0000000..4594573 --- /dev/null +++ b/doc/docstringdb.json @@ -0,0 +1 @@ +{"evil-forward-WORD-begin":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the beginning of the COUNT-th next WORD.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a list (BEG END [TYPE] PROPERTIES...).\nBEG and END are buffer positions (numbers or markers),\nTYPE is a type as per `evil-type-p', and PROPERTIES is\na property list.","arglist":["beg","end","&optional","type","&rest","properties"],"functionp":true,"macrop":null},"evil-replace-alist":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Association list of characters overwritten in Replace state.\nThe format is (POS . CHAR).","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-exchange-corners":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Rearrange corners in Visual Block mode.\n\n M---+ +---M\n | | <=> | |\n +---P P---+\n\nFor example, if mark is in the upper left corner and point\nin the lower right, this function puts mark in the upper right\ncorner and point in the lower left.","arglist":null,"functionp":true,"macrop":null},"evil-echo-area-message":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Previous value of `current-message'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-repeat-record-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set `evil-repeat-buffer' to the current buffer.","arglist":null,"functionp":true,"macrop":null},"evil-replace-state-local-map":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Buffer-local keymap for Replace state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil--jumps-message":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["format","&rest","args"],"functionp":null,"macrop":true},"evil-ex-substitute":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"The Ex substitute command.\n[BEG,END]substitute/PATTERN/REPLACEMENT/FLAGS","arglist":["beg","end","&optional","pattern","replacement","flags"],"functionp":true,"macrop":null},"evil-cross-lines":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Whether horizontal motions may move to other lines.\nIf non-nil, certain motions that conventionally operate in a single\nline may move the cursor to other lines. Otherwise, they are\nrestricted to the current line. This applies to \\[h], \\[l], \\[f],\n\\[F], \\[t], \\[T], \\[~].","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-emacs-state-tag":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Mode line tag for Emacs state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-kbd-macro-suppress-motion-error":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Whether left/right motions signal errors in keyboard macros.\nThis variable only affects beginning-of-line or end-of-line errors\nregarding the motions \\[h] and \\[l] respectively. This may be\ndesired since such errors cause macro definition or execution to be\nterminated. There are four possibilities:\n\n- `record': errors are suppressed when recording macros, but not when\n replaying them.\n- `replay': errors are suppressed when replaying macros, but not when\n recording them.\n- `t': errors are suppressed in both cases.\n- `nil': errors are never suppressed.","fn-docstring":"Returns non-nil if a motion error should be suppressed.\nWhether the motion error should be suppressed depends on the\nvariable `evil-kbd-macro-suppress-motion-error'.","arglist":null,"functionp":true,"macrop":null},"evil-ex-prev-search":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-recording-current-command":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Whether we are recording the current command for repeat.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-define-key":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Create a STATE binding from KEY to DEF for KEYMAP.\nSTATE is one of `normal', `insert', `visual', `replace',\n`operator', `motion', `emacs', or a list of one or more of\nthese. Omitting a state by using `nil' corresponds to a standard\nEmacs binding using `define-key'. The remaining arguments are\nlike those of `define-key'. For example:\n\n (evil-define-key 'normal foo-map \"a\" 'bar)\n\nThis creates a binding from \\[a] to `bar' in normal state, which\nis active whenever `foo-map' is active. Using `nil' for the state,\nthe following lead to identical bindings:\n\n (evil-define-key nil foo-map \"a\" 'bar)\n (define-key foo-map \"a\" 'bar)\n\nIt is possible to specify multiple states and/or bindings at\nonce:\n\n (evil-define-key '(normal visual) foo-map\n \"a\" 'bar\n \"b\" 'foo)\n\nIf `foo-map' has not been initialized yet, this macro adds an\nentry to `after-load-functions', delaying execution as necessary.\n\nKEYMAP may also be a quoted symbol. If the symbol is `global', the\nglobal evil keymap corresponding to the state(s) is used, meaning\nthe following lead to identical bindings:\n\n (evil-define-key 'normal 'global \"a\" 'bar)\n (evil-global-set-key 'normal \"a\" 'bar)\n\nThe symbol `local' may also be used, which corresponds to using\n`evil-local-set-key'. If a quoted symbol is used that is not\n`global' or `local', it is assumed to be the name of a minor\nmode, in which case `evil-define-minor-mode-key' is used.","arglist":["state","keymap","key","def","&rest","bindings"],"functionp":null,"macrop":true},"evil-backward-sentence":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-fill-and-move":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Fill text and move point to the end of the filled region.","arglist":["beg","end"],"functionp":true,"macrop":null},"evil-block-expand":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Perform expand transformation on block from BEG to END with PROPERTIES.\n\nLike `inclusive', but for rectangles:\nthe last column is included.","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-screen-line-contract":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Perform contract transformation on screen-line from BEG to END with PROPERTIES.\n\nInclude whole lines, being aware of `visual-line-mode'\nwhen `evil-respect-visual-line-mode' is non-nil.","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-exit-emacs-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Exit Emacs state.\nChanges the state to the previous state, or to Normal state\nif the previous state was Emacs state.","arglist":["&optional","buffer","message"],"functionp":true,"macrop":null},"evil-ex-search-highlight-all":{"default":"t","local":null,"default-type":"symbol","var-docstring":"If t and interactive search is enabled, all matches are\nhighlighted.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-want-change-word-to-end":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether \\[cw] behaves like \\[ce].","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-find-word":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return word near point as a string.\nIf FORWARD is nil, search backward, otherwise forward. Returns\nnil if nothing is found.","arglist":["forward"],"functionp":true,"macrop":null},"evil-complete-previous-line-func":{"default":"evil-complete-next-line-func","local":null,"default-type":"symbol","var-docstring":"Minibuffer completion function used by \\\\[evil-complete-previous-line].","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-align-right":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Right-align lines in the region at WIDTH columns.\nThe default for width is the value of `fill-column'.","arglist":["beg","end","&optional","type","width"],"functionp":true,"macrop":null},"evil-goto-definition-search":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Find definition for STRING with evil-search.","arglist":["string","_position"],"functionp":true,"macrop":null},"evil-search-next":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Repeat the last search.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-jumps-history":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"History of `evil-mode' jumps that are persisted with `savehist'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-half-cursor":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Change cursor to a half-height box.\n(This is really just a thick horizontal bar.)","arglist":null,"functionp":true,"macrop":null},"evil-ex-parse":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Parse STRING as an Ex expression and return an evaluation tree.\nIf SYNTAX is non-nil, return a syntax tree instead.\nSTART is the start symbol, which defaults to `expression'.","arglist":["string","&optional","syntax","start"],"functionp":true,"macrop":null},"evil-avy-goto-char-in-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-char-in-line'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-write-all":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Saves all buffers visiting a file.\nIf BANG is non nil then read-only buffers are saved, too,\notherwise they are skipped. ","arglist":["bang"],"functionp":true,"macrop":null},"evil-backward-word-end":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the end of the COUNT-th previous word.\nIf BIGWORD is non-nil, move by WORDS.","arglist":["&optional","count","bigword"],"functionp":true,"macrop":null},"evil-overriding-maps":{"default":"((Buffer-menu-mode-map) (color-theme-mode-map) (comint-mode-map) (compilation-mode-map) (grep-mode-map) (dictionary-mode-map) (ert-results-mode-map . motion) (Info-mode-map . motion) (speedbar-key-map) (speedbar-file-key-map) (speedbar-buffers-key-map))","local":null,"default-type":"cons","var-docstring":"Keymaps that should override Evil maps.\nEntries have the form (MAP-VAR . STATE), where MAP-VAR is\na keymap variable and STATE is the state whose bindings\nshould be overridden. If STATE is nil, all states are\noverridden.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-delete-whole-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Delete whole line.","arglist":["beg","end","&optional","type","register","yank-handler"],"functionp":true,"macrop":null},"evil-clean-isearch-overlays":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Clean isearch overlays unless `this-command' is search.","arglist":null,"functionp":true,"macrop":null},"evil-beginning-of-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the beginning of the current line.","arglist":null,"functionp":true,"macrop":null},"evil--jumps-jump":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["idx","shift"],"functionp":true,"macrop":null},"evil-ex-substitute-matches":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-mouse-drag-region":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the region to the text that the mouse is dragged over.\nHighlight the drag area as you move the mouse.\nThis must be bound to a button-down mouse event.\n\nIf the click is in the echo area, display the `*Messages*' buffer.\n\nSTART-EVENT should be the event that started the drag.","arglist":["start-event"],"functionp":true,"macrop":null},"evil-avy-goto-line-below":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-line-below'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-ex-search-find-next-pattern":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Look for the next occurrence of PATTERN in a certain DIRECTION.\nNote that this function ignores the whole-line property of PATTERN.","arglist":["pattern","&optional","direction"],"functionp":true,"macrop":null},"evil-signal-at-bob":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Signals 'beginning-of-buffer if `point' is at bob.\nThis function should be used in backward motions. If `point' is at\nbob so that no further backward motion is possible the error\n'beginning-of-buffer is raised.","arglist":null,"functionp":true,"macrop":null},"evil-motion-state-local-map":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Buffer-local keymap for Motion state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-avy-goto-word-or-subword-1":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-word-or-subword-1'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-ex-previous-command":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The previously executed Ex command.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-forward-section-begin":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the beginning of the COUNT-th next section.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-indent-convert-tabs":{"default":"t","local":null,"default-type":"symbol","var-docstring":"If non-nil, the \\[=] operator converts between leading tabs and spaces.\nWhether tabs are converted to spaces or vice versa depends on the\nvalue of `indent-tabs-mode'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-repeat-move-cursor":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether repeating commands with \\[.] may move the cursor.\nIf nil, the original cursor position is preserved, even if the command\nnormally would have moved the cursor.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-pattern-regex":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the regular expression of a search PATTERN.","arglist":["pattern"],"functionp":true,"macrop":null},"evil-command-window-height":{"default":8,"local":null,"default-type":"integer","var-docstring":"Height (in lines) of the command line window.\nSet to 0 to use the default height for `split-window'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-forward-beginning":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move forward to beginning of THING.\nThe motion is repeated COUNT times.","arglist":["thing","&optional","count"],"functionp":true,"macrop":null},"evil-list-view-select-action":{"default":"nil","local":true,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-substitute":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Change a character.","arglist":["beg","end","&optional","type","register"],"functionp":true,"macrop":null},"evil-command-window-mode-syntax-table":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Syntax table for `evil-command-window-mode'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-operator-state-entry-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run when entering Operator-Pending state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-history":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"History of Ex commands.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-echo-overlay":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Overlay used for displaying info messages during ex.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-a-paragraph":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select a paragraph.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-normal-state-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether the current state is Normal state.\n(That is, whether `evil-state' is `normal'.)","arglist":["&optional","state"],"functionp":true,"macrop":null},"evil-match-substitute-replacement":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return REPLACEMENT as it will be inserted by `evil-replace-match'.","arglist":["replacement","&optional","fixedcase","string"],"functionp":true,"macrop":null},"evil-insert-state-minor-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if Insert state is enabled.\nUse the command `evil-insert-state' to change this variable.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-echo-state":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether to signal the current state in the echo area.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-repeat-types":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"An alist of defined repeat-types.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-local-keymaps-alist":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Association list of keymap variables that must be\nreinitialized in each buffer. Entries have the form\n(MODE . KEYMAP), where KEYMAP is the variable containing\nthe keymap for MODE.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-repeat-insert-at-point":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Repeation recording function for commands that insert text in region.\nThis records text insertion when a command inserts some text in a\nbuffer between (point) and (mark).","arglist":["flag"],"functionp":true,"macrop":null},"evil-markers-alist":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Association list for markers.\nEntries have the form (CHAR . DATA), where CHAR is the marker's\nname and DATA is either a marker object as returned by `make-marker',\na variable, a movement function, or a cons cell (STRING NUMBER),\nwhere STRING is a file path and NUMBER is a buffer position.\nThe global value of this variable holds markers available from\nevery buffer, while the buffer-local value holds markers available\nonly in the current buffer.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-WORD":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-symbol":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-operator-state-exit-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run when exiting Operator-Pending state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-search-backward-history":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"History of backward searches.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-read-motion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Read a MOTION, motion COUNT and motion TYPE from the keyboard.\nThe type may be overridden with MODIFIER, which may be a type\nor a Visual selection as defined by `evil-define-visual-selection'.\nReturn a list (MOTION COUNT [TYPE]).","arglist":["&optional","motion","count","type","modifier"],"functionp":true,"macrop":null},"evil-line-move":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"A wrapper for line motions which conserves the column.\nSignals an error at buffer boundaries unless NOERROR is non-nil.","arglist":["count","&optional","noerror"],"functionp":true,"macrop":null},"evil-ex-hl-active-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether the highlight with a certain NAME is active.","arglist":["name"],"functionp":true,"macrop":null},"evil-ex-search-update":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Update the highlighting and info-message for the search pattern.\nPATTERN is the search pattern and OFFSET the associated offset.\nBEG and END specifiy the current match, MESSAGE is the info\nmessage to be shown. This function does nothing if\n`evil-ex-search-interactive' is nil.","arglist":["pattern","offset","beg","end","message"],"functionp":true,"macrop":null},"evil-window-rotate-downwards":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Rotates the windows according to the currenty cyclic ordering.","arglist":null,"functionp":true,"macrop":null},"evil-quit-all":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Exits Emacs, asking for saving.","arglist":["&optional","bang"],"functionp":true,"macrop":null},"evil-last-paste":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Information about the latest paste.\nThis should be a list (CMD COUNT POINT BEG END FIRSTVISUAL) where\nCMD is the last paste-command (`evil-paste-before',\n`evil-paste-after' or `evil-visual-paste'), COUNT is the repeat\ncount of the paste, POINT is the position of point before the\npaste, BEG end END are the region of the inserted\ntext. FIRSTVISUAL is t if and only if the previous command was\nthe first visual paste (i.e. before any paste-pop).","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-vector-to-string":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Turns vector into a string, changing to '\\e'","arglist":["vector"],"functionp":true,"macrop":null},"evil-ex-echo":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Display a message after the current Ex command.","arglist":["string","&rest","args"],"functionp":true,"macrop":null},"evil-want-abbrev-expand-on-insert-exit":{"default":"t","local":null,"default-type":"symbol","var-docstring":"If non-nil abbrevs will be expanded when leaving Insert state\nlike in Vim. This variable is read only on load.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-state-local-map":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Buffer-local keymap for Visual state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-replace-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Enable Replace state. Disable with negative ARG.\nIf ARG is nil, don't display a message in the echo area.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-ex-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the line number of BASE plus OFFSET.","arglist":["base","&optional","offset"],"functionp":true,"macrop":null},"evil-an-angle":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select an angle bracket.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-global-set-key":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Bind KEY to DEF in STATE.","arglist":["state","key","def"],"functionp":true,"macrop":null},"evil-ex-sort":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"The Ex sort command.\n[BEG,END]sort[!] [i][u]\nThe following additional options are supported:\n\n * i ignore case\n * u remove duplicate lines\n\nThe 'bang' argument means to sort in reverse order.","arglist":["beg","end","&optional","options","reverse"],"functionp":true,"macrop":null},"evil-define-avy-motion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["command","type"],"functionp":null,"macrop":true},"evil-ex-make-hl":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Create a new highlight object with name NAME and properties ARGS.\nThe following properties are supported:\n:face The face to be used for the highlighting overlays.\n:win The window in which the highlighting should be shown.\n Note that the highlight will be visible in all windows showing\n the corresponding buffer, but only the matches visible in the\n specified window will actually be highlighted. If :win is nil,\n the matches in all windows will be highlighted.\n:min The minimal buffer position for highlighted matches.\n:max The maximal buffer position for highlighted matches.\n:match-hook A hook to be called once for each highlight.\n The hook must take two arguments, the highlight and\n the overlay for that highlight.\n:update-hook A hook called once after updating the highlighting\n with two arguments, the highlight and a message string\n describing the current match status.","arglist":["name","&rest","args"],"functionp":true,"macrop":null},"evil-last-undo-entry":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Information about the latest undo entry in the buffer.\nThis should be a pair (OBJ . CONS) where OBJ is the entry as an\nobject, and CONS is a copy of the entry.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-goto-definition-imenu":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Find definition for STRING with imenu.","arglist":["string","_position"],"functionp":true,"macrop":null},"evil-motion-state-entry-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run when entering Motion state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-command-window-current-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The buffer from which the command line window was called.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-file-or-shell-command-completion-at-point":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-track-last-insertion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Track the last insertion range and its text.\nThe insertion range is stored as a pair of buffer positions in\n`evil-current-insertion'. If a subsequent change is compatible,\nthen the current range is modified, otherwise it is replaced by a\nnew range. Compatible changes are changes that do not create a\ndisjoin range.","arglist":["beg","end","len"],"functionp":true,"macrop":null},"evil-search-previous":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Repeat the last search in the opposite direction.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-normal-state-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Keymap for Normal state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-copy-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a copy of RANGE.","arglist":["range"],"functionp":true,"macrop":null},"evil-ex-marker":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return MARKER's line number in the current buffer.\nSignal an error if MARKER is in a different buffer.","arglist":["marker"],"functionp":true,"macrop":null},"evil-ace-jump-line-mode":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Jump visually to the beginning of a line using ace-jump.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-mouse--remap-link-click-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["start-event","end-event"],"functionp":true,"macrop":null},"evil-insert-state-bindings":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Evil's bindings for insert state (for\n`evil-insert-state-map'), excluding , , and\n`evil-toggle-key'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-isearch-function":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a search function for use with isearch.\nBased on `isearch-regexp' and `isearch-forward'.","arglist":null,"functionp":true,"macrop":null},"evil-repeat-motion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Repeation for motions. Motions are recorded by keystroke but only in insert state.","arglist":["flag"],"functionp":true,"macrop":null},"evil-visual-properties":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Property list of miscellaneous Visual properties.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-insert-state-modes":{"default":"(comint-mode erc-mode eshell-mode geiser-repl-mode gud-mode inferior-apl-mode inferior-caml-mode inferior-emacs-lisp-mode inferior-j-mode inferior-python-mode inferior-scheme-mode inferior-sml-mode internal-ange-ftp-mode prolog-inferior-mode reb-mode shell-mode slime-repl-mode term-mode wdired-mode)","local":null,"default-type":"cons","var-docstring":"Modes that should come up in Insert state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-intercept-esc":{"default":"always","local":null,"default-type":"symbol","var-docstring":"Whether Evil should intercept the \\[ESC] key.\nIn the terminal, escape and a meta key sequence both generate the\nsame event. In order to distingush these, Evil uses\n`input-decode-map'. It is not necessary to do this in a graphical\nEmacs session. However, if you prefer to use \\[C-[] as escape (which\nis identical to the terminal escape key code), this interception must\nalso happen in graphical Emacs sessions. Set this variable to\n`always', `t' (only in the terminal) or `nil' (never intercept).","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-avy-goto-symbol-1-above":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-symbol-1-above'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-visual-char":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"*Characterwise selection.","fn-docstring":"Characterwise selection.","arglist":["&optional","mark","point","type","message"],"functionp":true,"macrop":null},"evil-repeat-info":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Information accumulated during current repeat.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-emacs-state-local-map":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Buffer-local keymap for Emacs state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-signal-at-eob":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Signals 'end-of-buffer if `point' is at eob.\nThis function should be used in forward motions. If `point' is close\nto eob so that no further forward motion is possible the error\n'end-of-buffer is raised. This is the case if `point' is at\n`point-max' or if is one position before `point-max',\n`evil-move-beyond-eol' is nil and `point' is not at the end\nof a line. The latter is necessary because `point' cannot be\nmoved to `point-max' if `evil-move-beyond-eol' is nil and\nthe last line in the buffer is not empty.","arglist":null,"functionp":true,"macrop":null},"evil-window-top-left":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to top-left window.","arglist":null,"functionp":true,"macrop":null},"evil-shell-command":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute a shell command.\nIf BEG, END and TYPE is specified, COMMAND is executed on the region,\nwhich is replaced with the command's output. Otherwise, the\noutput is displayed in its own buffer. If PREVIOUS is non-nil,\nthe previous shell command is executed instead.","arglist":["beg","end","&optional","type","command","previous"],"functionp":true,"macrop":null},"evil-up-xml-tag":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move point to the end or beginning of balanced xml tags.\nOPEN and CLOSE should be characters identifying the opening and\nclosing parenthesis, respectively. If COUNT is greater than zero\npoint is moved forward otherwise it is moved backwards. Whenever\nan opening delimiter is found the COUNT is increased by one, if a\nclosing delimiter is found the COUNT is decreased by one. The\nmotion stops when COUNT reaches zero. The match-data reflects the\nlast successful match (that caused COUNT to reach zero).","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-jump-to-tag":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Jump to tag under point.\nIf called with a prefix argument, provide a prompt\nfor specifying the tag.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-delete-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Delete to end of line.","arglist":["beg","end","&optional","type","register","yank-handler"],"functionp":true,"macrop":null},"evil-save-echo-area":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Save the echo area; execute BODY; restore the echo area.\nIntermittent messages are not logged in the *Messages* buffer.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-save-modified-and-close":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Saves the current buffer and closes the window.","arglist":["file","&optional","bang"],"functionp":true,"macrop":null},"evil-find-char-to":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move before the next COUNT'th occurrence of CHAR.","arglist":["&optional","count","char"],"functionp":true,"macrop":null},"evil-yank-characters":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Saves the characters defined by the region BEG and END in the kill-ring.","arglist":["beg","end","&optional","register","yank-handler"],"functionp":true,"macrop":null},"evil-ex-hl-set-pattern":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the pattern of the highlight HL to PATTERN.","arglist":["hl","pattern"],"functionp":true,"macrop":null},"evil-suppress-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Full keymap disabling default bindings to `self-insert-command'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-jumps-struct":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-insert-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Switch to insert state at beginning of current line.\nPoint is placed at the first non-blank character on the current\nline. The insertion will be repeated COUNT times. If VCOUNT is\nnon nil it should be number > 0. The insertion will be repeated\nin the next VCOUNT - 1 lines below the current one.","arglist":["count","&optional","vcount"],"functionp":true,"macrop":null},"evil-ace-jump-char-mode":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Jump visually directly to a char using ace-jump.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-has-command-property-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether COMMAND has Evil PROPERTY.\nSee also `evil-has-command-properties-p'.","arglist":["command","property"],"functionp":true,"macrop":null},"evil-emacs-state-message":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Echo area message for Emacs state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-emacs-state-local-minor-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if Emacs state is enabled.\nUse the command `evil-emacs-state' to change this variable.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-define-interactive-code":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Define an interactive code.\nPROMPT, if given, is the remainder of the interactive string\nup to the next newline. Command properties may be specified\nvia KEY-VALUE pairs. BODY should evaluate to a list of values.\n\n(fn CODE (PROMPT) [[KEY VALUE]...] BODY...)","arglist":["code","&rest","body"],"functionp":null,"macrop":true},"evil-paste-before":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Pastes the latest yanked text before the cursor position.\nThe return value is the yanked text.","arglist":["count","&optional","register","yank-handler"],"functionp":true,"macrop":null},"evil-ex-search-start-session":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Initialize Ex for interactive search.","arglist":null,"functionp":true,"macrop":null},"evil-ex-last-cmd":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-intercept-maps":{"default":"((edebug-mode-map))","local":null,"default-type":"cons","var-docstring":"Keymaps that should intercept Evil maps.\nEntries have the form (MAP-VAR . STATE), where MAP-VAR is\na keymap variable and STATE is the state whose bindings\nshould be intercepted. If STATE is nil, all states are\nintercepted.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-window-move-far-left":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Closes the current window, splits the upper-left one vertically\nand redisplays the current buffer there.","arglist":null,"functionp":true,"macrop":null},"evil-looking-at-start-comment":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Returns t if point is at the start of a comment.\npoint must be on one of the opening characters of a block comment\naccording to the current syntax table. Futhermore these\ncharacters must been parsed as opening characters, i.e. they\nwon't be considered as comment starters inside a string or\npossibly another comment. Point is moved to the first character\nof the comment opener if MOVE is non-nil.","arglist":["&optional","move"],"functionp":true,"macrop":null},"evil-read-key":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Read a key from the keyboard.\nTranslates it according to the input method.","arglist":["&optional","prompt"],"functionp":true,"macrop":null},"evil-window-delete":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Deletes the current window.\nIf `evil-auto-balance-windows' is non-nil then all children of\nthe deleted window's parent window are rebalanced.","arglist":null,"functionp":true,"macrop":null},"evil-execute-macro":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute keyboard macro MACRO, COUNT times.\nWhen called with a non-numerical prefix (such as \\[universal-argument]),\nCOUNT is infinite. MACRO is read from a register\nwhen called interactively.","arglist":["count","macro"],"functionp":true,"macrop":null},"evil-backward-sentence-begin":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move to the previous COUNT-th beginning of a sentence or paragraph.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-ac-prefix-len":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-pending-custom-initialize":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"A list of pending initializations for custom variables.\nEach element is a triple (FUNC VAR VALUE). When Evil is\ncompletely loaded then the functions (funcall FUNC VAR VALUE) is\ncalled for each element. FUNC should be a function suitable for\nthe :initialize property of `defcustom'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-repeat-change-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Record change information for current command.","arglist":["beg","end","length"],"functionp":true,"macrop":null},"evil-end-of-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the end of the current line.\nIf COUNT is given, move COUNT - 1 lines downward first.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-add-hjkl-bindings":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Add \"h\", \"j\", \"k\", \"l\" bindings to KEYMAP in STATE.\nAdd additional BINDINGS if specified.","arglist":["keymap","&optional","state","&rest","bindings"],"functionp":null,"macrop":true},"evil-fold-action":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Perform fold ACTION for each matching major or minor mode in LIST.\n\nACTION will be performed for the first matching handler in LIST. For more\ninformation on its features and format, see the documentation for\n`evil-fold-list'.\n\nIf no matching ACTION is found in LIST, an error will signaled.\n\nHandler errors will be demoted, so a problem in one handler will (hopefully)\nnot interfere with another.","arglist":["list","action"],"functionp":true,"macrop":null},"evil-ex-repeat-substitute":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Repeat last substitute command.\nThis is the same as :s//~/","arglist":["beg","end","&optional","flags"],"functionp":true,"macrop":null},"evil-visual-state-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Keymap for Visual state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-complete-next-minibuffer-func":{"default":"minibuffer-complete","local":null,"default-type":"symbol","var-docstring":"Minibuffer completion function used by \\\\[evil-complete-next].","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-hl-do-update-highlight":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Timer function for updating the highlights.","arglist":["&optional","buffer"],"functionp":true,"macrop":null},"evil-save-transient-mark-mode":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Save Transient Mark mode and make it buffer-local.\nAny changes to Transient Mark mode are now local to the current\nbuffer, until `evil-restore-transient-mark-mode' is called.\n\nVariables pertaining to Transient Mark mode are listed in\n`evil-transient-vars', and their values are stored in\n`evil-transient-vals'.","arglist":null,"functionp":true,"macrop":null},"evil-complete-previous-minibuffer-func":{"default":"minibuffer-complete","local":null,"default-type":"symbol","var-docstring":"Minibuffer completion function used by \\\\[evil-complete-previous].","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-mode-off-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-record-macro":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Record a keyboard macro into REGISTER.\nIf REGISTER is :, /, or ?, the corresponding command line window\nwill be opened instead.","arglist":["register"],"functionp":true,"macrop":null},"evil-forward-word":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move by words.\nMoves point COUNT words forward or (- COUNT) words backward if\nCOUNT is negative. This function is the same as `forward-word'\nbut returns the number of words by which point could *not* be\nmoved.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-transient-vals":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Association list of old values for Transient Mark mode variables.\nEntries have the form (VARIABLE VALUE LOCAL), where LOCAL is\nwhether the variable was previously buffer-local.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-repeat-start":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Start recording a new repeat into `evil-repeat-info'.","arglist":null,"functionp":true,"macrop":null},"evil-declare-not-repeat":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Declare COMMAND to be nonrepeatable.","arglist":["command"],"functionp":true,"macrop":null},"evil-a-WORD":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select a WORD.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-visual-region-expanded":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Whether the region matches the Visual selection.\nThat is, whether the positions of point and mark have been\nexpanded to coincide with the selection's boundaries.\nThis makes the selection available to functions acting\non Emacs' region.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ret":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor COUNT lines down.\nIf point is on a widget or a button, click on it.\nIn Insert state, insert a newline.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-backward-paragraph":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move to the beginning of the COUNT-th previous paragraph.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-inner-back-quote":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select inner back-quoted expression.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-transient-vars":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"List of variables pertaining to Transient Mark mode.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-insert-repeat-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Record insertion keys in `evil-insert-repeat-info'.","arglist":null,"functionp":true,"macrop":null},"evil-ex-normal":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"The Ex normal command.\nExecute the argument as normal command on each line in the\nrange. The given argument is passed straight to\n`execute-kbd-macro'. The default is the current line.","arglist":["beg","end","&optional","commands"],"functionp":true,"macrop":null},"evil-mode-buffers":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-repeat-find-char":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Repeat the last find COUNT times.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-search-unbounded-word-forward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search forward for symbol under point.\nThe search is unbounded, i.e., the pattern is not wrapped in\n\\<...\\>.","arglist":["&optional","count","symbol"],"functionp":true,"macrop":null},"evil-concat-alists":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Concatenate association lists, removing duplicates.\nAn alist is a list of cons cells (KEY . VALUE) where each key\nmay occur only once. Later values overwrite earlier values.","arglist":["&rest","sequences"],"functionp":true,"macrop":null},"evil-quote":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-symbol-word-search":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"If nil then * and # search for words otherwise for symbols.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-get-register":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return contents of REGISTER.\nSignal an error if empty, unless NOERROR is non-nil.\n\nThe following special registers are supported.\n \" the unnamed register\n * the clipboard contents\n + the clipboard contents\n the word at point (ex mode only)\n the WORD at point (ex mode only)\n the symbol at point (ex mode only)\n the current file at point (ex mode only)\n % the current file name (read only)\n # the alternate file name (read only)\n / the last search pattern (read only)\n : the last command line (read only)\n . the last inserted text (read only)\n - the last small (less than a line) delete\n _ the black hole register\n = the expression register (read only)","arglist":["register","&optional","noerror"],"functionp":true,"macrop":null},"evil-disable-insert-state-bindings":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Whether insert state bindings should be used.\nBindings for escape, delete and `evil-toggle-key' are always\navailable. If this is non-nil, default Emacs bindings are by and\nlarge accessible in insert state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-window-decrease-width":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Decrease current window width by COUNT.","arglist":["count"],"functionp":true,"macrop":null},"evil-operator-shortcut-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Keymap for Operator-Pending shortcuts like \"dd\" and \"gqq\".","fn-docstring":"Keymap for Operator-Pending shortcuts like \"dd\" and \"gqq\".","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-want-integration":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether to load evil-integration.el.\nThis variable must be set before Evil is loaded.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-maybe-remove-spaces":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Flag to determine if newly inserted spaces should be removed.\nSee the function `evil-maybe-remove-spaces'.","fn-docstring":"Remove space from newly opened empty line.\nThis function removes (indentation) spaces that have been\ninserted by opening a new empty line. The behavior depends on the\nvariable `evil-maybe-remove-spaces'. If this variable is nil the\nfunction does nothing. Otherwise the behavior depends on\nDO-REMOVE. If DO-REMOVE is non-nil the spaces are\nremoved. Otherwise `evil-maybe-remove-spaces' is set to nil\nunless the last command opened yet another new line.\n\nThis function should be added as a post-command-hook to track\ncommands opening a new line.","arglist":["&optional","do-remove"],"functionp":true,"macrop":null},"evil-ex-substitute-nreplaced":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-find-thing":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a THING near point as a string.\nTHING should be a symbol understood by `thing-at-point',\ne.g. 'symbol or 'word. If FORWARD is nil, search backward,\notherwise forward. Returns nil if nothing is found.","arglist":["forward","thing"],"functionp":true,"macrop":null},"evil-avy-goto-char-2-above":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-char-2-above'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-declare-repeat":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Declare COMMAND to be repeatable.","arglist":["command"],"functionp":true,"macrop":null},"evil-move-cursor-back":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether the cursor is moved backwards when exiting insert state.\nIf non-nil, the cursor moves \"backwards\" when exiting insert state,\nso that it ends up on the character to the left. Otherwise it remains\nin place, on the character to the right.","fn-docstring":"Move point one character back within the current line.\nContingent on the variable `evil-move-cursor-back' or the FORCE\nargument. Honors field boundaries, i.e., constrains the movement\nto the current field as recognized by `line-beginning-position'.","arglist":["&optional","force"],"functionp":true,"macrop":null},"evil-ace-jump-exit-recursive-edit":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Exit a recursive edit caused by an evil jump.","arglist":null,"functionp":true,"macrop":null},"evil-visual-make-selection":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Create a Visual selection with point at POINT and mark at MARK.\nThe boundaries of the selection are inferred from these\nand the current TYPE. To specify the boundaries and infer\nmark and point, use `evil-visual-select' instead.","arglist":["mark","point","&optional","type","message"],"functionp":true,"macrop":null},"evil-goto-definition":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to definition or first occurrence of symbol under point.\nSee also `evil-goto-definition-functions'.","arglist":null,"functionp":true,"macrop":null},"evil-flash-search-pattern":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Flash last search matches for duration of `evil-flash-delay'.\nIf ALL is non-nil, flash all matches. STRING is a message\nto display in the echo area.","arglist":["string","&optional","all"],"functionp":true,"macrop":null},"evil-last-register":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The last executed register.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-put-command-property":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set PROPERTY to VALUE for COMMAND.\nTo set multiple properties at once, see\n`evil-set-command-properties' and `evil-add-command-properties'.","arglist":["command","property","value"],"functionp":true,"macrop":null},"evil-get-command-properties":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return all Evil properties of COMMAND.\nSee also `evil-get-command-property'.","arglist":["command"],"functionp":true,"macrop":null},"evil-repeat-different-buffer-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether the buffer has changed in a repeat.\nIf STRICT is non-nil, returns t if the previous buffer\nis unknown; otherwise returns t only if the previous\nbuffer is known and different from the current buffer.","arglist":["&optional","strict"],"functionp":true,"macrop":null},"evil-ex-hl-window":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the window of the highlight HL.","arglist":["hl"],"functionp":true,"macrop":null},"evil-ex-setup":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Initialize Ex minibuffer.\nThis function registers several hooks that are used for the\ninteractive actions during ex state.","arglist":null,"functionp":true,"macrop":null},"evil-set-range-beginning":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set RANGE's beginning to BEG.\nIf COPY is non-nil, return a copy of RANGE.","arglist":["range","beg","&optional","copy"],"functionp":true,"macrop":null},"evil-member-recursive-if":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Find the first item satisfying PREDICATE in TREE.","arglist":["predicate","tree"],"functionp":true,"macrop":null},"evil-posn-x-y":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the x and y coordinates in POSITION.\nThis function returns y offset from the top of the buffer area including\nthe header line.\n\nOn Emacs 24 and later versions, the y-offset returned by\n`posn-at-point' is relative to the text area excluding the header\nline, while y offset taken by `posn-at-x-y' is relative to the buffer\narea including the header line. This asymmetry is by design according\nto GNU Emacs team. This function fixes the asymmetry between them.\n\nLearned from mozc.el.","arglist":["position"],"functionp":true,"macrop":null},"evil-flash-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Disable hightlighting if `this-command' is not search.\nDisable anyway if FORCE is t.","arglist":["&optional","force"],"functionp":true,"macrop":null},"evil-insert-count":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"The explicit count passed to an command starting Insert state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-operator-state-message":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Echo area message for Operator-Pending state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-with-active-region":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute BODY with an active region from BEG to END.","arglist":["beg","end","&rest","body"],"functionp":null,"macrop":true},"evil-operator-state-local-map":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Buffer-local keymap for Operator-Pending state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-repeat-recording-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Returns non-nil iff a recording is in progress.","arglist":null,"functionp":true,"macrop":null},"evil-open-fold-rec":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Open fold at point recursively.\nSee also `evil-open-fold' and `evil-close-fold'.","arglist":null,"functionp":true,"macrop":null},"evil-define-key*":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Create a STATE binding from KEY to DEF for KEYMAP.\nSTATE is one of normal, insert, visual, replace, operator,\nmotion, emacs, or a list of one or more of these. Omitting a\nstate by using nil corresponds to a standard Emacs binding using\n`define-key' The remaining arguments are like those of\n`define-key'. For example:\n\n (evil-define-key* 'normal foo-map \"a\" 'bar)\n\nThis creates a binding from \"a\" to bar in Normal state, which\nis active whenever foo-map is active. Using nil for the state,\nthe following are equivalent:\n\n (evil-define-key* nil foo-map \"a\" 'bar)\n\n (define-key foo-map \"a\" 'bar)\n\n It is possible to specify multiple states and/or bindings at\n once:\n\n (evil-define-key* '(normal visual) foo-map\n \"a\" 'bar\n \"b\" 'foo)\n\nKEYMAP may also be a quoted symbol. If the symbol is global, the\nglobal evil keymap corresponding to the state(s) is used, meaning\nthe following are equivalent:\n\n (evil-define-key* 'normal 'global \"a\" 'bar)\n\n (evil-global-set-key 'normal \"a\" 'bar)\n\nThe symbol local may also be used, which corresponds to using\n`evil-local-set-key'.\n\nThe use is nearly identical to `evil-define-key' with the\nexception that this is a function and not a macro (and so will\nnot be expanded when compiled which can have unintended\nconsequences). `evil-define-key*' also does not defer any\nbindings like `evil-define-key' does using `evil-delay'. This\nallows errors in the bindings to be caught immediately, and makes\nits behavior more predictable.","arglist":["state","keymap","key","def","&rest","bindings"],"functionp":true,"macrop":null},"evil-a-sentence":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select a sentence.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-prev-flyspell-error":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to the COUNT'th spelling mistake preceding point.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-window-bottom-right":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to bottom-right window.","arglist":null,"functionp":true,"macrop":null},"evil--show-jumps-select-action":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["jump"],"functionp":true,"macrop":null},"evil--jumps-get-jumps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["struct"],"functionp":true,"macrop":null},"evil-ex-remove-default":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Remove the default text shown in the ex minibuffer.\nWhen ex starts, the previous command is shown enclosed in\nparenthesis. This function removes this text when the first key\nis pressed.","arglist":null,"functionp":true,"macrop":null},"evil-set-range-properties":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set RANGE's properties to PROPERTIES.\nIf COPY is non-nil, return a copy of RANGE.","arglist":["range","properties","&optional","copy"],"functionp":true,"macrop":null},"evil-command-window":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Open a command line window for HIST with CMD-KEY and EXECUTE-FN.\nHIST should be a list of commands. CMD-KEY should be the string of\nthe key whose history is being shown (one of \":\", \"/\", or\n\"?\"). EXECUTE-FN should be a function of one argument to\nexecute on the result that the user selects.","arglist":["hist","cmd-key","execute-fn"],"functionp":true,"macrop":null},"evil-operator-state-cursor":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Cursor for Operator-Pending state.\nMay be a cursor type as per `cursor-type', a color string as passed\nto `set-cursor-color', a zero-argument function for changing the\ncursor, or a list of the above.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-state-modes":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Modes that should come up in Visual state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-avy-goto-symbol-1-below":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-symbol-1-below'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-visual-screen-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"*Linewise selection in `visual-line-mode'.","fn-docstring":"Linewise selection in `visual-line-mode'.","arglist":["&optional","mark","point","type","message"],"functionp":true,"macrop":null},"evil-disabled-buffer-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether Evil should be disabled in BUFFER.","arglist":["&optional","buffer"],"functionp":true,"macrop":null},"evil-undo-pop":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Undo the last buffer change.\nRemoves the last undo information from `buffer-undo-list'.\nIf undo is disabled in the current buffer, use the information\nin `evil-temporary-undo' instead.","arglist":null,"functionp":true,"macrop":null},"evil-window-bottom":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to line COUNT from the bottom of the window\non the first non-blank character.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-command-window-mode-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Keymap for `evil-command-window-mode'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-change-whole-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Change whole line.","arglist":["beg","end","&optional","type","register","yank-handler"],"functionp":true,"macrop":null},"evil-ex-split-search-pattern":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Split PATTERN in regexp, offset and next-pattern parts.\nReturns a triple (regexp offset next-search).","arglist":["pattern","direction"],"functionp":true,"macrop":null},"evil-ex-hl-overlays":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the list of active overlays of the highlight HL.","arglist":["hl"],"functionp":true,"macrop":null},"evil-scroll-line-to-bottom":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Scrolls line number COUNT (or the cursor line) to the bottom of the window.","arglist":["count"],"functionp":true,"macrop":null},"evil-repeat-visual-char":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Restores a character visual selection.\nIf the selection is in a single line, the restored visual\nselection covers the same number of characters. If the selection\ncovers several lines, the restored selection covers the same\nnumber of lines and the same number of characters in the last\nline as the original selection.","arglist":["nfwdlines","nfwdchars"],"functionp":true,"macrop":null},"evil-concat-charsets":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Concatenate character sets.\nA character set is the part between [ and ] in a regular expression.\nIf any character set is complemented, the result is also complemented.","arglist":["&rest","sets"],"functionp":true,"macrop":null},"evil-inclusive-expand":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Perform expand transformation on inclusive from BEG to END with PROPERTIES.\n\nInclude the character under point.\nIf the end position is at the beginning of a line or the end of a\nline and `evil-want-visual-char-semi-exclusive', then:\n\n* If in visual state return `exclusive' (expanded).","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-insert-state-message":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Echo area message for Insert state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-get-marker":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the marker denoted by CHAR.\nThis is either a marker object as returned by `make-marker',\na number, a cons cell (FILE . POS) with FILE being a string\nand POS a number, or nil. If RAW is non-nil, then the\nreturn value may also be a variable, a movement function,\nor a marker object pointing nowhere.","arglist":["char","&optional","raw"],"functionp":true,"macrop":null},"evil-turn-on-undo-tree-mode":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-block":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"*Blockwise selection.","fn-docstring":"Blockwise selection.","arglist":["&optional","mark","point","type","message"],"functionp":true,"macrop":null},"evil-space":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-next-visual-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor COUNT screen lines down.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-minor-mode-keymap-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether MAP is a minor-mode keymap.","arglist":["map"],"functionp":true,"macrop":null},"evil-ex-initial-input":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Additional initial content of the ex command line.\nThis content of this variable is appended to the ex command line\nif ex is started interactively.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-substitute-global":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"If non-nil substitute patterns are global by default.\nUsually (if this variable is nil) a substitution works only on\nthe first match of a pattern in a line unless the 'g' flag is\ngiven, in which case the substitution happens on all matches in a\nline. If this option is non-nil, this behaviour is reversed: the\nsubstitution works on all matches unless the 'g' pattern is\nspecified, then is works only on the first match.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-want-C-d-scroll":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether \\[C-d] scrolls down (like Vim).","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-emacs-state-cursor":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Cursor for Emacs state.\nMay be a cursor type as per `cursor-type', a color string as passed\nto `set-cursor-color', a zero-argument function for changing the\ncursor, or a list of the above.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-find-char-backward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move to the previous COUNT'th occurrence of CHAR.","arglist":["&optional","count","char"],"functionp":true,"macrop":null},"evil-type-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether SYM is the name of a type.","arglist":["sym"],"functionp":true,"macrop":null},"evil-echo-area-restore":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Restore the echo area from `evil-echo-area-message'.\nDoes not restore if `evil-write-echo-area' is non-nil.","arglist":null,"functionp":true,"macrop":null},"evil-state-property":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the value of property PROP for STATE.\nPROP is a keyword as used by `evil-define-state'.\nSTATE is the state's symbolic name.\nIf VALUE is non-nil and the value is a variable,\nreturn the value of that variable.","arglist":["state","prop","&optional","value"],"functionp":true,"macrop":null},"evil-normal-state-tag":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Mode line tag for Normal state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-substitute-pattern":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The last substitute pattern.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-refresh-cursor":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Refresh the cursor for STATE in BUFFER.\nBUFFER defaults to the current buffer. If STATE is nil the\ncursor type is either `evil-force-cursor' or the current state.","arglist":["&optional","state","buffer"],"functionp":true,"macrop":null},"evil-local-mode-off-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-forward-syntax":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move point to the end or beginning of a sequence of characters in\nSYNTAX.\nStop on reaching a character not in SYNTAX.","arglist":["syntax","&optional","count"],"functionp":true,"macrop":null},"evil-ex-search-pattern":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The last search pattern.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-repeat-substitute-with-flags":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Repeat last substitute command with last flags.\nThis is the same as :s//~/&","arglist":["beg","end","&optional","flags"],"functionp":true,"macrop":null},"evil-ex-hl-idle-update":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Triggers the timer to update the highlights in the current buffer.","arglist":null,"functionp":true,"macrop":null},"evil-flash-delay":{"default":2,"local":null,"default-type":"integer","var-docstring":"Time in seconds to flash search matches after \\[n] and \\[N].","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil--ex-remove-echo-overlay":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Remove echo overlay from ex minibuffer.","arglist":null,"functionp":true,"macrop":null},"evil-shift-left-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Shift the current line COUNT times to the left.\nThe text is shifted to the nearest multiple of\n`evil-shift-width'. Like `evil-shift-left' but always works on\nthe current line.","arglist":["count"],"functionp":true,"macrop":null},"evil-lookup-func":{"default":"woman","local":null,"default-type":"symbol","var-docstring":"Lookup function used by \"\\\\[evil-lookup]\".","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-backward-section-end":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the end of the COUNT-th previous section.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-ex-interactive-search-highlight":{"default":"all-windows","local":null,"default-type":"symbol","var-docstring":"Determine in which windows the interactive highlighting should be shown.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-make-intercept-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Give KEYMAP precedence over all Evil keymaps in STATE.\nIf STATE is nil, give it precedence over all states. If AUX is non-nil, make the\nauxiliary keymap corresponding to KEYMAP in STATE an intercept keymap instead of\nKEYMAP itself. See also `evil-make-overriding-map'.","arglist":["keymap","&optional","state","aux"],"functionp":true,"macrop":null},"evil-window-vsplit":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Splits the current window vertically, COUNT columns width,\nediting a certain FILE. The new window will be created to the\nright when `evil-vsplit-window-right' is non-nil. If COUNT and\n`evil-auto-balance-windows'are both non-nil then all children\nof the parent of the splitted window are rebalanced.","arglist":["&optional","count","file"],"functionp":true,"macrop":null},"evil-replace-state-message":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Echo area message for Replace state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-local-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if Evil-Local mode is enabled.\nUse the command `evil-local-mode' to change this variable.","fn-docstring":"Minor mode for setting up Evil in a single buffer.\n\nIf called interactively, enable Evil-Local mode if ARG is\npositive, and disable it if ARG is zero or negative. If called\nfrom Lisp, also enable the mode if ARG is omitted or nil, and\ntoggle it if ARG is `toggle'; disable the mode otherwise.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-state-keymaps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a keymap alist of keymaps activated by STATE.\nIf STATE references other states in its :enable property,\nthese states are recursively processed and added to the list.\n(The EXCLUDED argument is an internal safeguard against\ninfinite recursion, keeping track of processed states.)","arglist":["state","&rest","excluded"],"functionp":true,"macrop":null},"evil-block-string":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return size of block from BEG to END with PROPERTIES.\n\nLike `inclusive', but for rectangles:\nthe last column is included.","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-echo":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Display an unlogged message in the echo area.\nThat is, the message is not logged in the *Messages* buffer.\n(To log the message, just use `message'.)","arglist":["string","&rest","args"],"functionp":true,"macrop":null},"evil-cjk-emacs-word-boundary":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Determine word boundary exactly the same way as Emacs does.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-motions":{"default":"(back-to-indentation backward-char backward-list backward-paragraph backward-sentence backward-sexp backward-up-list backward-word beginning-of-buffer beginning-of-defun beginning-of-line beginning-of-visual-line c-beginning-of-defun c-end-of-defun diff-file-next diff-file-prev diff-hunk-next diff-hunk-prev down-list end-of-buffer end-of-defun end-of-line end-of-visual-line exchange-point-and-mark forward-char forward-list forward-paragraph forward-sentence forward-sexp forward-word goto-last-change ibuffer-backward-line ibuffer-forward-line isearch-abort isearch-cancel isearch-complete isearch-del-char isearch-delete-char isearch-edit-string isearch-exit isearch-highlight-regexp isearch-occur isearch-other-control-char isearch-other-meta-char isearch-printing-char isearch-query-replace isearch-query-replace-regexp isearch-quote-char isearch-repeat-backward isearch-repeat-forward isearch-ring-advance isearch-ring-retreat isearch-toggle-case-fold isearch-toggle-input-method isearch-toggle-regexp isearch-toggle-specified-input-method isearch-toggle-word isearch-yank-char isearch-yank-kill isearch-yank-line isearch-yank-word-or-char keyboard-quit left-char left-word mouse-drag-region mouse-save-then-kill mouse-set-point mouse-set-region mwheel-scroll move-beginning-of-line move-end-of-line next-error next-line paredit-backward paredit-backward-down paredit-backward-up paredit-forward paredit-forward-down paredit-forward-up pop-global-mark pop-tag-mark pop-to-mark-command previous-error previous-line right-char right-word scroll-down scroll-down-command scroll-up scroll-up-command sgml-skip-tag-backward sgml-skip-tag-forward up-list)","local":null,"default-type":"cons","var-docstring":"Non-Evil commands to initialize to motions.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-motion-loop":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Loop a certain number of times.\nEvaluate BODY repeatedly COUNT times with VAR bound to 1 or -1,\ndepending on the sign of COUNT. RESULT, if specified, holds\nthe number of unsuccessful iterations, which is 0 if the loop\ncompletes successfully. This is also the return value.\n\nEach iteration must move point; if point does not change,\nthe loop immediately quits. See also `evil-loop'.\n\n(fn (VAR COUNT [RESULT]) BODY...)","arglist":["spec","&rest","body"],"functionp":null,"macrop":true},"evil-register-list":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Returns an alist of all registers, but only those named\nwith number or character. Registers with symbol or string in names are ignored\nto keep Vim compatibility with register jumps.","arglist":null,"functionp":true,"macrop":null},"evil-make-overriding-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Give KEYMAP precedence over the global keymap of STATE.\nThe keymap will have lower precedence than custom STATE bindings.\nIf STATE is nil, give it precedence over all states.\nIf COPY is t, create a copy of KEYMAP and give that\nhigher precedence. See also `evil-make-intercept-map'.","arglist":["keymap","&optional","state","copy"],"functionp":true,"macrop":null},"evil-switch-to-windows-last-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Switch to current windows last open buffer.","arglist":null,"functionp":true,"macrop":null},"evil-interactive-string":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evaluate the interactive string STRING.\nThe string may contain extended interactive syntax.\nThe return value is a cons cell (FORM . PROPERTIES),\nwhere FORM is a single list-expression to be passed to\na standard `interactive' statement, and PROPERTIES is a\nlist of command properties as passed to `evil-define-command'.","arglist":["string"],"functionp":true,"macrop":null},"evil-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move COUNT - 1 lines down.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-ex-sort-completions":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["completions"],"functionp":true,"macrop":null},"evil-replace-match":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Replace text match by last search with REPLACEMENT.\nIf REPLACEMENT is an expression it will be evaluated to compute\nthe replacement text, otherwise the function behaves as\n`replace-match'.","arglist":["replacement","&optional","fixedcase","string"],"functionp":true,"macrop":null},"evil-keybindings":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-sort":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Place the smallest value in MIN and the largest in MAX.\nIf three or more arguments are given, place the smallest\nvalue in the first argument and the largest in the last,\nsorting in between.","arglist":["min","max","&rest","vars"],"functionp":null,"macrop":true},"evil-digraph":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Convert DIGRAPH to character or list representation.\nIf DIGRAPH is a list (CHAR1 CHAR2), return the corresponding character;\nif DIGRAPH is a character, return the corresponding list.\nSearches in `evil-digraphs-table-user' and `evil-digraphs-table'.","arglist":["digraph"],"functionp":true,"macrop":null},"evil-filter-list":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Delete by side-effect all items satisfying PREDICATE in LIST.\nStop when reaching POINTER. If the first item satisfies PREDICATE,\nthere is no way to remove it by side-effect; therefore, write\n(setq foo (evil-filter-list 'predicate foo)) to be sure of\nchanging the value of `foo'.","arglist":["predicate","list","&optional","pointer"],"functionp":true,"macrop":null},"evil-show-files":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Shows the file-list.\nThe same as `buffer-menu', but shows only buffers visiting\nfiles.","arglist":null,"functionp":true,"macrop":null},"evil-types":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-search-previous":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Goes the the previous occurrence.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-window-increase-height":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Increase current window height by COUNT.","arglist":["count"],"functionp":true,"macrop":null},"evil-ex-bang":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The \"!\" argument of the current Ex command.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-swap-out-markers":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Turn markers into file references when the buffer is killed.","arglist":null,"functionp":true,"macrop":null},"evil-previous-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor COUNT lines up.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-invert-case":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Invert case of text.","arglist":["beg","end","&optional","type"],"functionp":true,"macrop":null},"evil-write":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Save the current buffer, from BEG to END, to FILE-OR-APPEND.\nIf FILE-OR-APPEND is of the form \">> FILE\", append to FILE\ninstead of overwriting. The current buffer's filename is not\nchanged unless it has no associated file and no region is\nspecified. If the file already exists and the BANG argument is\nnon-nil, it is overwritten without confirmation.","arglist":["beg","end","&optional","type","file-or-append","bang"],"functionp":true,"macrop":null},"evil-visual-activate-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Enable Visual state if the region is activated.","arglist":["&optional","command"],"functionp":true,"macrop":null},"evil-visual-goto-end":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to the last line of the Visual selection.\nThis position may differ from `evil-visual-end' depending on\nthe selection type, and is contained in the selection.","arglist":null,"functionp":true,"macrop":null},"evil-define-motion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Define a motion command MOTION.\nARGS is a list of arguments. Motions can have any number of\narguments, but the first (if any) has the predefined meaning of\ncount. BODY must execute the motion by moving point.\n\nOptional keyword arguments are:\n- `:type' - determines how the motion works after an operator (one of\n `inclusive', `line', `block' and `exclusive', or a self-defined\n motion type)\n- `:jump' - if non-nil, the previous position is stored in the jump\n list, so that it can be restored with \\[C-o]\n\n(fn MOTION (COUNT ARGS...) DOC [[KEY VALUE]...] BODY...)","arglist":["motion","args","&rest","body"],"functionp":null,"macrop":true},"evil--self-insert-string":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Insert STRING as if typed interactively.","arglist":["string"],"functionp":true,"macrop":null},"evil-mouse--drag-set-mark-and-point":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["start","click","click-count"],"functionp":true,"macrop":null},"evil-window-up":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to new COUNT-th window above the current one.","arglist":["count"],"functionp":true,"macrop":null},"evil-auto-balance-windows":{"default":"t","local":null,"default-type":"symbol","var-docstring":"If non-nil window creation and deletion trigger rebalancing.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-edit":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Open FILE.\nIf no FILE is specified, reload the current buffer from disk.","arglist":["file","&optional","bang"],"functionp":true,"macrop":null},"evil-move-beginning":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move to the beginning of the COUNT next object.\nIf COUNT is negative, move to the COUNT previous object.\nFORWARD is a function which moves to the end of the object, and\nBACKWARD is a function which moves to the beginning.\nIf one is unspecified, the other is used with a negative argument.","arglist":["count","forward","&optional","backward"],"functionp":true,"macrop":null},"evil-scroll-line-to-top":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Scrolls line number COUNT (or the cursor line) to the top of the window.","arglist":["count"],"functionp":true,"macrop":null},"evil-avy-goto-char-2-below":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-char-2-below'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-magic":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Meaning which characters in a pattern are magic.\nThe meaning of those values is the same as in Vim. Note that it\nonly has influence if the Evil search module is chosen in\n`evil-search-module'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-column":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the horizontal position of POS.\nPOS defaults to point.","arglist":["&optional","pos"],"functionp":true,"macrop":null},"evil-compile-subreplacement":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Convert a regexp replacement TO to Lisp from START until \\e or \\E.\nReturns a pair (RESULT . REST). RESULT is a list suitable for\n`perform-replace' if necessary, the original string if not.\nREST is the unparsed remainder of TO.","arglist":["to","&optional","start"],"functionp":true,"macrop":null},"evil-restore-window-tree":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Restore the given buffer-tree layout as subwindows of WIN.\nTREE is the tree layout to be restored.\nA tree layout is either a buffer or a list of the form (DIR TREE ...),\nwhere DIR is t for horizontal split and nil otherwise. All other\nelements of the list are tree layouts itself.","arglist":["win","tree"],"functionp":true,"macrop":null},"evil-copy-chars-from-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return N characters from line NUM, starting at column COL.\nNUM is relative to the current line and can be negative.\nCOL defaults to the current column.","arglist":["n","num","&optional","col"],"functionp":true,"macrop":null},"evil-find-file-at-point-with-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Opens the file at point and goes to line-number.","arglist":null,"functionp":true,"macrop":null},"evil-visual-state-tag":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Mode line tag for Visual state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-toggle-fold":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Open or close a fold under point.\nSee also `evil-open-fold' and `evil-close-fold'.","arglist":null,"functionp":true,"macrop":null},"evil-with-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Change to STATE and execute BODY without refreshing the display.\nRestore the previous state afterwards.","arglist":["state","&rest","body"],"functionp":null,"macrop":true},"evil-set-register":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the contents of register REGISTER to TEXT.\nIf REGISTER is an upcase character then text is appended to that\nregister instead of replacing its content.","arglist":["register","text"],"functionp":true,"macrop":null},"evil-insert-state-entry-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run when entering Insert state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-abort":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Cancel ex state when another buffer is selected.","arglist":null,"functionp":true,"macrop":null},"evil-ex-make-pattern":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Create a new search pattern.\nREGEXP is the regular expression to be searched for. CASE should\nbe either 'sensitive, 'insensitive for case-sensitive and\ncase-insensitive search, respectively, or anything else. In the\nlatter case the pattern is smart-case, i.e. it is automatically\nsensitive of the pattern contains one upper case letter,\notherwise it is insensitive. The input REGEXP is considered a\nVim-style regular expression if `evil-ex-search-vim-style-regexp'\nis non-nil, in which case it is transformed to an Emacs style\nregular expression (i.e. certain backslash-codes are\ntransformed. Otherwise REGEXP must be an Emacs style regular\nexpression and is not transformed.","arglist":["regexp","case","whole-line"],"functionp":true,"macrop":null},"evil-enclose-ace-jump-for-motion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Enclose ace-jump to make it suitable for motions.\nThis includes restricting `ace-jump-mode' to the current window\nin visual and operator state, deactivating visual updates, saving\nthe mark and entering `recursive-edit'.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-paste-after":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Pastes the latest yanked text behind point.\nThe return value is the yanked text.","arglist":["count","&optional","register","yank-handler"],"functionp":true,"macrop":null},"evil-range-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether OBJECT is a range.","arglist":["object"],"functionp":true,"macrop":null},"evil-select-an-object":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return an outer text object range of COUNT objects.\nIf COUNT is positive, return objects following point; if COUNT is\nnegative, return objects preceding point. If one is unspecified,\nthe other is used with a negative argument. THING is a symbol\nunderstood by thing-at-point. BEG, END and TYPE specify the\ncurrent selection. If LINE is non-nil, the text object should be\nlinewise, otherwise it is character wise.","arglist":["thing","beg","end","type","count","&optional","line"],"functionp":true,"macrop":null},"evil-avy-goto-char-2":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-char-2'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-initialize":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Enable Evil in the current buffer, if appropriate.\nTo enable Evil globally, do (evil-mode 1).","arglist":null,"functionp":true,"macrop":null},"evil-find-char-to-backward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move before the previous COUNT'th occurrence of CHAR.","arglist":["&optional","count","char"],"functionp":true,"macrop":null},"evil-mode-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hook run after entering or leaving `evil-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-select-quote":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a range (BEG END) of COUNT quoted text objects.\nQUOTE specifies the quotation delimiter. BEG END TYPE are the\ncurrently selected (visual) range.\n\nIf INCLUSIVE is nil the previous selection is ignore. If there is\nquoted string at point this object will be selected, otherwise\nthe following (if (> COUNT 0)) or preceeding object (if (< COUNT\n0)) is selected. If (/= (abs COUNT) 2) the delimiting quotes are not\ncontained in the range, otherwise they are contained in the range.\n\nIf INCLUSIVE is non-nil the selection depends on the previous\nselection. If the currently selection contains at least one\ncharacter that is contained in a quoted string then the selection\nis extended, otherwise it is thrown away. If there is a\nnon-selected object at point then this object is added to the\nselection. Otherwise the selection is extended to the\nfollowing (if (> COUNT 0)) or preceeding object (if (< COUNT\n0)). Any whitespace following (or preceeding if (< COUNT 0)) the\nnew selection is added to the selection. If no such whitespace\nexists and the selection contains only one quoted string then the\npreceeding (or following) whitespace is added to the range. ","arglist":["quote","beg","end","type","count","&optional","inclusive"],"functionp":true,"macrop":null},"evil-digraphs":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-window-next":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the next window in the cyclic order.\nWith COUNT go to the count-th window in the order starting from\ntop-left.","arglist":["count"],"functionp":true,"macrop":null},"evil-start-undo-step":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Start a undo step.\nAll following buffer modifications are grouped together as a\nsingle action. If CONTINUE is non-nil, preceding modifications\nare included. The step is terminated with `evil-end-undo-step'.","arglist":["&optional","continue"],"functionp":true,"macrop":null},"evil-forward-word-begin":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the beginning of the COUNT-th next word.\nIf BIGWORD is non-nil, move by WORDS.\n\nIf this command is called in operator-pending state it behaves\ndifferently. If point reaches the beginning of a word on a new\nline point is moved back to the end of the previous line.\n\nIf called after a change operator, i.e. cw or cW,\n`evil-want-change-word-to-end' is non-nil and point is on a word,\nthen both behave like ce or cE.\n\nIf point is at the end of the buffer and cannot be moved signal\n'end-of-buffer is raised.\n","arglist":["&optional","count","bigword"],"functionp":true,"macrop":null},"evil-complete-previous-func":{"default":"(lambda (arg) (require 'dabbrev) (let ((dabbrev-search-these-buffers-only (unless evil-complete-all-buffers (list (current-buffer)))) dabbrev-case-distinction) (dabbrev-expand arg)))","local":null,"default-type":"cons","var-docstring":"Completion function used by \\\\[evil-complete-previous].","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-default-cursor":{"default":"t","local":null,"default-type":"symbol","var-docstring":"The default cursor.\nMay be a cursor type as per `cursor-type', a color string as passed\nto `set-cursor-color', a zero-argument function for changing the\ncursor, or a list of the above.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-window-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Keymap for window-related commands.","fn-docstring":"Prefix command (definition is a keymap associating keystrokes with commands).","arglist":true,"functionp":null,"macrop":null},"evil-backward-WORD-begin":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the beginning of the COUNT-th previous WORD.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-operator-state-modes":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Modes that should come up in Operator-Pending state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-argument":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The current argument of the Ex command.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-state-minor-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if Visual state is enabled.\nUse the command `evil-visual-state' to change this variable.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ret-and-indent":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor COUNT lines down.\nIf point is on a widget or a button, click on it.\nIn Insert state, insert a newline and indent.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-apply-on-block":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Call FUNC for each line of a block selection.\nThe selection is specified by the region BEG and END. FUNC must\ntake at least two arguments, the beginning and end of each\nline. If PASS-COLUMNS is non-nil, these values are the columns,\notherwise tey are buffer positions. Extra arguments to FUNC may\nbe passed via ARGS.","arglist":["func","beg","end","pass-columns","&rest","args"],"functionp":true,"macrop":null},"evil-goto-max":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to the largest position in POSITIONS.\nNon-numerical elements are ignored.\nSee also `evil-goto-min'.","arglist":["&rest","positions"],"functionp":true,"macrop":null},"evil-repeat-type":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the :repeat property of COMMAND.\nIf COMMAND doesn't have this property, return DEFAULT.","arglist":["command","&optional","default"],"functionp":true,"macrop":null},"evil-a-bracket":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select a square bracket.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-ex-last-was-search":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Non-nil if the previous was a search.\nOtherwise the previous command is assumed as substitute.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-signal-without-movement":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Catches errors provided point moves within this scope.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-next-close-paren":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to [count] next unmatched ')'.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-want-C-w-delete":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether \\[C-w] deletes a word in Insert state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-exclusive-string":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return size of exclusive from BEG to END with PROPERTIES.\n\nReturn the positions unchanged, with some exceptions.\nIf the end position is at the beginning of a line, then:\n\n* If the beginning position is at or before the first non-blank\n character on the line, return `line' (expanded).\n\n* Otherwise, move the end position to the end of the previous\n line and return `inclusive' (expanded).","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-last-insertion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The last piece of inserted text.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-goto-min":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to the smallest position in POSITIONS.\nNon-numerical elements are ignored.\nSee also `evil-goto-max'.","arglist":["&rest","positions"],"functionp":true,"macrop":null},"evil-yank-rectangle":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Saves the rectangle defined by region BEG and END into the kill-ring.","arglist":["beg","end","&optional","register","yank-handler"],"functionp":true,"macrop":null},"evil-without-display":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute BODY without Evil displays.\nInhibits echo area messages, mode line updates and cursor changes.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-replace-state-local-minor-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if Replace state is enabled.\nUse the command `evil-replace-state' to change this variable.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-find-symbol":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return word near point as a string.\nIf FORWARD is nil, search backward, otherwise forward. Returns\nnil if nothing is found.","arglist":["forward"],"functionp":true,"macrop":null},"evil-ex-parse-command":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Parse STRING as an Ex binding.","arglist":["string"],"functionp":true,"macrop":null},"evil-window-mru":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the previous (last accessed) buffer in another window.\nMore precisely, it selects the most recently used buffer that is\nshown in some other window, preferably of the current frame, and\nis different from the current one.","arglist":null,"functionp":true,"macrop":null},"evil-mode-on-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-set-type":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the type of OBJECT to TYPE.\nFor example, (evil-set-type 'next-line 'line)\nwill make `line' the type of the `next-line' command.","arglist":["object","type"],"functionp":true,"macrop":null},"evil-ex-search-full-pattern":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search for a full search pattern PATTERN-STRING in DIRECTION.\nThis function split PATTERN-STRING in\npattern/offset/;next-pattern parts and performs the search in\nDIRECTION which must be either 'forward or 'backward. The first\nsearch is repeated COUNT times. If the pattern part of\nPATTERN-STRING is empty, the last global pattern stored in\n`evil-ex-search-pattern' is used instead if in addition the\noffset part is nil (i.e. no pattern/offset separator), the last\nglobal offset stored in `evil-ex-search-offset' is used as\noffset. The current match data will correspond to the last\nsuccessful match. This function returns a triple (RESULT PATTERN\nOFFSET) where RESULT is\n\n t the search has been successful without wrap\n 'wrap the search has been successful with wrap\n 'empty-pattern the last pattern has been empty\n nil the search has not been successful\n\nand PATTERN and OFFSET are the last pattern and offset this\nfunction searched for. Note that this function does not handle\nany error conditions.","arglist":["pattern-string","count","direction"],"functionp":true,"macrop":null},"evil-window-new":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Splits the current window horizontally\nand opens a new buffer or edits a certain FILE.","arglist":["count","file"],"functionp":true,"macrop":null},"evil-motion-marker":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Marker for storing the starting position of a motion.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-operator-range-type":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Type of `evil-operator-range'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-previous-open-paren":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to [count] previous unmatched '('.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-want-C-u-delete":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Whether \\[C-u] deletes back to indentation in insert state.\nOtherwise, \\[C-u] applies a prefix argument. The binding of\n\\[C-u] mirrors Emacs behaviour by default due to the relative\nubiquity of prefix arguments.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil--mode-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Determines whether any symbol in MODES represents the current\nbuffer's major mode or any of its minors.","arglist":["modes"],"functionp":true,"macrop":null},"evil-interactive-form":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evaluate interactive forms ARGS.\nThe return value is a cons cell (FORM . PROPERTIES),\nwhere FORM is a single list-expression to be passed to\na standard `interactive' statement, and PROPERTIES is a\nlist of command properties as passed to `evil-define-command'.","arglist":["&rest","args"],"functionp":true,"macrop":null},"evil--jumps-jumping":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-exchange-point-and-mark":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Exchange point and mark without activating the region.","arglist":null,"functionp":true,"macrop":null},"evil-goto-definition-functions":{"default":"(evil-goto-definition-imenu evil-goto-definition-semantic evil-goto-definition-xref evil-goto-definition-search)","local":null,"default-type":"cons","var-docstring":"List of functions run until success by `evil-goto-definition'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-with-undo":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute BODY with enabled undo.\nIf undo is disabled in the current buffer, the undo information\nis stored in `evil-temporary-undo' instead of `buffer-undo-list'.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-macro-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The buffer that has been active on macro recording.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-jumps-ignored-file-patterns":{"default":"(\"COMMIT_EDITMSG$\" \"TAGS$\")","local":null,"default-type":"cons","var-docstring":"A list of pattern regexps to match on the file path to exclude from being included in the jump list.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-goto-definition-xref":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Find definition at POSITION with xref.","arglist":["_string","position"],"functionp":true,"macrop":null},"evil-track-eol":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether \\[$] \"sticks\" the cursor to the end of the line.\nIf non-nil, vertical motions after \\[$] maintain the cursor at the\nend of the line, even if the target line is longer. This is analogous\nto `track-eol', but respects Evil's interpretation of end-of-line.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-completion-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Completion keymap for Ex.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-command-window-draw-prefix":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Display `evil-command-window-cmd-key' as a prefix to the current line.\nParameters passed in through IGNORED are ignored.","arglist":["&rest","ignored"],"functionp":true,"macrop":null},"evil-state":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"The current Evil state.\nTo change the state, use `evil-change-state'\nor call the state function (e.g., `evil-normal-state').","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-forward-not-thing":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move point to the end or beginning of the complement of THING.","arglist":["thing","&optional","count"],"functionp":true,"macrop":null},"evil-send-localleader":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Put symbol localleader in `unread-command-events' to trigger any\n bindings.","arglist":null,"functionp":true,"macrop":null},"evil-mode-for-keymap":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the minor mode associated with KEYMAP.\nReturns DEFAULT if no mode is found.\nSee also `evil-keymap-for-mode'.","arglist":["keymap","&optional","default"],"functionp":true,"macrop":null},"evil-set-command-properties":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Replace all of COMMAND's properties with PROPERTIES.\nPROPERTIES should be a property list.\nThis erases all previous properties; to only add properties,\nuse `evil-set-command-property'.","arglist":["command","&rest","properties"],"functionp":true,"macrop":null},"evil-concatenate-interactive-forms":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Concatenate interactive list expressions FORMS.\nReturns a single expression where successive expressions\nare joined, if possible.","arglist":["&rest","forms"],"functionp":true,"macrop":null},"evil-ex-signed-number":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a signed number like -3 and +1.\nNUMBER defaults to 1.","arglist":["sign","&optional","number"],"functionp":true,"macrop":null},"evil-word":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-delimited-arguments":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Parse STRING as a sequence of delimited arguments.\nReturns a list of NUM strings, or as many arguments as\nthe string contains. The first non-blank character is\ntaken to be the delimiter. If some arguments are missing\nfrom STRING, the resulting list is padded with nil values.\nTwo delimiters following directly after each other gives\nan empty string.","arglist":["string","&optional","num"],"functionp":true,"macrop":null},"evil-ex-completion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Completes the current ex command or argument.","arglist":null,"functionp":true,"macrop":null},"evil-use-register":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Use REGISTER for the next command.","arglist":["register"],"functionp":true,"macrop":null},"evil-emacs-state-modes":{"default":"(5x5-mode archive-mode bbdb-mode biblio-selection-mode blackbox-mode bookmark-bmenu-mode bookmark-edit-annotation-mode browse-kill-ring-mode bubbles-mode bzr-annotate-mode calc-mode cfw:calendar-mode completion-list-mode Custom-mode custom-theme-choose-mode debugger-mode delicious-search-mode desktop-menu-blist-mode desktop-menu-mode doc-view-mode dun-mode dvc-bookmarks-mode dvc-diff-mode dvc-info-buffer-mode dvc-log-buffer-mode dvc-revlist-mode dvc-revlog-mode dvc-status-mode dvc-tips-mode ediff-mode ediff-meta-mode efs-mode Electric-buffer-menu-mode emms-browser-mode emms-mark-mode emms-metaplaylist-mode emms-playlist-mode ess-help-mode etags-select-mode fj-mode gc-issues-mode gdb-breakpoints-mode gdb-disassembly-mode gdb-frames-mode gdb-locals-mode gdb-memory-mode gdb-registers-mode gdb-threads-mode gist-list-mode git-commit-mode git-rebase-mode gnus-article-mode gnus-browse-mode gnus-group-mode gnus-server-mode gnus-summary-mode gomoku-mode google-maps-static-mode ibuffer-mode jde-javadoc-checker-report-mode magit-cherry-mode magit-diff-mode magit-log-mode magit-log-select-mode magit-popup-mode magit-popup-sequence-mode magit-process-mode magit-reflog-mode magit-refs-mode magit-revision-mode magit-stash-mode magit-stashes-mode magit-status-mode magit-mode magit-branch-manager-mode magit-commit-mode magit-key-mode magit-rebase-mode magit-wazzup-mode mh-folder-mode monky-mode mpuz-mode mu4e-main-mode mu4e-headers-mode mu4e-view-mode notmuch-hello-mode notmuch-search-mode notmuch-show-mode notmuch-tree-mode occur-mode org-agenda-mode package-menu-mode pdf-outline-buffer-mode pdf-view-mode proced-mode rcirc-mode rebase-mode recentf-dialog-mode reftex-select-bib-mode reftex-select-label-mode reftex-toc-mode sldb-mode slime-inspector-mode slime-thread-control-mode slime-xref-mode snake-mode solitaire-mode sr-buttons-mode sr-mode sr-tree-mode sr-virtual-mode tar-mode tetris-mode tla-annotate-mode tla-archive-list-mode tla-bconfig-mode tla-bookmarks-mode tla-branch-list-mode tla-browse-mode tla-category-list-mode tla-changelog-mode tla-follow-symlinks-mode tla-inventory-file-mode tla-inventory-mode tla-lint-mode tla-logs-mode tla-revision-list-mode tla-revlog-mode tla-tree-lint-mode tla-version-list-mode twittering-mode urlview-mode vc-annotate-mode vc-dir-mode vc-git-log-view-mode vc-hg-log-view-mode vc-svn-log-view-mode vm-mode vm-summary-mode w3m-mode wab-compilation-mode xgit-annotate-mode xgit-changelog-mode xgit-diff-mode xgit-revlog-mode xhg-annotate-mode xhg-log-mode xhg-mode xhg-mq-mode xhg-mq-sub-mode xhg-status-extra-mode)","local":null,"default-type":"cons","var-docstring":"Modes that should come up in Emacs state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-defun":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-commands":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-yank-lines":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Saves the lines in the region BEG and END into the kill-ring.","arglist":["beg","end","&optional","register","yank-handler"],"functionp":true,"macrop":null},"evil-replace-pre-command":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Remember the character under point.","arglist":null,"functionp":true,"macrop":null},"evil-want-C-w-in-emacs-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Whether \\[C-w] prefixes windows commands in Emacs state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-search-incrementally":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search incrementally for user-entered text.","arglist":["forward","regexp-p"],"functionp":true,"macrop":null},"evil-repeat-record-position":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set `evil-repeat-pos' to POS or point.","arglist":["&optional","pos"],"functionp":true,"macrop":null},"evil-declare-insert-at-point-repeat":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Declare COMMAND to be repeatable by buffer changes.","arglist":["command"],"functionp":true,"macrop":null},"evil-ex-get-substitute-info":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Returns the substitution info of command line STRING.\nThis function returns a three-element list (PATTERN REPLACEMENT\nFLAGS) consisting of the substitution parts of STRING. PATTERN is\na ex-pattern (see `evil-ex-make-pattern') and REPLACEMENT in a\ncompiled replacement expression (see `evil-compile-replacement').\nThe information returned is the actual substitution information\nw.r.t. to special situations like empty patterns or repetition of\nprevious substitution commands. If IMPLICIT-R is non-nil, then\nthe flag 'r' is assumed, i.e. in the case of an empty pattern the\nlast search pattern is used. This will be used when called from\na :substitute command with arguments.","arglist":["string","&optional","implicit-r"],"functionp":true,"macrop":null},"evil-inner-WORD":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select inner WORD.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-visual-state-local-minor-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if Visual state is enabled.\nUse the command `evil-visual-state' to change this variable.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-operator-state-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Keymap for Operator-Pending state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-jump-backward-swap":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to the previous position in jump list.\nThe current position is placed in the jump list.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-mouse-word":{"default":"evil-word","local":null,"default-type":"symbol","var-docstring":"The thing-at-point symbol for double click selection.\nThe double-click starts visual state in a special word selection\nmode. This symbol is used to determine the words to be\nselected. Possible values are `evil-word' or `evil-WORD'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-jumps-struct-p--cmacro":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"compiler-macro for inlining `evil-jumps-struct-p'.","arglist":["_cl-whole-arg","cl-x"],"functionp":true,"macrop":null},"evil-paste-from-register":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Paste from REGISTER.","arglist":["register"],"functionp":true,"macrop":null},"evil-concat-plists":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Concatenate property lists, removing duplicates.\nA property list is a list (:KEYWORD1 VALUE1 :KEYWORD2 VALUE2...)\nwhere each keyword may occur only once. Later values overwrite\nearlier values.","arglist":["&rest","sequences"],"functionp":true,"macrop":null},"evil-ex-re-bwd":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search backward for PATTERN.\nReturns the line number of the match.","arglist":["pattern"],"functionp":true,"macrop":null},"evil-loop":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Loop with countdown variable.\nEvaluate BODY with VAR counting down from COUNT to 0.\nCOUNT can be negative, in which case VAR counts up instead.\nThe return value is the value of VAR when the loop\nterminates, which is 0 if the loop completes successfully.\nRESULT specifies a variable for storing this value.\n\n(fn (VAR COUNT [RESULT]) BODY...)","arglist":["spec","&rest","body"],"functionp":null,"macrop":true},"evil-inner-symbol":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select inner symbol.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-goto-char":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to POSITION in the buffer.\nDefault position is the beginning of the buffer.","arglist":["position"],"functionp":true,"macrop":null},"evil-ex-command":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The current Ex command.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-search-persistent-highlight":{"default":"t","local":null,"default-type":"symbol","var-docstring":"If non-nil matches remain highlighted when the search ends.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-operator-range-end":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"End of `evil-operator-range'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-set-initial-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the initial state for the current major mode to STATE.\nThis is the state the buffer comes up in. See `evil-set-initial-state'.","arglist":["state"],"functionp":true,"macrop":null},"evil-invert-char":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Invert case of character.","arglist":["beg","end","&optional","type"],"functionp":true,"macrop":null},"evil-window-split":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Splits the current window horizontally, COUNT lines height,\nediting a certain FILE. The new window will be created below\nwhen `evil-split-window-below' is non-nil. If COUNT and\n`evil-auto-balance-windows' are both non-nil then all children\nof the parent of the splitted window are rebalanced.","arglist":["&optional","count","file"],"functionp":true,"macrop":null},"evil-forward-paragraph":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move to the end of the COUNT-th next paragraph.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-delete-backward-char-and-join":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Delete previous character and join lines.\nIf point is at the beginning of a line then the current line will\nbe joined with the previous line if and only if\n`evil-backspace-join-lines'.","arglist":["count"],"functionp":true,"macrop":null},"evil-normalize-keymaps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Create a buffer-local value for `evil-mode-map-alist'.\nThis is a keymap alist, determined by the current state\n(or by STATE if specified).","arglist":["&optional","state"],"functionp":true,"macrop":null},"evil-goto-column":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to column COUNT on the current line.\nColumns are counted from zero.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-search-backward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search backward for user-entered text.\nSearches for regular expression if `evil-regexp-search' is t.\n\nBelow is the documentation string for `isearch-forward',\nwhich lists available keys:\n\nDo incremental search forward.\nWith a prefix argument, do an incremental regular expression search instead.\n\nAs you type characters, they add to the search string and are found.\nThe following non-printing keys are bound in ‘isearch-mode-map’.\n\nType DEL to cancel last input item from end of search string.\nType RET to exit, leaving point at location found.\nType LFD (C-j) to match end of line.\nType C-s to search again forward, C-r to search again backward.\nType M-s M-< to go to the first match, M-s M-> to go to the last match.\nType C-w to yank next word or character in buffer\n onto the end of the search string, and search for it.\nType C-M-d to delete character from end of search string.\nType C-M-y to yank char from buffer onto end of search string and search for it.\nType C-M-z to yank from point until the next instance of a\n specified character onto end of search string and search for it.\nType M-s C-e to yank rest of line onto end of search string and search for it.\nType C-y to yank the last string of killed text.\nType M-y to replace string just yanked into search prompt\n with string killed before it.\nType C-q to quote control character to search for it.\nType C-x 8 RET to add a character to search by Unicode name, with completion.\nC-g while searching or when search has failed cancels input back to what has\n been found successfully.\nC-g when search is successful aborts and moves point to starting point.\n\nIf you try to exit with the search string still empty, it invokes\n nonincremental search.\n\nType M-s c to toggle search case-sensitivity.\nType M-s i to toggle search in invisible text.\nType M-s r to toggle regular-expression mode.\nType M-s w to toggle word mode.\nType M-s _ to toggle symbol mode.\nType M-s ' to toggle character folding.\n\nType M-s SPC to toggle whitespace matching.\nIn incremental searches, a space or spaces normally matches any whitespace\ndefined by the variable ‘search-whitespace-regexp’; see also the variables\n‘isearch-lax-whitespace’ and ‘isearch-regexp-lax-whitespace’.\n\nType M-s e to edit the search string in the minibuffer.\n\nAlso supported is a search ring of the previous 16 search strings.\nType M-n to search for the next item in the search ring.\nType M-p to search for the previous item in the search ring.\nType C-M-i to complete the search string using the search ring.\n\nType M-% to run ‘query-replace’ with string to replace from last search string.\nType C-M-% to run ‘query-replace-regexp’ with the last search string.\nType M-s o to run ‘occur’ that shows the last search string.\nType M-s h r to run ‘highlight-regexp’ that highlights the last search string.\nType M-s h l to run\n ‘highlight-lines-matching-regexp’that highlights lines\n matching the last search string.\n\nType C-h b to display all Isearch key bindings.\nType C-h k to display documentation of Isearch key.\nType C-h m to display documentation of Isearch mode.\n\nIf an input method is turned on in the current buffer, that input\nmethod is also active while you are typing characters to search.\nTo toggle the input method, type C-\\. It also toggles the input\nmethod in the current buffer.\n\nTo use a different input method for searching, type C-^,\nand specify an input method you want to use.\n\nThe above keys, bound in ‘isearch-mode-map’, are often controlled by\n options; do M-x apropos on search-.* to find them.\nOther control and meta characters terminate the search\n and are then executed normally (depending on ‘search-exit-option’).\nLikewise for function keys and mouse button events.\n\nIf this function is called non-interactively with a nil NO-RECURSIVE-EDIT,\nit does not return to the calling function until the search is done.\nSee the function ‘isearch-mode’ for more information.\n\n(fn &optional REGEXP-P NO-RECURSIVE-EDIT)","arglist":null,"functionp":true,"macrop":null},"evil-yank-line-handler":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Inserts the current text linewise.","arglist":["text"],"functionp":true,"macrop":null},"evil-command-window-mode-abbrev-table":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Abbrev table for `evil-command-window-mode'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-info":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-repeat-changes":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Accumulated buffer changes for changed-based commands.","fn-docstring":"Repeation recording function for commands that are repeated by buffer changes.","arglist":["flag"],"functionp":true,"macrop":null},"evil-operator-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Read a motion from the keyboard and return its buffer positions.\nThe return value is a list (BEG END), or (BEG END TYPE) if\nRETURN-TYPE is non-nil.","arglist":["&optional","return-type"],"functionp":true,"macrop":null},"evil-visual-previous-mark":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"The position of mark before Visual state, a marker.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-get-auxiliary-keymap":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Get the auxiliary keymap for MAP in STATE.\nIf CREATE is non-nil, create an auxiliary keymap\nif MAP does not have one. If CREATE and\nIGNORE-PARENT are non-nil then a new auxiliary\nkeymap is created even if the parent of MAP has\none already.","arglist":["map","state","&optional","create","ignore-parent"],"functionp":true,"macrop":null},"evil-ex-substitute-last-point":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-swap":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Swap the values of variables THIS and THAT.\nIf three or more arguments are given, the values are rotated.\nE.g., (evil-swap A B C) sets A to B, B to C, and C to A.","arglist":["this","that","&rest","vars"],"functionp":null,"macrop":true},"evil-operator-shortcut-map":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Keymap for Operator-Pending shortcuts like \"dd\" and \"gqq\".","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-with-restriction":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute BODY with the buffer narrowed to BEG and END.\nBEG or END may be nil as passed to `evil-narrow'; this creates\na one-sided restriction.","arglist":["beg","end","&rest","body"],"functionp":null,"macrop":true},"evil-get-property":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return property PROP for KEY in ALIST.\nALIST is an association list with entries of the form\n(KEY . PLIST), where PLIST is a property list.\nIf PROP is nil, return all properties for KEY.\nIf KEY is t, return an association list of keys\nand their PROP values.","arglist":["alist","key","&optional","prop"],"functionp":true,"macrop":null},"evil-write-echo-area":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"If set to t inside `evil-save-echo-area', then the echo area\nis not restored.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-jumps-struct-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["cl-x"],"functionp":true,"macrop":null},"evil-scroll-line-up":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Scrolls the window COUNT lines upwards.","arglist":["count"],"functionp":true,"macrop":null},"evil-member-if":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Find the first item satisfying PREDICATE in LIST.\nStop when reaching POINTER, which should point at a link\nin the list.","arglist":["predicate","list","&optional","pointer"],"functionp":true,"macrop":null},"evil-exit-visual-and-repeat":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Exit insert state and repeat event.\nThis special command should be used if some command called from\nvisual state should actually be called in normal-state. The main\nreason for doing this is that the repeat system should *not*\nrecord the visual state information for some command. This\ncommand should be bound to exactly the same event in visual state\nas the original command is bound in normal state. EVENT is the\nevent that triggered the execution of this command.","arglist":["event"],"functionp":true,"macrop":null},"evil-make":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Call a build command in the current directory.\nIf ARG is nil this function calls `recompile', otherwise it calls\n`compile' passing ARG as build command.","arglist":["arg"],"functionp":true,"macrop":null},"evil-buffer-new":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Creates a new buffer replacing the current window, optionally\n editing a certain FILE","arglist":["count","file"],"functionp":true,"macrop":null},"evil-line-or-visual-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move COUNT - 1 lines down.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-visual-highlight":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Highlight Visual selection, depending on the Visual type.\nWith negative ARG, disable highlighting.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-a-tag":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select a tag block.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-inhibit-operator":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Inhibit current operator.\nIf an operator calls a motion and the motion sets this variable\nto t, the operator code is not executed.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-command-window-search-backward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Open a command line window for backward searches.","arglist":null,"functionp":true,"macrop":null},"evil-mode-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-list-view-mode-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hook run after entering Evil List View mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-revert-reveal":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Unconditionally close overlays in OPEN-SPOTS in current window.\nModified version of `reveal-close-old-overlays' from\nreveal.el. OPEN-SPOTS is a local version of `reveal-open-spots'.","arglist":["open-spots"],"functionp":true,"macrop":null},"evil-deinit-esc":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Restore `input-decode-map' in terminal.","arglist":["frame"],"functionp":true,"macrop":null},"evil-maps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-search-unbounded-word-backward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search backward for symbol under point.\nThe search is unbounded, i.e., the pattern is not wrapped in\n\\<...\\>.","arglist":["&optional","count","symbol"],"functionp":true,"macrop":null},"evil-normalize-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Normalize RANGE according to its type.\nReturn a new range if COPY is non-nil.","arglist":["range","&optional","copy"],"functionp":true,"macrop":null},"evil-set-custom-motions":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Sets the list of motion commands.","arglist":["var","values"],"functionp":true,"macrop":null},"evil-normal-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Enable Normal state. Disable with negative ARG.\nIf ARG is nil, don't display a message in the echo area.\n\nAKA \"Command\" state.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil--jump-forward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["count"],"functionp":true,"macrop":null},"evil-insert-state-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Keymap for Insert state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-looking-at-end-comment":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Returns t if point is at the end of a comment.\npoint must be on one of the opening characters of a block comment\naccording to the current syntax table. Futhermore these\ncharacters must been parsed as opening characters, i.e. they\nwon't be considered as comment starters inside a string or\npossibly another comment. Point is moved right after the comment\ncloser if MOVE is non-nil.","arglist":["&optional","move"],"functionp":true,"macrop":null},"evil-ex-search-interactive":{"default":"t","local":null,"default-type":"symbol","var-docstring":"If t search is interactive.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-line-message":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Linewise selection.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-without-input-method-hooks":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute body with evil's activate/deactivate-input-method hooks deactivated.\n\nThis allows input methods to be used in normal-state.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-remove-yank-excluded-properties":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Removes `yank-excluded-properties' from TEXT.","arglist":["text"],"functionp":true,"macrop":null},"evil-scroll-page-up":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Scrolls the window COUNT pages upwards.","arglist":["count"],"functionp":true,"macrop":null},"evil-ex-repeat-substitute-with-search-and-flags":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Repeat last substitute command with last search pattern and last flags.\nThis is the same as :s//~/&r","arglist":["beg","end","&optional","flags"],"functionp":true,"macrop":null},"evil-ex-hl-max":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the maximal buffer position of the highlight HL.","arglist":["hl"],"functionp":true,"macrop":null},"evil-exit-visual-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Exit from Visual state to the previous state.\nIf LATER is non-nil, exit after the current command.","arglist":["&optional","later","buffer"],"functionp":true,"macrop":null},"evil-shift-width":{"default":4,"local":true,"default-type":"integer","var-docstring":"The number of columns by which a line is shifted.\nThis applies to the shifting operators \\[>] and \\[<].","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-window-middle":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the middle line in the window\non the first non-blank character.","arglist":null,"functionp":true,"macrop":null},"evil-add-to-alist":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Add the assocation of KEY and VAL to the value of LIST-VAR.\nIf the list already contains an entry for KEY, update that entry;\notherwise add at the end of the list.","arglist":["list-var","key","val","&rest","elements"],"functionp":true,"macrop":null},"evil-digit-argument-or-evil-beginning-of-visual-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-unquote":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return EXP unquoted.","arglist":["exp"],"functionp":true,"macrop":null},"evil-next-line-first-non-blank":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor COUNT lines down on the first non-blank character.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-esc-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Original ESC prefix map in `input-decode-map'.\nUsed by `evil-esc-mode'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-inclusive-string":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return size of inclusive from BEG to END with PROPERTIES.\n\nInclude the character under point.\nIf the end position is at the beginning of a line or the end of a\nline and `evil-want-visual-char-semi-exclusive', then:\n\n* If in visual state return `exclusive' (expanded).","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-search-function":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a search function.\nIf FORWARD is nil, search backward, otherwise forward.\nIf REGEXP-P is non-nil, the input is a regular expression.\nIf WRAP is non-nil, the search wraps around the top or bottom\nof the buffer.","arglist":["&optional","forward","regexp-p","wrap"],"functionp":true,"macrop":null},"evil-display-shell-error-in-message":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Show error output of a shell command in the error buffer.\nIf this variable is non-nil the error output of a shell command\ngoes to the messages buffer instead of being mixed with the\nregular output. This happens only if the exit status of the\ncommand is non-zero.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-selection-for-type":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a Visual selection for TYPE.","arglist":["type"],"functionp":true,"macrop":null},"evil-common":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-active-region":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Toggle active region.\nEnsure that Transient Mark mode is properly enabled.\nEnable with positive ARG, disable with negative ARG.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-ex-hl-min":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the minimal buffer position of the highlight HL.","arglist":["hl"],"functionp":true,"macrop":null},"evil-a-word":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select a word.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-count-lines":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return absolute line-number-difference betweeen `beg` and `end`.\nThis should give the same results no matter where on the line `beg`\nand `end` are.","arglist":["beg","end"],"functionp":true,"macrop":null},"evil-list-view-mode-syntax-table":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Syntax table for `evil-list-view-mode'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-contract":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Contract BEG and END as TYPE with PROPERTIES.\nReturns a list (BEG END TYPE PROPERTIES ...), where the tail\nmay contain a property list.","arglist":["beg","end","type","&rest","properties"],"functionp":true,"macrop":null},"evil-paste-count":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The count argument of the current paste command.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-insert-repeat-info":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Repeat information accumulated during an insertion.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-tree":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The syntax tree.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-eval":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-jumps-struct-idx--cmacro":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"compiler-macro for inlining `evil-jumps-struct-idx'.","arglist":["_cl-whole-arg","cl-x"],"functionp":true,"macrop":null},"evil-save-column":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Restores the column after execution of BODY.\nSee also `evil-save-goal-column'.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-ex-hl-update-highlights-scroll":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Update highlights after scrolling in some window.","arglist":["win","beg"],"functionp":true,"macrop":null},"evil-transform":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Apply TRANSFORM on BEG and END with PROPERTIES.\nReturns a list (BEG END TYPE PROPERTIES ...), where the tail\nmay contain a property list. If TRANSFORM is undefined,\nreturn positions unchanged.","arglist":["transform","beg","end","type","&rest","properties"],"functionp":true,"macrop":null},"evil-search":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search for STRING and highlight matches.\nIf FORWARD is nil, search backward, otherwise forward.\nIf REGEXP-P is non-nil, STRING is taken to be a regular expression.\nSTART is the position to search from; if unspecified, it is\none more than the current position.","arglist":["string","forward","&optional","regexp-p","start"],"functionp":true,"macrop":null},"evil-digraphs-table-user":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"List of user-defined digraphs.\nEntries have the form ((?CHAR1 ?CHAR2) . ?DIGRAPH). That is,\na cons cell of the digraph and its character replacement,\nwhere the digraph is a list of two characters.\nSee also `evil-digraphs-table'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-replace-state-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether the current state is Replace state.\n(That is, whether `evil-state' is `replace'.)","arglist":["&optional","state"],"functionp":true,"macrop":null},"evil-command-window-search-forward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Open a command line window for forward searches.","arglist":null,"functionp":true,"macrop":null},"evil-visual-message":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Create an echo area message for SELECTION.\nSELECTION is a kind of selection as defined by\n`evil-define-visual-selection', such as `char', `line'\nor `block'.","arglist":["&optional","selection"],"functionp":true,"macrop":null},"evil-range-end":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return end of RANGE.","arglist":["range"],"functionp":true,"macrop":null},"evil-visual-post-command":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Run after each COMMAND in Visual state.\nIf COMMAND is a motion, refresh the selection;\notherwise exit Visual state.","arglist":["&optional","command"],"functionp":true,"macrop":null},"evil-get-buffer-tree":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Extracts the buffer tree from a given window tree WINTREE.","arglist":["wintree"],"functionp":true,"macrop":null},"evil-generate-mode-line-tag":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Generate the evil mode-line tag for STATE.","arglist":["&optional","state"],"functionp":true,"macrop":null},"evil-completion-table-concat":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["table1","table2","string","pred","flag"],"functionp":true,"macrop":null},"evil-delay":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute FORM when CONDITION becomes true, checking with HOOK.\nNAME specifies the name of the entry added to HOOK. If APPEND is\nnon-nil, the entry is appended to the hook. If LOCAL is non-nil,\nthe buffer-local value of HOOK is modified.","arglist":["condition","form","hook","&optional","append","local","name"],"functionp":true,"macrop":null},"evil-ex-re-fwd":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search forward for PATTERN.\nReturns the line number of the match.","arglist":["pattern"],"functionp":true,"macrop":null},"evil-normal-state-modes":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Modes that should come up in Normal state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-close-fold":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Close fold at point.\nSee also `evil-open-fold'.","arglist":null,"functionp":true,"macrop":null},"evil-set-range-type":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set RANGE's type to TYPE.\nIf COPY is non-nil, return a copy of RANGE.","arglist":["range","type","&optional","copy"],"functionp":true,"macrop":null},"evil--flyspell-overlays-in-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["beg","end"],"functionp":true,"macrop":null},"evil-split-next-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Splits the window and goes to the COUNT-th next buffer in the buffer list.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-read-digraph-char":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Read two keys from keyboard forming a digraph.\nThis function creates an overlay at (point), hiding the next\nHIDE-CHARS characters. HIDE-CHARS defaults to 1.","arglist":["&optional","hide-chars"],"functionp":true,"macrop":null},"evil-window-top":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to line COUNT from the top of the window\non the first non-blank character.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-downcase-first":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return STR with the first letter downcased.","arglist":["str"],"functionp":true,"macrop":null},"evil-global-marker-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether CHAR denotes a global marker.","arglist":["char"],"functionp":true,"macrop":null},"evil-visual-beginning":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"The beginning of the Visual selection, a marker.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-list-view-mode-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Keymap for `evil-list-view-mode'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-avy-goto-symbol-1":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-symbol-1'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-upcase-first":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return STR with the first letter upcased.","arglist":["str"],"functionp":true,"macrop":null},"evil-end-of-visual-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the last character of the current screen line.\nIf COUNT is given, move COUNT - 1 screen lines downward first.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-ex-hl-update-timer":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Time used for updating highlights.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-search-forward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search forward for user-entered text.\nSearches for regular expression if `evil-regexp-search' is t.\n\nBelow is the documentation string for `isearch-forward',\nwhich lists available keys:\n\nDo incremental search forward.\nWith a prefix argument, do an incremental regular expression search instead.\n\nAs you type characters, they add to the search string and are found.\nThe following non-printing keys are bound in ‘isearch-mode-map’.\n\nType DEL to cancel last input item from end of search string.\nType RET to exit, leaving point at location found.\nType LFD (C-j) to match end of line.\nType C-s to search again forward, C-r to search again backward.\nType M-s M-< to go to the first match, M-s M-> to go to the last match.\nType C-w to yank next word or character in buffer\n onto the end of the search string, and search for it.\nType C-M-d to delete character from end of search string.\nType C-M-y to yank char from buffer onto end of search string and search for it.\nType C-M-z to yank from point until the next instance of a\n specified character onto end of search string and search for it.\nType M-s C-e to yank rest of line onto end of search string and search for it.\nType C-y to yank the last string of killed text.\nType M-y to replace string just yanked into search prompt\n with string killed before it.\nType C-q to quote control character to search for it.\nType C-x 8 RET to add a character to search by Unicode name, with completion.\nC-g while searching or when search has failed cancels input back to what has\n been found successfully.\nC-g when search is successful aborts and moves point to starting point.\n\nIf you try to exit with the search string still empty, it invokes\n nonincremental search.\n\nType M-s c to toggle search case-sensitivity.\nType M-s i to toggle search in invisible text.\nType M-s r to toggle regular-expression mode.\nType M-s w to toggle word mode.\nType M-s _ to toggle symbol mode.\nType M-s ' to toggle character folding.\n\nType M-s SPC to toggle whitespace matching.\nIn incremental searches, a space or spaces normally matches any whitespace\ndefined by the variable ‘search-whitespace-regexp’; see also the variables\n‘isearch-lax-whitespace’ and ‘isearch-regexp-lax-whitespace’.\n\nType M-s e to edit the search string in the minibuffer.\n\nAlso supported is a search ring of the previous 16 search strings.\nType M-n to search for the next item in the search ring.\nType M-p to search for the previous item in the search ring.\nType C-M-i to complete the search string using the search ring.\n\nType M-% to run ‘query-replace’ with string to replace from last search string.\nType C-M-% to run ‘query-replace-regexp’ with the last search string.\nType M-s o to run ‘occur’ that shows the last search string.\nType M-s h r to run ‘highlight-regexp’ that highlights the last search string.\nType M-s h l to run\n ‘highlight-lines-matching-regexp’that highlights lines\n matching the last search string.\n\nType C-h b to display all Isearch key bindings.\nType C-h k to display documentation of Isearch key.\nType C-h m to display documentation of Isearch mode.\n\nIf an input method is turned on in the current buffer, that input\nmethod is also active while you are typing characters to search.\nTo toggle the input method, type C-\\. It also toggles the input\nmethod in the current buffer.\n\nTo use a different input method for searching, type C-^,\nand specify an input method you want to use.\n\nThe above keys, bound in ‘isearch-mode-map’, are often controlled by\n options; do M-x apropos on search-.* to find them.\nOther control and meta characters terminate the search\n and are then executed normally (depending on ‘search-exit-option’).\nLikewise for function keys and mouse button events.\n\nIf this function is called non-interactively with a nil NO-RECURSIVE-EDIT,\nit does not return to the calling function until the search is done.\nSee the function ‘isearch-mode’ for more information.\n\n(fn &optional REGEXP-P NO-RECURSIVE-EDIT)","arglist":null,"functionp":true,"macrop":null},"evil-forward-end":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move forward to end of THING.\nThe motion is repeated COUNT times.","arglist":["thing","&optional","count"],"functionp":true,"macrop":null},"evil-save-mark":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Save the current mark, including whether it is transient.\nSee also `evil-restore-mark'.","arglist":null,"functionp":true,"macrop":null},"evil-a-back-quote":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select a back-quoted expression.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-normalize-position":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return POS if it does not exceed the buffer boundaries.\nIf POS is less than `point-min', return `point-min'.\nIs POS is more than `point-max', return `point-max'.\nIf POS is a marker, return its position.","arglist":["pos"],"functionp":true,"macrop":null},"evil-ex-search-match-beg":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The beginning position of the last match.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-teardown":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Deinitialize Ex minibuffer.\nClean up everything set up by `evil-ex-setup'.","arglist":null,"functionp":true,"macrop":null},"evil-ex-resize":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"The ex :resize command.\n\nIf ARG is a signed positive integer, increase the current window\nheight by ARG.\n\nIf ARG is a signed negative integer, decrease the current window\nheight by ARG.\n\nIf ARG is a positive integer without explicit sign, set the current\nwindow height to ARG.\n\nIf ARG is empty, maximize the current window height.","arglist":["arg"],"functionp":true,"macrop":null},"evil-get-magic":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Returns a regexp matching the magic characters according to MAGIC.\nDepending on the value of MAGIC the following characters are\nconsidered magic.\n t [][{}*+?.&~$^\n nil [][{}*+?$^\n 'very-magic not 0-9A-Za-z_\n 'very-nomagic empty.","arglist":["magic"],"functionp":true,"macrop":null},"evil-declare-change-repeat":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Declare COMMAND to be repeatable by buffer changes rather than\nkeystrokes.","arglist":["command"],"functionp":true,"macrop":null},"evil-add-command-properties":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Add PROPERTIES to COMMAND.\nPROPERTIES should be a property list.\nTo replace all properties at once, use `evil-set-command-properties'.","arglist":["command","&rest","properties"],"functionp":true,"macrop":null},"evil-local-mode-on-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-hl-set-region":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set minimal and maximal position of highlight NAME to BEG and END.","arglist":["name","beg","end","&optional","type"],"functionp":true,"macrop":null},"evil-ex-search-stop-session":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Stop interactive search.","arglist":null,"functionp":true,"macrop":null},"evil-eobp":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether point is at end-of-buffer with regard to end-of-line.","arglist":["&optional","pos"],"functionp":true,"macrop":null},"evil-ex-current-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the line number of the current line.","arglist":null,"functionp":true,"macrop":null},"evil-forward-quote":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move point to the end or beginning of a string.\nQUOTE is the character delimiting the string. If COUNT is greater\nthan zero point is moved forward otherwise it is moved\nbackwards.","arglist":["quote","&optional","count"],"functionp":true,"macrop":null},"evil-ex-argument-completion-at-point":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-avy-goto-char":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-char'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-insert-lines":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if the current insertion command is a line-insertion\ncommand o or O.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-move-beginning-of-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move to the beginning of the line as displayed.\nLike `move-beginning-of-line', but retains the goal column.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-next-flyspell-error":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to the COUNT'th spelling mistake after point.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-remove-command-properties":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Remove PROPERTIES from COMMAND.\nPROPERTIES should be a list of properties (:PROP1 :PROP2 ...).\nIf PROPERTIES is the empty list, all properties are removed.","arglist":["command","&rest","properties"],"functionp":true,"macrop":null},"evil-update-insert-state-bindings":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Update bindings in `evil-insert-state-map'.\nIf no arguments are given add the bindings specified in\n`evil-insert-state-bindings'. If REMOVE is non nil, remove only\nthese bindings. Unless FORCE is non nil, this will not\noverwriting existing bindings, which means bindings will not be\nadded if one already exists for a key and only default bindings\nare removed.\n\nNote that , and `evil-toggle-key' are not\nincluded in `evil-insert-state-bindings' by default.","arglist":["&optional","_option-name","remove","force"],"functionp":true,"macrop":null},"evil-complete-next-func":{"default":"(lambda (arg) (require 'dabbrev) (let ((dabbrev-search-these-buffers-only (unless evil-complete-all-buffers (list (current-buffer)))) dabbrev-case-distinction) (condition-case nil (if (eq last-command this-command) (dabbrev-expand nil) (dabbrev-expand (- (abs (or arg 1))))) (error (dabbrev-expand nil)))))","local":null,"default-type":"cons","var-docstring":"Completion function used by \\\\[evil-complete-next].","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-transform-regexp":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["regexp","replacements-alist"],"functionp":true,"macrop":null},"evil-a-symbol":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select a symbol.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-split-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Splits window and switches to another buffer.","arglist":["buffer"],"functionp":true,"macrop":null},"evil--jumps-window-jumps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hashtable which stores all jumps on a per window basis.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-normal-post-command":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Reset command loop variables in Normal state.\nAlso prevent point from reaching the end of the line.\nIf the region is activated, enter Visual state.","arglist":["&optional","command"],"functionp":true,"macrop":null},"evil-pending-overriding-maps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"An alist of pending overriding maps.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-insert-vcount":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"The information about the number of following lines the\ninsertion should be repeated. This is list (LINE COLUMN COUNT)\nwhere LINE is the line-number where the original insertion\nstarted and COLUMN is either a number or function determining the\ncolumn where the repeated insertions should take place. COUNT is\nnumber of repeats (including the original insertion).","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-shift-left":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Shift text from BEG to END to the left.\nThe text is shifted to the nearest multiple of `evil-shift-width'\n(the rounding can be disabled by setting `evil-shift-round').\nIf PRESERVE-EMPTY is non-nil, lines that contain only spaces are\nindented, too, otherwise they are ignored. The relative column\nof point is preserved if this function is not called\ninteractively. Otherwise, if the function is called as an\noperator, point is moved to the first non-blank character.\nSee also `evil-shift-right'.","arglist":["beg","end","&optional","count","preserve-empty"],"functionp":true,"macrop":null},"evil-states":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-avy-goto-char-timer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-char-timer'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-command-window-insert-commands":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Insert the commands in HIST.","arglist":["hist"],"functionp":true,"macrop":null},"evil-repeat-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The buffer in which the repeat started.\nIf the buffer is changed, the repeat is cancelled.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-operator-state-tag":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Mode line tag for Operator-Pending state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-this-operator":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Current operator.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-get-command-property":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the value of Evil PROPERTY of COMMAND.\nIf the command does not have the property, return DEFAULT.\nSee also `evil-get-command-properties'.","arglist":["command","property","&optional","default"],"functionp":true,"macrop":null},"evil-motion-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute a motion and return the buffer positions.\nThe return value is a list (BEG END TYPE).","arglist":["motion","&optional","count","type"],"functionp":true,"macrop":null},"evil-initial-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the Evil state to use for MODE or its alias.\nReturns DEFAULT if no initial state is associated with MODE.\nThe initial state for a mode can be set with\n`evil-set-initial-state'.\n\nIf FOLLOW-PARENT is non-nil, also check parent modes of MODE and\nits alias. CHECKED-MODES is used internally and should not be set\ninitially.","arglist":["mode","&optional","default","follow-parent","checked-modes"],"functionp":true,"macrop":null},"evil-jump-item":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Find the next item in this line after or under the cursor\nand jump to the corresponding one.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-execute-in-emacs-state-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The buffer of the latest `evil-execute-in-emacs-state'.\nWhen this command is being executed the current buffer is stored\nin this variable. This is necessary in case the Emacs-command to\nbe called changes the current buffer.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-scroll-column-left":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Scrolls the window COUNT columns to the left.","arglist":["count"],"functionp":true,"macrop":null},"evil-previous-visual-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor COUNT screen lines up.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-stop-execute-in-emacs-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-repeat-ring":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"A ring of repeat-informations to repeat the last command.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-search-forward-history":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"History of forward searches.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-substitute-interactive-replace":{"default":"t","local":null,"default-type":"symbol","var-docstring":"If t and substitute patterns are highlighted,\nthe replacement is shown interactively.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-state-entry-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run when entering Visual state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-force-normal-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Switch to normal state without recording current command.","arglist":null,"functionp":true,"macrop":null},"evil-move-end":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move to the end of the COUNT next object.\nIf COUNT is negative, move to the COUNT previous object.\nFORWARD is a function which moves to the end of the object, and\nBACKWARD is a function which moves to the beginning.\nIf one is unspecified, the other is used with a negative argument.\nIf INCLUSIVE is non-nil, then point is placed at the last character\nof the object; otherwise it is placed at the end of the object.","arglist":["count","forward","&optional","backward","inclusive"],"functionp":true,"macrop":null},"evil-ex-yank":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"The Ex yank command.\n[BEG,END]yank [REGISTER] [COUNT]","arglist":["beg","end","&optional","type","register","count","yank-handler"],"functionp":true,"macrop":null},"evil-first-non-blank-of-visual-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the first non blank character\nof the current screen line.","arglist":null,"functionp":true,"macrop":null},"evil-jumps-post-jump-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run just after jumping to a location in the jump list.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-jump-backward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to older position in jump list.\nTo go the other way, press \\\\[evil-jump-forward].","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-ex-global-inverted":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"The Ex vglobal command.\n[BEG,END]vglobal/PATTERN/COMMAND","arglist":["beg","end","&optional","pattern","command","invert"],"functionp":true,"macrop":null},"evil-activate-input-method":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Enable input method in states with :input-method non-nil.","arglist":null,"functionp":true,"macrop":null},"evil-visual-newline-commands":{"default":"(LaTeX-section TeX-font)","local":null,"default-type":"cons","var-docstring":"Commands excluding the trailing newline of a Visual Line selection.\nThese commands work better without this newline.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-info-string":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-execute":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute RESULT as an ex command on `evil-ex-current-buffer'.","arglist":["result"],"functionp":true,"macrop":null},"evil-select-xml-tag":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a range (BEG END) of COUNT matching XML tags.\nIf INCLUSIVE is non-nil, the tags themselves are included\nfrom the range.","arglist":["beg","end","type","&optional","count","inclusive"],"functionp":true,"macrop":null},"evil-move-to-column":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move point to column COLUMN in the current line.\nPlaces point at left of the tab character (at the right if DIR\nis non-nil) and returns point.","arglist":["column","&optional","dir","force"],"functionp":true,"macrop":null},"evil-ex-search-match-end":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The end position of the last match.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-this-motion":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Current motion.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-avy-goto-word-1-above":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-word-1-above'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-command-window-execute-fn":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"The command to execute when exiting the command line window.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-hl-update-highlights":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Update the overlays of all active highlights.","arglist":null,"functionp":true,"macrop":null},"evil-ex-hl-set-overlays":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the list of active overlays of the highlight HL to OVERLAYS.","arglist":["hl","overlays"],"functionp":true,"macrop":null},"evil-ex-repeat-global-substitute":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Repeat last substitute command on the whole buffer.\nThis is the same as :%s//~/&","arglist":null,"functionp":true,"macrop":null},"evil-init-esc":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Update `input-decode-map' in terminal.","arglist":["frame"],"functionp":true,"macrop":null},"evil-shift-right-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Shift the current line COUNT times to the right.\nThe text is shifted to the nearest multiple of\n`evil-shift-width'. Like `evil-shift-right' but always works on\nthe current line.","arglist":["count"],"functionp":true,"macrop":null},"evil-concat-ranges":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Concatenate RANGES.\nRANGES must be a list of ranges. They must be ordered so that\nsuccessive ranges share their boundaries. The return value is a\nsingle range of disjoint union of the ranges or nil if the\ndisjoint union is not a single range.","arglist":["ranges"],"functionp":true,"macrop":null},"evil-repeat-start-record-changes":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Starts the recording of a new set of buffer changes.","arglist":null,"functionp":true,"macrop":null},"evil-ex-search-backward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Starts a forward search.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-ex-pattern-update-replacement":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Update the replacement display.","arglist":["hl","overlay"],"functionp":true,"macrop":null},"evil-repeat-abort":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Abort current repeation.","arglist":null,"functionp":true,"macrop":null},"evil-ex-substitute-overlay":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-version":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The current version of Evil","fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-yank-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Saves whole lines into the kill-ring.","arglist":["beg","end","&optional","type","register"],"functionp":true,"macrop":null},"evil-ex-search-overlay":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The overlay for the current search result.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-block-corner":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Block corner corresponding to POINT, with MARK in opposite corner.\nDepending on POINT and MARK, the return value is `upper-left',\n`upper-right', `lower-left' or `lower-right':\n\n upper-left +---+ upper-right\n | |\n lower-left +---+ lower-right\n\nOne-column or one-row blocks are ambiguous. In such cases,\nthe horizontal or vertical component of CORNER is used.\nCORNER defaults to `upper-left'.","arglist":["&optional","corner","point","mark"],"functionp":true,"macrop":null},"evil-find-char":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move to the next COUNT'th occurrence of CHAR.\nMovement is restricted to the current line unless `evil-cross-lines' is non-nil.","arglist":["&optional","count","char"],"functionp":true,"macrop":null},"evil-mode-line-format":{"default":"before","local":null,"default-type":"symbol","var-docstring":"The position of the state tag in the mode line.\nIf set to `before' or `after', the tag is placed at the beginning\nor the end of the mode-line, respectively. If `nil', there is no\ntag. Otherwise it should be a cons cell (WHERE . WHICH), where\nWHERE is either `before' or `after', and WHICH is a symbol in\n`mode-line-format'. The tag is then placed before or after that\nsymbol, respectively.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-search-offset":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The last search offset.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-change-to-initial-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Change the state of BUFFER to its initial state.\nThis is the state the buffer came up in. If Evil is not activated\nthen this function does nothing.","arglist":["&optional","buffer","message"],"functionp":true,"macrop":null},"evil-insert-state-tag":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Mode line tag for Insert state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-comment":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-hl-get-max":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the maximal position of the highlight with name NAME.","arglist":["name"],"functionp":true,"macrop":null},"evil-visual-screen-line-message":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Linewise selection in `visual-line-mode'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-hl-match-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the match-hook of the highlight HL.","arglist":["hl"],"functionp":true,"macrop":null},"evil-local-mode-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-backward-word-begin":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the beginning of the COUNT-th previous word.\nIf BIGWORD is non-nil, move by WORDS.","arglist":["&optional","count","bigword"],"functionp":true,"macrop":null},"evil-inhibit-esc":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"If non-nil, the \\e event will never be translated to 'escape.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-with-single-undo":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute BODY as a single undo step.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-avy-goto-subword-0":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-subword-0'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-avy-goto-subword-1":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-subword-1'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-ex-complete-emacs-commands":{"default":"in-turn","local":null,"default-type":"symbol","var-docstring":"TAB-completion for Emacs commands in ex command line.\nThis variable determines when Emacs commands are considered for\ncompletion, always, never, or only if no Evil ex command is\navailable for completion.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-repeat":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Repeats the last ex command.","arglist":["count"],"functionp":true,"macrop":null},"evil-ex-current-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The buffer from which Ex was started.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-repeat-keys":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The keys that invoked the current command.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-highlight-closing-paren-at-point-states":{"default":"(not emacs insert replace)","local":null,"default-type":"cons","var-docstring":"The states in which the closing parenthesis at point should be highlighted.\nAll states listed here highlight the closing parenthesis at\npoint (which is Vim's default behavior). All others highlight the\nparenthesis before point (which is Emacs default behavior). If\nthis list contains the symbol `not' then its meaning is inverted,\ni.e. all states listed here highlight the closing parenthesis\nbefore point.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-backward-WORD-end":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the end of the COUNT-th previous WORD.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-ex-substitute-case":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The case behaviour of the search command.\nSmart case means that the pattern is case sensitive if and only\nif it contains an upper case letter, otherwise it is case\ninsensitive. If nil then the setting of `evil-ex-search-case' is\nused.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-set-jump":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set jump point at POS.\nPOS defaults to point.","arglist":["&optional","pos"],"functionp":true,"macrop":null},"evil-show-marks":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Shows all marks.\nIf MRKS is non-nil it should be a string and only registers\ncorresponding to the characters of this string are shown.","arglist":["mrks"],"functionp":true,"macrop":null},"evil-jumps-struct-ring--cmacro":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"compiler-macro for inlining `evil-jumps-struct-ring'.","arglist":["_cl-whole-arg","cl-x"],"functionp":true,"macrop":null},"evil-set-initial-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the initial state for major mode MODE to STATE.\nThis is the state the buffer comes up in.","arglist":["mode","state"],"functionp":true,"macrop":null},"evil-visual-refresh":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Refresh point, mark and Visual variables.\nRefreshes `evil-visual-beginning', `evil-visual-end',\n`evil-visual-mark', `evil-visual-point', `evil-visual-selection',\n`evil-visual-direction', `evil-visual-properties' and `evil-this-type'.","arglist":["&optional","mark","point","type","&rest","properties"],"functionp":true,"macrop":null},"evil--jumps-get-current":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["&optional","window"],"functionp":true,"macrop":null},"evil-range-beginning":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return beginning of RANGE.","arglist":["range"],"functionp":true,"macrop":null},"evil-ex-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether Ex is currently active.","arglist":null,"functionp":true,"macrop":null},"evil-inner-double-quote":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select inner double-quoted expression.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-indent-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Indent the line.","arglist":["beg","end"],"functionp":true,"macrop":null},"evil-forward-sentence-begin":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move to the next COUNT-th beginning of a sentence or end of a paragraph.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-replace-state-cursor":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Cursor for Replace state.\nMay be a cursor type as per `cursor-type', a color string as passed\nto `set-cursor-color', a zero-argument function for changing the\ncursor, or a list of the above.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-update-pending-maps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Tries to set pending special keymaps.\nThis function should be called from an `after-load-functions'\nhook.","arglist":["&optional","file"],"functionp":true,"macrop":null},"evil-next-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Goes to the `count'-th next buffer in the buffer list.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-ex-search-goto-offset":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move point according to search OFFSET and set `evil-this-type' accordingly.\nThis function assumes that the current match data represents the\ncurrent search result.","arglist":["offset"],"functionp":true,"macrop":null},"evil-state-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether SYM is the name of a state.","arglist":["sym"],"functionp":true,"macrop":null},"evil-mouse-start-end":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a list of region bounds based on START and END according to MODE.\nIf MODE is not 1 then set point to (min START END), mark to (max\nSTART END). If MODE is 1 then set point to start of word at (min\nSTART END), mark to end of word at (max START END).","arglist":["start","end","mode"],"functionp":true,"macrop":null},"evil-echo-area-save":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Save the current echo area in `evil-echo-area-message'.","arglist":null,"functionp":true,"macrop":null},"evil-describe-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return description of RANGE.\nIf no description is available, return the empty string.","arglist":["range"],"functionp":true,"macrop":null},"evil-rectangle-expand":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Perform expand transformation on rectangle from BEG to END with PROPERTIES.\n\nLike `exclusive', but for rectangles:\nthe last column is excluded.","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-macros":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-insert-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Enable Insert state. Disable with negative ARG.\nIf ARG is nil, don't display a message in the echo area.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-auxiliary-keymap-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether MAP is an auxiliary keymap.","arglist":["map"],"functionp":true,"macrop":null},"evil-define-visual-selection":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Define a Visual selection SELECTION.\nCreates a command evil-visual-SELECTION for enabling the selection.\nDOC is the function's documentation string. The following keywords\nmay be specified in BODY:\n\n:message STRING Status message when enabling the selection.\n:type TYPE Type to use (defaults to SELECTION).\n\nFollowing the keywords is optional code which is executed each time\nthe selection is enabled.\n\n(fn SELECTION DOC [[KEY VAL]...] BODY...)","arglist":["selection","doc","&rest","body"],"functionp":null,"macrop":true},"evil-insert-digraph":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Insert COUNT digraphs.","arglist":["count"],"functionp":true,"macrop":null},"evil-visual-state-cursor":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Cursor for Visual state.\nMay be a cursor type as per `cursor-type', a color string as passed\nto `set-cursor-color', a zero-argument function for changing the\ncursor, or a list of the above.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-select-paren":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a range (BEG END) of COUNT delimited text objects.\nOPEN and CLOSE specify the opening and closing delimiter,\nrespectively. BEG END TYPE are the currently selected (visual)\nrange. If INCLUSIVE is non-nil, OPEN and CLOSE are included in\nthe range; otherwise they are excluded.\n\nThe types of OPEN and CLOSE specify which kind of THING is used\nfor parsing with `evil-select-block'. If OPEN and CLOSE are\ncharacters `evil-up-paren' is used. Otherwise OPEN and CLOSE\nmust be regular expressions and `evil-up-block' is used.\n\nIf the selection is exclusive, whitespace at the end or at the\nbeginning of the selection until the end-of-line or beginning-of-line\nis ignored.","arglist":["open","close","beg","end","type","count","&optional","inclusive"],"functionp":true,"macrop":null},"evil-lookup-key":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Returns non-nil value if KEY is bound in MAP.","arglist":["map","key"],"functionp":true,"macrop":null},"evil-forward-sentence":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-this-macro":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Current macro register.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-has-command-properties-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether Evil properties are defined for COMMAND.\nSee also `evil-has-command-property-p'.","arglist":["command"],"functionp":true,"macrop":null},"evil-previous-state":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"The Evil state being switched from.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-motion-state-message":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Echo area message for Motion state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil--jumps-buffer-targets":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Regexp to match against `buffer-name' to determine whether it's a valid jump target.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-indent":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Indent text.","arglist":["beg","end"],"functionp":true,"macrop":null},"evil-temporary-undo":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"When undo is disabled in current buffer.\nCertain commands depending on undo use this variable\ninstead of `buffer-undo-list'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-search-setup":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Hook to initialize the minibuffer for ex search.","arglist":null,"functionp":true,"macrop":null},"evil-ac-repeat":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-select-search-module":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Change the search module according to MODULE.\nIf MODULE is `isearch', then Emacs' isearch module is used.\nIf MODULE is `evil-search', then Evil's own interactive\nsearch module is used.","arglist":["option","module"],"functionp":true,"macrop":null},"evil-backspace-join-lines":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether backward delete in insert state may join lines.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-list-view-mode":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Major mode derived from `tabulated-list-mode' by `define-derived-mode'.\nIt inherits all of the parent's attributes, but has its own keymap,\nabbrev table and syntax table:\n\n `evil-list-view-mode-map', `evil-list-view-mode-abbrev-table' and `evil-list-view-mode-syntax-table'\n\nwhich more-or-less shadow tabulated-list-mode's corresponding tables.\n\nIn addition to any hooks its parent mode might have run,\nthis mode runs the hook `evil-list-view-mode-hook', as the final or penultimate step\nduring initialization.\n\n\\{evil-list-view-mode-map}","arglist":null,"functionp":true,"macrop":null},"evil-command-window-search-execute":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search for RESULT using FORWARD to determine direction.","arglist":["result","forward"],"functionp":true,"macrop":null},"evil-forward-word-end":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the end of the COUNT-th next word.\nIf BIGWORD is non-nil, move by WORDS.","arglist":["&optional","count","bigword"],"functionp":true,"macrop":null},"evil-visual-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the Visual selection as a range.\nThis is a list (BEG END TYPE PROPERTIES...), where BEG is the\nbeginning of the selection, END is the end of the selection,\nTYPE is the selection's type, and PROPERTIES is a property list\nof miscellaneous selection attributes.","arglist":null,"functionp":true,"macrop":null},"evil-ex-hl-change":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the regular expression of highlight NAME to PATTERN.","arglist":["name","pattern"],"functionp":true,"macrop":null},"evil-cached-header-line-height":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Cached height of the header line.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-declare-key":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Create a STATE binding from KEY to DEF for KEYMAP.\nSTATE is one of `normal', `insert', `visual', `replace',\n`operator', `motion', `emacs', or a list of one or more of\nthese. Omitting a state by using `nil' corresponds to a standard\nEmacs binding using `define-key'. The remaining arguments are\nlike those of `define-key'. For example:\n\n (evil-define-key 'normal foo-map \"a\" 'bar)\n\nThis creates a binding from \\[a] to `bar' in normal state, which\nis active whenever `foo-map' is active. Using `nil' for the state,\nthe following lead to identical bindings:\n\n (evil-define-key nil foo-map \"a\" 'bar)\n (define-key foo-map \"a\" 'bar)\n\nIt is possible to specify multiple states and/or bindings at\nonce:\n\n (evil-define-key '(normal visual) foo-map\n \"a\" 'bar\n \"b\" 'foo)\n\nIf `foo-map' has not been initialized yet, this macro adds an\nentry to `after-load-functions', delaying execution as necessary.\n\nKEYMAP may also be a quoted symbol. If the symbol is `global', the\nglobal evil keymap corresponding to the state(s) is used, meaning\nthe following lead to identical bindings:\n\n (evil-define-key 'normal 'global \"a\" 'bar)\n (evil-global-set-key 'normal \"a\" 'bar)\n\nThe symbol `local' may also be used, which corresponds to using\n`evil-local-set-key'. If a quoted symbol is used that is not\n`global' or `local', it is assumed to be the name of a minor\nmode, in which case `evil-define-minor-mode-key' is used.","arglist":["state","keymap","key","def","&rest","bindings"],"functionp":null,"macrop":true},"evil-motion-state-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Keymap for Motion state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-char-marker-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["beg","end"],"functionp":true,"macrop":null},"evil-goto-error":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to error number COUNT.\n\nIf no COUNT supplied, move to the current error.\n\nActs like `first-error' other than when given no counts, goes\nto the current error instead of the first, like in Vim's :cc\ncommand.","arglist":["count"],"functionp":true,"macrop":null},"evil-line-expand":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Perform expand transformation on line from BEG to END with PROPERTIES.\n\nInclude whole lines.","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-a-double-quote":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select a double-quoted expression.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-respect-visual-line-mode":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Whether movement commands respect `visual-line-mode'.\nIf non-nil, `visual-line-mode' is generally respected when it is\non. In this case, motions such as \\[j] and \\[k] navigate by\nvisual lines (on the screen) rather than \"physical\"\nlines (defined by newline characters). If `nil', the setting of\n`visual-line-mode' is ignored.\n\nThis variable must be set before Evil is loaded.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-scroll-line-to-center":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Scrolls line number COUNT (or the cursor line) to the center of the window.","arglist":["count"],"functionp":true,"macrop":null},"evil-window-set-width":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Sets the width of the current window to COUNT.","arglist":["count"],"functionp":true,"macrop":null},"evil-ex-start-word-search":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search for the symbol under point.\nThe search matches the COUNT-th occurrence of the word. If the\nUNBOUNDED argument is nil, the search matches only at symbol\nboundaries, otherwise it matches anywhere. The DIRECTION\nargument should be either `forward' or `backward', determining\nthe search direction. If SYMBOL is non-nil then the functions\nsearches for the symbol at point, otherwise for the word at\npoint.","arglist":["unbounded","direction","count","&optional","symbol"],"functionp":true,"macrop":null},"evil-window-vnew":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Splits the current window vertically\nand opens a new buffer name or edits a certain FILE.","arglist":["count","file"],"functionp":true,"macrop":null},"evil-save-goal-column":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Restores the goal column after execution of BODY.\nSee also `evil-save-column'.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-ex-search-history":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The history for the search command.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-overlay":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Overlay for highlighting the Visual selection.\nNot used for blockwise selections, in which case\nsee `evil-visual-block-overlays'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-avy-goto-word-1-below":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-word-1-below'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-visual-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"*Linewise selection.","fn-docstring":"Linewise selection.","arglist":["&optional","mark","point","type","message"],"functionp":true,"macrop":null},"evil-deactivate-input-method":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Disable input method in all states.","arglist":null,"functionp":true,"macrop":null},"evil-initial-state-for-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the initial Evil state to use for BUFFER.\nBUFFER defaults to the current buffer. Returns DEFAULT\nif no initial state is associated with BUFFER.\nSee also `evil-initial-state'.","arglist":["&optional","buffer","default"],"functionp":true,"macrop":null},"evil-emacs-state-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether the current state is Emacs state.\n(That is, whether `evil-state' is `emacs'.)","arglist":["&optional","state"],"functionp":true,"macrop":null},"evil-visual-restore":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Restore previous selection.","arglist":null,"functionp":true,"macrop":null},"evil-emacs-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Enable Emacs state. Disable with negative ARG.\nIf ARG is nil, don't display a message in the echo area.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-ex-substitute-highlight-all":{"default":"t","local":null,"default-type":"symbol","var-docstring":"If t all matches for the substitute pattern are highlighted.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-plist-delete":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Delete by side effect the property PROP from PLIST.\nIf PROP is the first property in PLIST, there is no way\nto remove it by side-effect; therefore, write\n(setq foo (evil-plist-delete :prop foo)) to be sure of\nchanging the value of `foo'.","arglist":["prop","plist"],"functionp":true,"macrop":null},"evil-signal-at-bob-or-eob":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Signals error if `point' is at boundaries.\nIf `point' is at bob and COUNT is negative this function signal\n'beginning-of-buffer. If `point' is at eob and COUNT is positive\nthis function singal 'end-of-buffer. This function should be used\nin motions. COUNT defaults to 1.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil--flyspell-overlay-at":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["pos","forwardp"],"functionp":true,"macrop":null},"evil-goto-first-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to the first non-blank character of line COUNT.\nBy default the first line.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-ex-cmd":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The current Ex command string.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-inner-word":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select inner word.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-visual-block-message":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Blockwise selection.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-shell-argument-initialized":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"This variable is set to t if shell command completion has been initialized.\nSee `evil-ex-init-shell-argument-completion'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-command-window-cmd-key":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"The key for the command that opened the command line window (:, /, or ?).","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-lazy-highlight":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-a-paren":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select a parenthesis.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-delete-backward-word":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Delete previous word.","arglist":null,"functionp":true,"macrop":null},"evil-replace-backspace":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Restore character under cursor.","arglist":null,"functionp":true,"macrop":null},"evil-ex-substitute-current-replacement":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The actual replacement.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil--preceding-sexp":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"In normal-state or motion-state, last sexp ends at point.","arglist":["command","&rest","args"],"functionp":true,"macrop":null},"evil-forward-char":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move cursor to the right by COUNT characters.\nMovement is restricted to the current line unless CROSSLINES is non-nil.\nIf NOERROR is non-nil, don't signal an error upon reaching the end\nof the line or the buffer; just return nil.","arglist":["&optional","count","crosslines","noerror"],"functionp":true,"macrop":null},"evil-operator-state-local-minor-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if Operator-Pending state is enabled.\nUse the command `evil-operator-state' to change this variable.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-replace-special-filenames":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Replace special symbols in FILE-NAME.\nReplaces % by the current file-name,\nReplaces # by the alternate file-name in FILE-NAME.","arglist":["file-name"],"functionp":true,"macrop":null},"evil-command-properties":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Specifications made by `evil-define-command'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-state-minor-mode-keymaps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a keymap alist of minor-mode keymaps for STATE.","arglist":["state"],"functionp":true,"macrop":null},"evil-normal-state-cursor":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Cursor for Normal state.\nMay be a cursor type as per `cursor-type', a color string as passed\nto `set-cursor-color', a zero-argument function for changing the\ncursor, or a list of the above.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil--jumps-savehist-load":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-visual-direction":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Whether point follows mark in Visual state.\nNegative if point precedes mark, otherwise positive.\nSee also the function `evil-visual-direction'.","fn-docstring":"Return direction of Visual selection.\nThe direction is -1 if point precedes mark and 1 otherwise.\nSee also the variable `evil-visual-direction', which holds\nthe direction of the last selection.","arglist":null,"functionp":true,"macrop":null},"evil-command-window-execute":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute the command under the cursor in the appropriate buffer.\nThe local var `evil-command-window-execute-fn' determines which\nfunction to execute.","arglist":null,"functionp":true,"macrop":null},"evil-forward-quote-char":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The character to be used by `forward-evil-quote'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-pre-command":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Run before each COMMAND in Visual state.\nExpand the region to the selection unless COMMAND is a motion.","arglist":["&optional","command"],"functionp":true,"macrop":null},"evil-repeat-pop":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Replace the just repeated command with a previously executed command.\nOnly allowed after `evil-repeat', `evil-repeat-pop' or\n`evil-repeat-pop-next'. Uses the same repeat count that\nwas used for the first repeat.\n\nThe COUNT argument inserts the COUNT-th previous kill.\nIf COUNT is negative, this is a more recent kill.","arglist":["count","&optional","save-point"],"functionp":true,"macrop":null},"evil-ex-line-number":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Print the last line number.","arglist":["beg","end"],"functionp":true,"macrop":null},"evil-repeat-pos":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The position of point at the beginning of an change-tracking\n editing command.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-mode":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Non-nil if Evil mode is enabled.\nSee the `evil-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `evil-mode'.","fn-docstring":"This function has :around advice: ‘ad-Advice-evil-mode’.\n\nToggle Evil-Local mode in all buffers.\nWith prefix ARG, enable Evil mode if ARG is positive;\notherwise, disable it. If called from Lisp, enable the mode if\nARG is omitted or nil.\n\nEvil-Local mode is enabled in all buffers where\n`evil-initialize' would do it.\nSee `evil-local-mode' for more information on Evil-Local mode.\n\n(fn &optional ARG)","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-inner-text-objects-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Keymap for inner text objects.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil--next-flyspell-error":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["forwardp"],"functionp":true,"macrop":null},"evil-delete-marks":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Delete all marks.\nMARKS is a string denoting all marks to be deleted. Mark names are\neither single characters or a range of characters in the form A-Z.\n\nIf FORCE is non-nil all local marks except 0-9 are removed.\n","arglist":["marks","&optional","force"],"functionp":true,"macrop":null},"evil-without-repeat":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-set-selection":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Make an X selection of type TYPE and value DATA.\nThe argument TYPE (nil means `PRIMARY') says which selection, and\nDATA specifies the contents. TYPE must be a symbol. (It can also\nbe a string, which stands for the symbol with that name, but this\nis considered obsolete.) DATA may be a string, a symbol, an\ninteger (or a cons of two integers or list of two integers).\n\nThe selection may also be a cons of two markers pointing to the same buffer,\nor an overlay. In these cases, the selection is considered to be the text\nbetween the markers *at whatever time the selection is examined*.\nThus, editing done in the buffer after you specify the selection\ncan alter the effective value of the selection.\n\nThe data may also be a vector of valid non-vector selection values.\n\nThe return value is DATA.\n\nInteractively, this command sets the primary selection. Without\nprefix argument, it reads the selection in the minibuffer. With\nprefix argument, it uses the text of the region as the selection value.\n\nNote that on MS-Windows, primary and secondary selections set by Emacs\nare not available to other programs.\n\n(fn TYPE DATA)","arglist":["arg1","arg2"],"functionp":true,"macrop":null},"evil-set-auxiliary-keymap":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the auxiliary keymap for MAP in STATE to AUX.\nIf AUX is nil, create a new auxiliary keymap.","arglist":["map","state","&optional","aux"],"functionp":true,"macrop":null},"evil-quit-all-with-error-code":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Exits Emacs without saving, returning an non-zero error code.\nThe FORCE argument is only there for compatibility and is ignored.\nThis function fails with an error if Emacs is run in server mode.","arglist":["&optional","force"],"functionp":true,"macrop":null},"evil-type-properties":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Specifications made by `evil-define-type'.\nEntries have the form (TYPE . PLIST), where PLIST is a property\nlist specifying functions for handling the type: expanding it,\ndescribing it, etc.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-search-start-point":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The point where the search started.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-char-message":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Characterwise selection.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-want-C-u-scroll":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Whether \\[C-u] scrolls up (like Vim).\nOtherwise, \\[C-u] applies a prefix argument. The binding of\n\\[C-u] mirrors Emacs behaviour by default due to the relative\nubiquity of prefix arguments.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-set-marker":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the marker denoted by CHAR to position POS.\nPOS defaults to the current position of point.\nIf ADVANCE is t, the marker advances when inserting text at it;\notherwise, it stays behind.","arglist":["char","&optional","pos","advance"],"functionp":true,"macrop":null},"evil-stop-track-last-insertion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Stop tracking the last insertion.\nThe tracked insertion is set to `evil-last-insertion'.","arglist":null,"functionp":true,"macrop":null},"evil-replace-state-minor-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if Replace state is enabled.\nUse the command `evil-replace-state' to change this variable.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-normal-state-minor-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if Normal state is enabled.\nUse the command `evil-normal-state' to change this variable.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-scroll-top-line-to-bottom":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Scrolls the line right below the window,\nor line COUNT to the top of the window.","arglist":["count"],"functionp":true,"macrop":null},"evil-last-small-deletion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The last piece of deleted text.\nThe text should be less than a line.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-fill":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Fill text.","arglist":["beg","end"],"functionp":true,"macrop":null},"evil-ex-syntactic-context":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the syntactical context of the character at POS.\nPOS defaults to the current position of point.","arglist":["&optional","pos"],"functionp":true,"macrop":null},"evil-ex-substitute-hl":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-search-direction":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The direction of the current search, either 'forward or 'backward.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-last-non-blank":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the last non-blank character of the current line.\nIf COUNT is given, move COUNT - 1 lines downward first.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-repeat-insert-at-point-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["beg","end","length"],"functionp":true,"macrop":null},"evil-ex-delete":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"The Ex delete command.\n[BEG,END]delete [REGISTER] [COUNT]","arglist":["beg","end","&optional","type","register","count","yank-handler"],"functionp":true,"macrop":null},"evil-visual-point":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"The position of point in Visual state, a marker.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-screen-line-expand":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Perform expand transformation on screen-line from BEG to END with PROPERTIES.\n\nInclude whole lines, being aware of `visual-line-mode'\nwhen `evil-respect-visual-line-mode' is non-nil.","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-list-view-goto-entry":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-move":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move lines in BEG END below line given by ADDRESS.","arglist":["beg","end","address"],"functionp":true,"macrop":null},"evil-ex-search-unbounded-word-forward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search for the next occurrence of word under the cursor.","arglist":["&optional","count","symbol"],"functionp":true,"macrop":null},"evil-set-keymap-prompt":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the prompt-string of MAP to PROMPT.","arglist":["map","prompt"],"functionp":true,"macrop":null},"evil-command-window-ex-execute":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute RESULT as an ex command in the appropriate buffer.","arglist":["result"],"functionp":true,"macrop":null},"evil-yank":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Saves the characters in motion into the kill-ring.","arglist":["beg","end","&optional","type","register","yank-handler"],"functionp":true,"macrop":null},"evil-shift-round":{"default":"t","local":true,"default-type":"symbol","var-docstring":"Whether shifting rounds to the nearest multiple.\nIf non-nil, \\[>] and \\[<] adjust line indentation to the\nnearest multiple of `evil-shift-width'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-read-key-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Keymap active during `evil-read-key'.\nThis keymap can be used to bind some commands during the\nexecution of `evil-read-key' which is usually used to read a\ncharacter argument for some commands, e.g. `evil-replace'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-block-rotate":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Perform rotate transformation on block from BEG to END with PROPERTIES.\n\nRotate block according to :corner property.\n:corner can be one of `upper-left',``upper-right', `lower-left'\nand `lower-right'.\n\nLike `inclusive', but for rectangles:\nthe last column is included.","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-minor-mode-keymaps-alist":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Association list of Evil states to minor-mode keymap alists.\nEntries have the form (STATE . MODE-MAP-ALIST), where\nMODE-MAP-ALIST is an alist taking the form of\n`minor-mode-map-alist'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-define-keymap":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Define a keymap KEYMAP listed in `evil-mode-map-alist'.\nThat means it will have precedence over regular keymaps.\n\nDOC is the documentation for the variable. BODY, if specified,\nis executed after toggling the mode. Optional keyword arguments\nmay be specified before the body code:\n\n:mode VAR Mode variable. If unspecified, the variable\n is based on the keymap name.\n:local BOOLEAN Whether the keymap should be buffer-local, that is,\n reinitialized for each buffer.\n:func BOOLEAN Create a toggle function even if BODY is empty.\n\n(fn KEYMAP DOC [[KEY VAL]...] BODY...)","arglist":["keymap","doc","&rest","body"],"functionp":null,"macrop":true},"evil-append-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Switch to Insert state at the end of the current line.\nThe insertion will be repeated COUNT times. If VCOUNT is non nil\nit should be number > 0. The insertion will be repeated in the\nnext VCOUNT - 1 lines below the current one.","arglist":["count","&optional","vcount"],"functionp":true,"macrop":null},"evil-toggle-key":{"default":"C-z","local":null,"default-type":"string","var-docstring":"The key used to change to and from Emacs state.\nMust be readable by `read-kbd-macro'. For example: \"C-z\".","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-insert":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Switch to Insert state just before point.\nThe insertion will be repeated COUNT times and repeated once for\nthe next VCOUNT - 1 lines starting at the same column.\nIf SKIP-EMPTY-LINES is non-nil, the insertion will not be performed\non lines on which the insertion point would be after the end of the\nlines. This is the default behaviour for Visual-state insertion.","arglist":["count","&optional","vcount","skip-empty-lines"],"functionp":true,"macrop":null},"evil-paste-last-insertion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Paste last insertion.","arglist":null,"functionp":true,"macrop":null},"evil-operator-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Enable Operator-Pending state. Disable with negative ARG.\nIf ARG is nil, don't display a message in the echo area.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-want-visual-char-semi-exclusive":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Visual character selection to beginning/end of line is exclusive.\nIf non nil then an inclusive visual character selection which\nends at the beginning or end of a line is turned into an\nexclusive selection. Thus if the selected (inclusive) range ends\nat the beginning of a line it is changed to not include the first\ncharacter of that line, and if the selected range ends at the end\nof a line it is changed to not include the newline character of\nthat line.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-inner-tag":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select inner tag block.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-motion-state-local-minor-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if Motion state is enabled.\nUse the command `evil-motion-state' to change this variable.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-backward-end":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move backward to end of THING.\nThe motion is repeated COUNT times. This is the same as calling\n`evil-backward-end' with -COUNT.","arglist":["thing","&optional","count"],"functionp":true,"macrop":null},"evil-initialize-local-keymaps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Initialize a buffer-local value for local keymaps as necessary.\nThe initial value is that of `make-sparse-keymap'.","arglist":null,"functionp":true,"macrop":null},"evil-ex-search-activate-highlight":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Activate highlighting of the search pattern set to PATTERN.\nThis function does nothing if `evil-ex-search-interactive' or\n`evil-ex-search-highlight-all' is nil. ","arglist":["pattern"],"functionp":true,"macrop":null},"evil-inner-paren":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select inner parenthesis.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-restore-mark":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Restore the mark, including whether it was transient.\nSee also `evil-save-mark'.","arglist":null,"functionp":true,"macrop":null},"evil-with-hproject-point-on-window":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Project point after BODY to current window.\nIf point is on a position left or right of the current window\nthen it is moved to the left and right boundary of the window,\nrespectively. If `auto-hscroll-mode' is non-nil then the left and\nright positions are increased or decreased, respectively, by\n`horizontal-margin' so that no automatic scrolling occurs.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-local":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-pending-intercept-maps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"An alist of pending intercept maps.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-window-move-far-right":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Closes the current window, splits the lower-right one vertically\nand redisplays the current buffer there.","arglist":null,"functionp":true,"macrop":null},"evil-outer-text-objects-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Keymap for outer text objects.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-keymap-for-mode":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the keymap associated with MODE.\nReturn the keymap variable if VARIABLE is non-nil.\nSee also `evil-mode-for-keymap'.","arglist":["mode","&optional","variable"],"functionp":true,"macrop":null},"evil-insert-state-local-minor-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if Insert state is enabled.\nUse the command `evil-insert-state' to change this variable.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-repeat-force-abort-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Returns non-nil iff the current command should abort the recording of repeat information.","arglist":["repeat-type"],"functionp":true,"macrop":null},"evil-ex-repeat-substitute-with-search":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Repeat last substitute command with last search pattern.\nThis is the same as :s//~/r","arglist":["beg","end","&optional","flags"],"functionp":true,"macrop":null},"evil-ex-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The current range of the Ex command.","fn-docstring":"Returns the first and last position of the current range.","arglist":["beg-line","&optional","end-line"],"functionp":true,"macrop":null},"evil-scroll-up":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Scrolls the window and the cursor COUNT lines upwards.\nIf COUNT is not specified the function scrolls down\n`evil-scroll-count', which is the last used count.\nIf the scroll count is zero the command scrolls half the screen.","arglist":["count"],"functionp":true,"macrop":null},"evil-this-motion-count":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Current motion count.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-join":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Join the selected lines with optional COUNT and BANG.","arglist":["beg","end","&optional","count","bang"],"functionp":true,"macrop":null},"evil-ex-search-exit":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Exit interactive search, keeping lazy highlighting active.","arglist":null,"functionp":true,"macrop":null},"evil-":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-search-abort":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Abort interactive search, disabling lazy highlighting.","arglist":null,"functionp":true,"macrop":null},"evil-cjk-word-combining-categories":{"default":"((nil . 94) (94) (114 . 107) (114 . 65) (114 . 71) (107 . 114) (107 . 65) (107 . 71) (65 . 114) (65 . 107) (65 . 71) (71 . 114) (71 . 107) (71 . 65))","local":null,"default-type":"cons","var-docstring":"List of pair (cons) of categories to determine word boundary\nused in `evil-cjk-word-boundary-p'. See the documentation of\n`word-combining-categories'. Use `describe-categories' to see the\nlist of categories.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-delete-char":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Delete next character.","arglist":["beg","end","&optional","type","register"],"functionp":true,"macrop":null},"evil-ex-delete-hl":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Remove the highlighting object with a certain NAME.","arglist":["name"],"functionp":true,"macrop":null},"evil-with-view-list":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Opens new list view buffer.\n\nPROPERTIES is a property-list which supports the following properties:\n\n:name (required) The name of the buffer.\n:mode-name (required) The name for the mode line.\n:format (required) The value for `tabulated-list-format'.\n:entries (required) The value for `tabulated-list-entries'.\n:select-action (optional) A function for row selection.\n It takes in a single parameter, which is the selected row's\n vector value that is passed into `:entries'.\n","arglist":["&rest","properties"],"functionp":null,"macrop":true},"evil-this-register":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Current register.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-set-custom-state-maps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Changes the list of special keymaps.\nVAR is the variable containing the list of keymaps.\nPENDING-VAR is the variable containing the list of the currently pending\n keymaps.\nKEY the special symbol to be stored in the keymaps.\nMAKE the creation function of the special keymaps.\nNEWLIST the list of new special keymaps.","arglist":["var","pending-var","key","make","newlist"],"functionp":true,"macrop":null},"evil-type-property":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return property PROP for TYPE.","arglist":["type","prop"],"functionp":true,"macrop":null},"evil-search-word":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search for word near point.\nIf FORWARD is nil, search backward, otherwise forward. If SYMBOL\nis non-nil then the functions searches for the symbol at point,\notherwise for the word at point.","arglist":["forward","unbounded","symbol"],"functionp":true,"macrop":null},"evil-mode-map-alist":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Association list of keymaps to use for Evil modes.\nElements have the form (MODE . KEYMAP), with the first keymaps\nhaving higher priority.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-local-mode-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hook run after entering or leaving `evil-local-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-parser":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Parse STRING as a SYMBOL in GRAMMAR.\nIf GREEDY is non-nil, the whole of STRING must match.\nIf the parse succeeds, the return value is a cons cell\n(RESULT . TAIL), where RESULT is a parse tree and TAIL is\nthe remainder of STRING. Otherwise, the return value is nil.\n\nGRAMMAR is an association list of symbols and their definitions.\nA definition is either a list of production rules, which are\ntried in succession, or a #'-quoted function, which is called\nto parse the input.\n\nA production rule can be one of the following:\n\n nil matches the empty string.\n A regular expression matches a substring.\n A symbol matches a production for that symbol.\n (X Y) matches X followed by Y.\n (\\? X) matches zero or one of X.\n (* X) matches zero or more of X.\n (+ X) matches one or more of X.\n (& X) matches X, but does not consume.\n (! X) matches anything but X, but does not consume.\n\nThus, a simple grammar may look like:\n\n ((plus \"\\\\+\") ; plus <- \"+\"\n (minus \"-\") ; minus <- \"-\"\n (operator plus minus)) ; operator <- plus / minus\n\nAll input-consuming rules have a value. A regular expression evaluates\nto the text matched, while a list evaluates to a list of values.\nThe value of a list may be overridden with a semantic action, which is\nspecified with a #'-quoted expression at the end:\n\n (X Y #'foo)\n\nThe value of this rule is the result of calling foo with the values\nof X and Y as arguments. Alternatively, the function call may be\nspecified explicitly:\n\n (X Y #'(foo $1 $2))\n\nHere, $1 refers to X and $2 refers to Y. $0 refers to the whole list.\nDollar expressions can also be used directly:\n\n (X Y #'$1)\n\nThis matches X followed by Y, but ignores the value of Y;\nthe value of the list is the same as the value of X.\n\nIf the SYNTAX argument is non-nil, then all semantic actions\nare ignored, and a syntax tree is constructed instead. The\nsyntax tree obeys the property that all the leave nodes are\nparts of the input string. Thus, by traversing the syntax tree,\none can determine how each character was parsed.\n\nThe following symbols have reserved meanings within a grammar:\n`\\?', `*', `+', `&', `!', `function', `alt', `seq' and nil.","arglist":["string","symbol","grammar","&optional","greedy","syntax"],"functionp":true,"macrop":null},"evil-open-fold":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Open fold at point.\nSee also `evil-close-fold'.","arglist":null,"functionp":true,"macrop":null},"evil-inhibit-operator-value":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"This variable is used to transfer the value\nof `evil-inhibit-operator' from one local scope to another.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-replace-state-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Keymap for Replace state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-replace":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Replace text from BEG to END with CHAR.","arglist":["beg","end","&optional","type","char"],"functionp":true,"macrop":null},"evil-ex":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Enter an Ex command.\nThe ex command line is initialized with the value of\nINITIAL-INPUT. If the command is called interactively the initial\ninput depends on the current state. If the current state is\nnormal state and no count argument is given then the initial\ninput is empty. If a prefix count is given the initial input is\n.,.+count. If the current state is visual state then the initial\ninput is the visual region '<,'> or `<,`>. If the value of the\nglobal variable `evil-ex-initial-input' is non-nil, its content\nis appended to the line.","arglist":["&optional","initial-input"],"functionp":true,"macrop":null},"evil-beginning-of-line-or-digit-argument":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the beginning of the current line.\nThis function passes its command to `digit-argument' (usually a 0)\nif it is not the first event.","arglist":null,"functionp":true,"macrop":null},"evil-ex-pattern-update-ex-info":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Update the Ex info string.","arglist":["hl","result"],"functionp":true,"macrop":null},"evil-show-registers":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Shows the contents of all registers.","arglist":null,"functionp":true,"macrop":null},"evil-state-overriding-keymaps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a keymap alist of overriding keymaps for STATE.","arglist":["&optional","state"],"functionp":true,"macrop":null},"evil-forward-nearest":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Moves point forward to the first of several motions.\nFORWARDS is a list of forward motion functions (i.e. each moves\npoint forward to the next end of a text object (if passed a +1)\nor backward to the preceeding beginning of a text object (if\npassed a -1)). This function calls each of these functions once\nand moves point to the nearest of the resulting positions. If\nCOUNT is positive point is moved forward COUNT times, if negative\npoint is moved backward -COUNT times.","arglist":["count","&rest","forwards"],"functionp":true,"macrop":null},"evil-jumps-struct-idx":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Access slot \"idx\" of `evil-jumps-struct' struct CL-X.","arglist":["cl-x"],"functionp":true,"macrop":null},"evil-ex-search-word-forward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search for the next occurrence of word under the cursor.","arglist":["&optional","count","symbol"],"functionp":true,"macrop":null},"evil-visual-highlight-block":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Highlight rectangular region from BEG to END.\nDo this by putting an overlay on each line within the rectangle.\nEach overlay extends across all the columns of the rectangle.\nReuse overlays where possible to prevent flicker.","arglist":["beg","end","&optional","overlays"],"functionp":true,"macrop":null},"evil-emacs-state-minor-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if Emacs state is enabled.\nUse the command `evil-emacs-state' to change this variable.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-pattern-ignore-case":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return t if and only if PATTERN should ignore case.","arglist":["pattern"],"functionp":true,"macrop":null},"evil-ex-search-update-pattern":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Update the current search pattern.","arglist":["beg","end","range"],"functionp":true,"macrop":null},"evil-ex-expression":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The evaluation tree.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-esc-delay":{"default":0.01,"local":null,"default-type":"float","var-docstring":"The time, in seconds, to wait for another key after escape.\nIf no further event arrives during this time, the event is\ntranslated to \\[ESC]. Otherwise, it is translated according to\n`input-decode-map'. This does not apply in Emacs state, and may\nalso be inhibited by setting `evil-inhibit-esc'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-a-curly":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select a curly bracket (\"brace\").","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-input-method":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Input method used in Insert state and Emacs state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-hl-face":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the face of the highlight HL.","arglist":["hl"],"functionp":true,"macrop":null},"evil-flash-timer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Timer for flashing search results.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-end-of-line-or-visual-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the last character of the current screen\nline if `visual-line-mode' is active and\n`evil-respect-visual-line-mode' is non-nil. If COUNT is given,\nmove COUNT - 1 screen lines downward first.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-repeat-visual-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Restores a character visual selection.\nIf the selection is in a single line, the restored visual\nselection covers the same number of characters. If the selection\ncovers several lines, the restored selection covers the same\nnumber of lines and the same number of characters in the last\nline as the original selection.","arglist":["nfwdlines"],"functionp":true,"macrop":null},"evil--jumps-savehist-sync":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Updates the printable value of window jumps for `savehist'.","arglist":null,"functionp":true,"macrop":null},"evil-complete-next":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Complete to the nearest following word.\nSearch backward if a match isn't found.\nCalls `evil-complete-next-func'.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-with-transient-mark-mode":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute BODY with Transient Mark mode.\nThen restore Transient Mark mode to its previous setting.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-inner-single-quote":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select inner single-quoted expression.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-type":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the type of OBJECT, or DEFAULT if none.","arglist":["object","&optional","default"],"functionp":true,"macrop":null},"evil-expand-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Expand RANGE according to its type.\nReturn a new range if COPY is non-nil.","arglist":["range","&optional","copy"],"functionp":true,"macrop":null},"evil-repeat-ex-search":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Called to record a search command.\nFLAG is either 'pre or 'post if the function is called before\nresp. after executing the command.","arglist":["flag"],"functionp":true,"macrop":null},"evil-list-view-mode-abbrev-table":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Abbrev table for `evil-list-view-mode'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-delete-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Deletes a buffer.\nAll windows currently showing this buffer will be closed except\nfor the last window in each frame.","arglist":["buffer","&optional","bang"],"functionp":true,"macrop":null},"evil-repeat-pop-next":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Same as `evil-repeat-pop', but with negative COUNT.","arglist":["count","&optional","save-point"],"functionp":true,"macrop":null},"evil-send-leader":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Put symbol leader in `unread-command-events' to trigger any\n bindings.","arglist":null,"functionp":true,"macrop":null},"evil-sentence":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil--jumps-get-window-jump-list":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-visual-select":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Create a Visual selection of type TYPE from BEG to END.\nPoint and mark are positioned so that the resulting selection\nhas the specified boundaries. If DIR is negative, point precedes mark,\notherwise it succedes it. To specify point and mark directly,\nuse `evil-visual-make-selection'.","arglist":["beg","end","&optional","type","dir","message"],"functionp":true,"macrop":null},"evil-interactive-alist":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Association list of Evil-specific interactive codes.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-motion-state-tag":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Mode line tag for Motion state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-grammar":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Grammar for Ex.\nAn association list of syntactic symbols and their definitions.\nThe first entry is the start symbol. A symbol's definition may\nreference other symbols, but the grammar cannot contain\nleft recursion. See `evil-parser' for a detailed explanation\nof the syntax.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-search-wrap":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether search with \\[/] and \\[?] wraps around the buffer.\nIf this is non-nil, search stops at the buffer boundaries.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-full-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a range encompassing the whole buffer.","arglist":null,"functionp":true,"macrop":null},"evil--jumps-push":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Pushes the current cursor/file position to the jump list.","arglist":null,"functionp":true,"macrop":null},"evil-ex-setup-and-update":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Initialize Ex minibuffer with `evil-ex-setup', then call `evil-ex-update'.","arglist":null,"functionp":true,"macrop":null},"evil-auto-indent":{"default":"t","local":true,"default-type":"symbol","var-docstring":"Whether to auto-indent when opening lines with \\[o] and \\[O].","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-point":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The position of `point' when the ex command has been called.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-up-paren":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move point to the end or beginning of balanced parentheses.\nOPEN and CLOSE should be characters identifying the opening and\nclosing parenthesis, respectively. If COUNT is greater than zero\npoint is moved forward otherwise it is moved backwards. Whenever\nan opening delimiter is found the COUNT is increased by one, if a\nclosing delimiter is found the COUNT is decreased by one. The\nmotion stops when COUNT reaches zero. The match-data reflects the\nlast successful match (that caused COUNT to reach zero).","arglist":["open","close","&optional","count"],"functionp":true,"macrop":null},"evil-complete-next-line-func":{"default":"(lambda (arg) (let ((hippie-expand-try-functions-list '(try-expand-line try-expand-line-all-buffers))) (hippie-expand arg)))","local":null,"default-type":"cons","var-docstring":"Minibuffer completion function used by \\\\[evil-complete-next-line].","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-concat-keymap-alists":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Concatenate keymap association lists, removing duplicates.\nA keymap alist is a list of cons cells (VAR . MAP) where each keymap\nmay occur only once, but where the variables may be repeated\n(e.g., (VAR . MAP1) (VAR . MAP2) is allowed). The order matters,\nwith the highest priority keymaps being listed first.","arglist":["&rest","sequences"],"functionp":true,"macrop":null},"evil-overriding-keymap-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether MAP is an overriding keymap for STATE.\nIf STATE is nil, it means any state.","arglist":["map","&optional","state"],"functionp":true,"macrop":null},"evil-ex-make-search-pattern":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Creates a PATTERN for search.\nThis function respects the values of `evil-ex-search-case'.","arglist":["regexp"],"functionp":true,"macrop":null},"evil-ex-command-force-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether COMMAND accepts the bang argument.","arglist":["command"],"functionp":true,"macrop":null},"evil-expand":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Expand BEG and END as TYPE with PROPERTIES.\nReturns a list (BEG END TYPE PROPERTIES ...), where the tail\nmay contain a property list.","arglist":["beg","end","type","&rest","properties"],"functionp":true,"macrop":null},"evil-complete-previous-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Complete a whole line.\nCalls `evil-complete-previous-line-func'.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-scroll-bottom-line-to-top":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Scrolls the line right below the window,\nor line COUNT to the top of the window.","arglist":["count"],"functionp":true,"macrop":null},"evil-overriding-keymap-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the state for the overriding keymap MAP.\nA return value of t means all states.","arglist":["map"],"functionp":true,"macrop":null},"evil-ex-command-collection":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Called to complete a command.","arglist":["cmd","predicate","flag"],"functionp":true,"macrop":null},"evil-transform-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Apply TRANSFORM to RANGE according to its type.\nReturn a new range if COPY is non-nil.","arglist":["transform","range","&optional","copy"],"functionp":true,"macrop":null},"evil-scroll-left":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Scrolls the window COUNT half-screenwidths to the left.","arglist":["count"],"functionp":true,"macrop":null},"evil-insert-skip-empty-lines":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Non-nil of the current insertion should not take place on\n lines at which the insertion point is behind the end of the\n line.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-goto-definition-semantic":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Find definition for POSITION with semantic.","arglist":["_string","position"],"functionp":true,"macrop":null},"evil-previous-match":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select next match.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-append":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Switch to Insert state just after point.\nThe insertion will be repeated COUNT times and repeated once for\nthe next VCOUNT - 1 lines starting at the same column. If\nSKIP-EMPTY-LINES is non-nil, the insertion will not be performed\non lines on which the insertion point would be after the end of\nthe lines.","arglist":["count","&optional","vcount","skip-empty-lines"],"functionp":true,"macrop":null},"evil-repeat-find-char-reverse":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Repeat the last find COUNT times in the opposite direction.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-set-command-property":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set PROPERTY to VALUE for COMMAND.\nTo set multiple properties at once, see\n`evil-set-command-properties' and `evil-add-command-properties'.","arglist":["command","property","value"],"functionp":true,"macrop":null},"evil-visual-update-x-selection":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Update the X selection with the current visual region.","arglist":["&optional","buffer"],"functionp":true,"macrop":null},"evil-mode-check-buffers":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-transient-mark":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Toggle Transient Mark mode.\nEnsure that the region is properly deactivated.\nEnable with positive ARG, disable with negative ARG.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil--jump-backward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["count"],"functionp":true,"macrop":null},"evil-window-left":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to new COUNT-th window left of the current one.","arglist":["count"],"functionp":true,"macrop":null},"evil-scroll-count":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Holds last used prefix for `evil-scroll-up'\nand `evil-scroll-down'.\nDetermines how many lines should be scrolled.\nDefault value is 0 - scroll half the screen.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-search-vim-style-regexp":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"If non-nil Vim-style backslash codes are supported in search patterns.\nSee `evil-transform-vim-style-regexp' for the supported backslash\ncodes. Note that this only affects the search command if\n`evil-search-module' is set to 'evil-search. The isearch module\nalways uses plain Emacs regular expressions.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-mark":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"The position of mark in Visual state, a marker.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ace-jump-word-mode":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Jump visually to the beginning of a word using ace-jump.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-inner-curly":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select inner curly bracket (\"brace\").","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-repeat-visual-block":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Restores a character visual selection.\nIf the selection is in a single line, the restored visual\nselection covers the same number of characters. If the selection\ncovers several lines, the restored selection covers the same\nnumber of lines and the same number of characters in the last\nline as the original selection.","arglist":["nfwdlines","nfwdchars"],"functionp":true,"macrop":null},"evil-next-state":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"The Evil state being switched to.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-a-single-quote":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select a single-quoted expression.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil--find-thing":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a cons of THING near point as a string and its position.\nTHING should be a symbol understood by `thing-at-point',\ne.g. 'symbol or 'word. If FORWARD is nil, search backward,\notherwise forward. Returns nil if nothing is found.","arglist":["forward","thing"],"functionp":true,"macrop":null},"evil-match-interactive-code":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Match an interactive code at position POS in string INTERACTIVE.\nReturns the first matching entry in `evil-interactive-alist', or nil.","arglist":["interactive","&optional","pos"],"functionp":true,"macrop":null},"evil-ex-search-case":{"default":"smart","local":null,"default-type":"symbol","var-docstring":"The case behaviour of the search command.\nSmart case means that the pattern is case sensitive if and only\nif it contains an upper case letter, otherwise it is case\ninsensitive.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-scroll-down":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Scrolls the window and the cursor COUNT lines downwards.\nIf COUNT is not specified the function scrolls down\n`evil-scroll-count', which is the last used count.\nIf the scroll count is zero the command scrolls half the screen.","arglist":["count"],"functionp":true,"macrop":null},"evil-inner-paragraph":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select inner paragraph.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-ex-parse-global":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Parse STRING as a global argument.","arglist":["string"],"functionp":true,"macrop":null},"evil-normalize":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Normalize BEG and END as TYPE with PROPERTIES.\nReturns a list (BEG END TYPE PROPERTIES ...), where the tail\nmay contain a property list.","arglist":["beg","end","type","&rest","properties"],"functionp":true,"macrop":null},"evil-visual-x-select-timeout":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Time in seconds for the update of the X selection.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-scroll-count-reset":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Sets `evil-scroll-count' to 0.\n`evil-scroll-up' and `evil-scroll-down' will scroll\nfor a half of the screen(default).","arglist":null,"functionp":true,"macrop":null},"evil-ex-global":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"The Ex global command.\n[BEG,END]global[!]/PATTERN/COMMAND","arglist":["beg","end","&optional","pattern","command","invert"],"functionp":true,"macrop":null},"evil-command-window-mode":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Major mode for the Evil command line window.\n\nThis mode runs the hook `evil-command-window-mode-hook', as the final or penultimate step\nduring initialization.\n\n\\{evil-command-window-mode-map}","arglist":null,"functionp":true,"macrop":null},"evil-window-down":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to new COUNT-th window below the current one.","arglist":["count"],"functionp":true,"macrop":null},"evil-want-C-i-jump":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether \\[C-i] jumps forward in the jump list (like Vim).\nOtherwise, \\[C-i] inserts a tab character.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-motion-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Enable Motion state. Disable with negative ARG.\nIf ARG is nil, don't display a message in the echo area.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-ex-delete-or-yank":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute evil-delete or evil-yank on the given region.\nIf SHOULD-DELETE is t, evil-delete will be executed, otherwise\nevil-yank.\nThe region specified by BEG and END will be adjusted if COUNT is\ngiven.","arglist":["should-delete","beg","end","type","register","count","yank-handler"],"functionp":true,"macrop":null},"evil-search-prompt":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"String to use for search prompt.","fn-docstring":"Return the search prompt for the given direction.","arglist":["forward"],"functionp":true,"macrop":null},"evil-last-repeat":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Information about the latest repeat command.\nThis is a list of three elements (POINT COUNT UNDO-POINTER),\nwhere POINT is the position of point before the latest repeat,\nCOUNT the count-argument of the latest repeat command and\nUNDO-POINTER the head of the undo-list before the last command\nhas been repeated.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Keymap for Ex.\nKey sequences bound in this map are immediately executed.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-want-Y-yank-to-eol":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Whether \\[Y] yanks to the end of the line.\nThe default behavior is to yank the whole line, like Vim.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-regex-case":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the case as implied by \\c or \\C in regular expression RE.\nIf \\c appears anywhere in the pattern, the pattern is case\ninsensitive. If \\C appears, the pattern is case sensitive.\nOnly the first occurrence of \\c or \\C is used, all others are\nignored. If neither \\c nor \\C appears in the pattern, the case\nspecified by DEFAULT-CASE is used. DEFAULT-CASE should be either\n`sensitive', `insensitive' or `smart'. In the latter case, the pattern\nwill be case-sensitive if and only if it contains an upper-case\nletter, otherwise it will be case-insensitive.","arglist":["re","default-case"],"functionp":true,"macrop":null},"evil-quote-simple":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-insert-state-cursor":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Cursor for Insert state.\nMay be a cursor type as per `cursor-type', a color string as passed\nto `set-cursor-color', a zero-argument function for changing the\ncursor, or a list of the above.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-define-command":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Define a command COMMAND.\n\n(fn COMMAND (ARGS...) DOC [[KEY VALUE]...] BODY...)","arglist":["command","&rest","body"],"functionp":null,"macrop":true},"evil-window-move-very-top":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Closes the current window, splits the upper-left one horizontally\nand redisplays the current buffer there.","arglist":null,"functionp":true,"macrop":null},"evil-restore-transient-mark-mode":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Restore Transient Mark mode.\nThis presupposes that `evil-save-transient-mark-mode' has been\ncalled earlier. If Transient Mark mode was disabled before but\nenabled in the meantime, this function disables it; if it was\nenabled before but disabled in the meantime, this function\nenables it.\n\nThe earlier settings of Transient Mark mode are stored in\n`evil-transient-vals'.","arglist":null,"functionp":true,"macrop":null},"evil-open-above":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Insert a new line above point and switch to Insert state.\nThe insertion will be repeated COUNT times.","arglist":["count"],"functionp":true,"macrop":null},"evil-initializing-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether Evil is in the process of being initialized.","arglist":["&optional","buffer"],"functionp":true,"macrop":null},"evil-called-interactively-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Wrapper for `called-interactively-p'.\nIn older versions of Emacs, `called-interactively-p' takes\nno arguments. In Emacs 23.2 and newer, it takes one argument.","arglist":null,"functionp":null,"macrop":true},"evil-range-union":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the union of the ranges RANGE1 and RANGE2.\nIf the ranges have conflicting types, use RANGE1's type.\nThis can be overridden with TYPE.","arglist":["range1","range2","&optional","type"],"functionp":true,"macrop":null},"evil-line-string":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return size of line from BEG to END with PROPERTIES.\n\nInclude whole lines.","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-complete-all-buffers":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether completion looks for matches in all buffers.\nThis applies to \\[C-n] and \\[C-p] in insert state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-list-view-quit":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-motion-state-modes":{"default":"(apropos-mode Buffer-menu-mode calendar-mode color-theme-mode command-history-mode compilation-mode dictionary-mode ert-results-mode help-mode Info-mode Man-mode speedbar-mode undo-tree-visualizer-mode woman-mode)","local":null,"default-type":"cons","var-docstring":"Modes that should come up in Motion state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-inclusive-contract":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Perform contract transformation on inclusive from BEG to END with PROPERTIES.\n\nInclude the character under point.\nIf the end position is at the beginning of a line or the end of a\nline and `evil-want-visual-char-semi-exclusive', then:\n\n* If in visual state return `exclusive' (expanded).","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-select-inner-object":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return an inner text object range of COUNT objects.\nIf COUNT is positive, return objects following point; if COUNT is\nnegative, return objects preceding point. If one is unspecified,\nthe other is used with a negative argument. THING is a symbol\nunderstood by thing-at-point. BEG, END and TYPE specify the\ncurrent selection. If LINE is non-nil, the text object should be\nlinewise, otherwise it is character wise.","arglist":["thing","beg","end","type","&optional","count","line"],"functionp":true,"macrop":null},"evil-shift-right":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Shift text from BEG to END to the right.\nThe text is shifted to the nearest multiple of `evil-shift-width'\n(the rounding can be disabled by setting `evil-shift-round').\nIf PRESERVE-EMPTY is non-nil, lines that contain only spaces are\nindented, too, otherwise they are ignored. The relative column\nof point is preserved if this function is not called\ninteractively. Otherwise, if the function is called as an\noperator, point is moved to the first non-blank character.\nSee also `evil-shift-left'.","arglist":["beg","end","&optional","count","preserve-empty"],"functionp":true,"macrop":null},"evil-delete-yanked-rectangle":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Special function to delete the block yanked by a previous paste command.","arglist":["nrows","ncols"],"functionp":true,"macrop":null},"evil-inner-bracket":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select inner square bracket.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-ex-substitute-replacement":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The last substitute replacement.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-init-shell-argument-completion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Prepares the current minibuffer for completion of shell commands.\nThis function must be called from the :runner function of some\nargument handler that requires shell completion.","arglist":["flag","&optional","arg"],"functionp":true,"macrop":null},"evil-mouse-events-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Returns non-nil iff KEYS contains a mouse event.","arglist":["keys"],"functionp":true,"macrop":null},"evil-describe":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return description of BEG and END with PROPERTIES.\nIf no description is available, return the empty string.","arglist":["beg","end","type","&rest","properties"],"functionp":true,"macrop":null},"evil-run-pending-custom-initialize":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Executes the pending initializations.\nSee `evil-pending-custom-initialize'.","arglist":null,"functionp":true,"macrop":null},"evil-execute-in-normal-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute the next command in Normal state.","arglist":null,"functionp":true,"macrop":null},"evil-repeat-post-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Finish recording of repeat-information for the current-command.","arglist":null,"functionp":true,"macrop":null},"evil-regexp-search":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether to use regular expressions for searching in \\[/] and \\[?].","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-end":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"The end of the Visual selection, a marker.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-justify-lines":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Justifes all lines in a range.\nBEG and END specify the range of those lines to be\njustified. JUSTIFY is either 'left, 'right or 'center according\nto the justification type. POSITION is the maximal text width for\nright and center justification or the column at which the lines\nshould be left-aligned for left justification.","arglist":["beg","end","justify","position"],"functionp":true,"macrop":null},"evil-window-move-very-bottom":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Closes the current window, splits the lower-right one horizontally\nand redisplays the current buffer there.","arglist":null,"functionp":true,"macrop":null},"evil-ex-shell-command-completion-at-point":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-range-properties":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return properties of RANGE.","arglist":["range"],"functionp":true,"macrop":null},"evil-ex-binding":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Returns the final binding of COMMAND.","arglist":["command","&optional","noerror"],"functionp":true,"macrop":null},"evil-subrange-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether RANGE1 is contained within RANGE2.","arglist":["range1","range2"],"functionp":true,"macrop":null},"evil-ex-substitute-flags":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The last substitute flags.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-replacement-magic":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"All magic characters in a replacement string","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-get-minor-mode-keymap":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Get the auxiliary keymap for MODE in STATE, creating one if it\ndoes not already exist.","arglist":["state","mode"],"functionp":true,"macrop":null},"evil-bigword":{"default":"^ \t\r\n","local":true,"default-type":"string","var-docstring":"The set of characters to be interpreted as WORD boundaries.\nThis is enclosed with square brackets and used as a regular\nexpression. By default, whitespace characters are considered\nWORD boundaries.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-replace-state-tag":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Mode line tag for Replace state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-search-next":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Goes to the next occurrence.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-yank-handler":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the yank handler for MOTION.\nMOTION defaults to the current motion.","arglist":["&optional","motion"],"functionp":true,"macrop":null},"evil-refresh-mode-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Refresh mode line tag.","arglist":["&optional","state"],"functionp":true,"macrop":null},"evil-jumps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-enclose-avy-for-motion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Enclose avy to make it suitable for motions.\nBased on `evil-enclose-ace-jump-for-motion'.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-repeat-count":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The explicit count when repeating a command.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-read":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Inserts the contents of FILE below the current line or line COUNT.","arglist":["count","file"],"functionp":true,"macrop":null},"evil-narrow-to-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Narrow BODY to the current line.\nBODY will signal the errors 'beginning-of-line or 'end-of-line\nupon reaching the beginning or end of the current line.\n\n(fn [[KEY VAL]...] BODY...)","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-scroll-page-down":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Scrolls the window COUNT pages downwards.","arglist":["count"],"functionp":true,"macrop":null},"evil-undo-list-pointer":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Everything up to this mark is united in the undo-list.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-copy-from-above":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Copy characters from preceding non-blank line.\nThe copied text is inserted before point.\nARG is the number of lines to move backward.\nSee also \\\\[evil-copy-from-below].","arglist":["arg"],"functionp":true,"macrop":null},"evil-ex-search-unbounded-word-backward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search for the next occurrence of word under the cursor.","arglist":["&optional","count","symbol"],"functionp":true,"macrop":null},"evil-mouse-drag-track":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Track mouse drags by highlighting area between point and cursor.\nThe region will be defined with mark and point.\nDO-MOUSE-DRAG-REGION-POST-PROCESS should only be used by\n`mouse-drag-region'.","arglist":["start-event","&optional","do-mouse-drag-region-post-process"],"functionp":true,"macrop":null},"evil-backward-section-begin":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the beginning of the COUNT-th previous section.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-contract-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Contract RANGE according to its type.\nReturn a new range if COPY is non-nil.","arglist":["range","&optional","copy"],"functionp":true,"macrop":null},"evil-change-to-previous-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Change the state of BUFFER to its previous state.","arglist":["&optional","buffer","message"],"functionp":true,"macrop":null},"evil-next-line-1-first-non-blank":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor COUNT-1 lines down on the first non-blank character.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-quit":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Closes the current window, current frame, Emacs.\nIf the current frame belongs to some client the client connection\nis closed.","arglist":["&optional","force"],"functionp":true,"macrop":null},"evil-transform-vim-style-regexp":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Transforms vim-style backslash codes to Emacs regexp.\nThis includes the backslash codes \\d, \\D, \\s, \\S, \\x, \\X,\n\\o, \\O, \\a, \\A, \\l, \\L, \\u, \\U and \\w, \\W. The new\ncodes \\y and \\Y can be used instead of the Emacs code \\s and\n\\S which have a different meaning in Vim-style.","arglist":["regexp"],"functionp":true,"macrop":null},"evil-join":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Join the selected lines.","arglist":["beg","end"],"functionp":true,"macrop":null},"evil-current-insertion":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Information about the latest insertion in insert state.\nThis should be a pair (BEG . END) that describes the\nbuffer-region of the newly inserted text.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-alist":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Association list of Visual selection functions.\nElements have the form (NAME . FUNCTION).","fn-docstring":"Return an association list from types to selection symbols.","arglist":null,"functionp":true,"macrop":null},"evil-screen-line-string":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return size of screen-line from BEG to END with PROPERTIES.\n\nInclude whole lines, being aware of `visual-line-mode'\nwhen `evil-respect-visual-line-mode' is non-nil.","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-yank-block-handler":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Inserts the current text as block.","arglist":["lines"],"functionp":true,"macrop":null},"evil-visual-rotate":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"In Visual Block selection, put point in CORNER.\nCorner may be one of `upper-left', `upper-right', `lower-left'\nand `lower-right':\n\n upper-left +---+ upper-right\n | |\n lower-left +---+ lower-right\n\nWhen called interactively, the selection is rotated blockwise.","arglist":["corner","&optional","beg","end","type"],"functionp":true,"macrop":null},"evil-motion-state-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether the current state is Motion state.\n(That is, whether `evil-state' is `motion'.)","arglist":["&optional","state"],"functionp":true,"macrop":null},"evil-define-local-var":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Define SYMBOL as permanent buffer local variable, and return SYMBOL.\nThe parameters are the same as for `defvar', but the variable\nSYMBOL is made permanent buffer local.","arglist":["symbol","&optional","initvalue","docstring"],"functionp":null,"macrop":true},"evil-this-command-keys":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Version of `this-command-keys' with finer control over prefix args.","arglist":["&optional","post-cmd"],"functionp":true,"macrop":null},"evil-replace-state-entry-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run when entering Replace state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-normal-state-entry-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run when entering Normal state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-forward-section-end":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the end of the COUNT-th next section.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-select-quote-thing":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Selection THING as if it described a quoted object.\nTHING is typically either 'evil-quote or 'evil-chars. This\nfunction is called from `evil-select-quote'.","arglist":["thing","beg","end","type","count","&optional","inclusive"],"functionp":true,"macrop":null},"evil-window-increase-width":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Increase current window width by COUNT.","arglist":["count"],"functionp":true,"macrop":null},"evil-normal-state-message":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Echo area message for Normal state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-select-block":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a range (BEG END) of COUNT delimited text objects.\nBEG END TYPE are the currently selected (visual) range. The\ndelimited object must be given by THING-up function (see\n`evil-up-block').\n\nSELECTION-TYPE is symbol that determines which parts of the block\nare selected. If it is 'inclusive or t OPEN and CLOSE are\nincluded in the range. If it is 'exclusive or nil the delimiters\nare not contained. If it is 'exclusive-line the delimiters are\nnot included as well as adjacent whitespace until the beginning\nof the next line or the end of the previous line. If the\nresulting selection consists of complete lines only and visual\nstate is not active, the returned selection is linewise.\n\nIf COUNTCURRENT is non-nil an objected is counted if the current\nselection matches that object exactly.\n\nUsually scanning for the surrounding block starts at (1+ beg)\nand (1- end). If this might fail due to the behavior of THING\nthen FIXEDSCAN can be set to t. In this case the scan starts at\nBEG and END. One example where this might fail is if BEG and END\nare the delimiters of a string or comment.","arglist":["thing","beg","end","type","count","&optional","selection-type","countcurrent","fixedscan"],"functionp":true,"macrop":null},"evil-execute-repeat-info-with-count":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Repeat the repeat-information REPEAT-INFO with the count of\nthe first command replaced by COUNT. The count is replaced if\nand only if COUNT is non-nil.","arglist":["count","repeat-info"],"functionp":true,"macrop":null},"evil-jump-forward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to newer position in jump list.\nTo go the other way, press \\\\[evil-jump-backward].","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-ex-pattern-whole-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return t if and only if PATTERN should match all occurences of a line.\nOtherwise PATTERN matches only the first occurence.","arglist":["pattern"],"functionp":true,"macrop":null},"evil-restriction-stack":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"List of previous restrictions.\nUsing `evil-with-restriction' stores the previous values of\n`point-min' and `point-max' as a pair in this list.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-change":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Change text from BEG to END with TYPE.\nSave in REGISTER or the kill-ring with YANK-HANDLER.\nDELETE-FUNC is a function for deleting text, default `evil-delete'.\nIf TYPE is `line', insertion starts on an empty line.\nIf TYPE is `block', the inserted text in inserted at each line\nof the block.","arglist":["beg","end","&optional","type","register","yank-handler","delete-func"],"functionp":true,"macrop":null},"evil-normal-state-exit-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run when exiting Normal state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-operator-range-beginning":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Beginning of `evil-operator-range'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-goto-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to the first non-blank character of line COUNT.\nBy default the last line.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-insert-newline-above":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Inserts a new line above point and places point in that line\nwith regard to indentation.","arglist":null,"functionp":true,"macrop":null},"evil-ex-nohighlight":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Disable the active search highlightings.","arglist":null,"functionp":true,"macrop":null},"evil-vars":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-find-next":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search for the next occurrence of the PATTERN in DIRECTION.\nPATTERN must be created using `evil-ex-make-pattern', DIRECTION\nis either 'forward or 'backward. If NOWRAP is non nil, the search\ndoes not wrap at buffer boundaries. Furthermore this function\nonly searches invisible text if `search-invisible' is t. If\nPATTERN is not specified the current global pattern\n`evil-ex-search-pattern' and if DIRECTION is not specified the\ncurrent global direction `evil-ex-search-direction' is used.\nThis function returns t if the search was successful, nil if it\nwas unsuccessful and 'wrapped if the search was successful but\nhas been wrapped at the buffer boundaries.","arglist":["&optional","pattern","direction","nowrap"],"functionp":true,"macrop":null},"evil-insert-resume":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Switch to Insert state at previous insertion point.\nThe insertion will be repeated COUNT times. If called from visual\nstate, only place point at the previous insertion position but do not\nswitch to insert state.","arglist":["count"],"functionp":true,"macrop":null},"evil-mode-line-tag":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Mode-Line indicator for the current state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-split-prev-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Splits window and goes to the COUNT-th prev buffer in the buffer list.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-ex-search-keymap":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Keymap used in ex-search-mode.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-expand-region":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Expand the region to the Visual selection.\nIf EXCLUDE-NEWLINE is non-nil and the selection ends with a newline,\nexclude that newline from the region.","arglist":["&optional","exclude-newline"],"functionp":true,"macrop":null},"evil-apply-on-rectangle":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Like `apply-on-rectangle' but maybe extends to eol.\nIf `temporary-goal-column' is set to a big number, then the\nregion of each line is extended to the end of each line. The end\ncolumn is set to the maximal column in all covered lines.","arglist":["function","start","end","&rest","args"],"functionp":true,"macrop":null},"evil-concat-lists":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Concatenate lists, removing duplicates.\nElements are compared with `eq'.","arglist":["&rest","sequences"],"functionp":true,"macrop":null},"evil-ex-make-substitute-pattern":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Creates a PATTERN for substitution with FLAGS.\nThis function respects the values of `evil-ex-substitute-case'\nand `evil-ex-substitute-global'.","arglist":["regexp","flags"],"functionp":true,"macrop":null},"evil-ex-argument-handler-completer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["arg-handler"],"functionp":true,"macrop":null},"evil-ex-search-forward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Starts a forward search.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-repeat-record-change":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Record the current buffer changes during a repeat.\nIf CHANGE is specified, it is added to `evil-repeat-changes'.","arglist":["relpos","ins","ndel"],"functionp":true,"macrop":null},"evil-digraphs-table":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Table of default digraphs.\nThis includes all digraphs defined in RFC 1345,\nas well as miscellaneous digraphs for multi-byte characters.\nSee also `evil-digraphs-table-user'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-hl":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-repeat-search":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Called to record a search command.\nFLAG is either 'pre or 'post if the function is called before resp.\nafter executing the command.","arglist":["flag"],"functionp":true,"macrop":null},"evil-motion-state-cursor":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Cursor for Motion state.\nMay be a cursor type as per `cursor-type', a color string as passed\nto `set-cursor-color', a zero-argument function for changing the\ncursor, or a list of the above.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-state-intercept-keymaps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a keymap alist of intercept keymaps for STATE.","arglist":["&optional","state"],"functionp":true,"macrop":null},"evil-text-object-make-linewise":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Turn the text object selection RANGE to linewise.\nThe selection is adjusted in a sensible way so that the selected\nlines match the user intent. In particular, whitespace-only parts\nat the first and last lines are omitted. This function returns\nthe new range.","arglist":["range"],"functionp":true,"macrop":null},"evil-default-state":{"default":"normal","local":null,"default-type":"symbol","var-docstring":"The default Evil state.\nThis is the state a buffer starts in when it is not otherwise\nconfigured (see `evil-set-initial-state' and\n`evil-buffer-regexps'). The value may be one of `normal',\n`insert', `visual', `replace', `operator', `motion' and `emacs'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-jumps-max-length":{"default":100,"local":null,"default-type":"integer","var-docstring":"The maximum number of jumps to keep track of.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-search-word-backward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search for the next occurrence of word under the cursor.","arglist":["&optional","count","symbol"],"functionp":true,"macrop":null},"evil-open-below":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Insert a new line below point and switch to Insert state.\nThe insertion will be repeated COUNT times.","arglist":["count"],"functionp":true,"macrop":null},"evil-visual-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Enable Visual state. Disable with negative ARG.\nIf ARG is nil, don't display a message in the echo area.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-block-contract":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Perform contract transformation on block from BEG to END with PROPERTIES.\n\nLike `inclusive', but for rectangles:\nthe last column is included.","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-header-line-height":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the height of the header line.\nIf there is no header line, return nil.","arglist":null,"functionp":true,"macrop":null},"evil-keypress-parser":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Read from keyboard or INPUT and build a command description.\nReturns (CMD COUNT), where COUNT is the numeric prefix argument.\nBoth COUNT and CMD may be nil.","arglist":["&optional","input"],"functionp":true,"macrop":null},"evil-state-auxiliary-keymaps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a keymap alist of auxiliary keymaps for STATE.","arglist":["state"],"functionp":true,"macrop":null},"evil-repeat-keystrokes":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Repeation recording function for commands that are repeated by keystrokes.","arglist":["flag"],"functionp":true,"macrop":null},"evil-normalize-repeat-info":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Concatenate consecutive arrays in REPEAT-INFO.\nReturns a single array.","arglist":["repeat-info"],"functionp":true,"macrop":null},"evil-ex-command-completion-at-point":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-search-module":{"default":"isearch","local":null,"default-type":"symbol","var-docstring":"The search module to be used.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-inner-sentence":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select inner sentence.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-exclusive-normalize":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Perform normalize transformation on exclusive from BEG to END with PROPERTIES.\n\nReturn the positions unchanged, with some exceptions.\nIf the end position is at the beginning of a line, then:\n\n* If the beginning position is at or before the first non-blank\n character on the line, return `line' (expanded).\n\n* Otherwise, move the end position to the end of the previous\n line and return `inclusive' (expanded).","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-ex-hl-name":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the name of the highlight HL.","arglist":["hl"],"functionp":true,"macrop":null},"evil-line-contract":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Perform contract transformation on line from BEG to END with PROPERTIES.\n\nInclude whole lines.","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-operator-state-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether the current state is Operator-Pending state.\n(That is, whether `evil-state' is `operator'.)","arglist":["&optional","state"],"functionp":true,"macrop":null},"evil-set-range-end":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set RANGE's end to END.\nIf COPY is non-nil, return a copy of RANGE.","arglist":["range","end","&optional","copy"],"functionp":true,"macrop":null},"evil-flatten-syntax-tree":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Find all paths from the root of TREE to its leaves.\nTREE is a syntax tree, i.e., all its leave nodes are strings.\nThe `nth' element in the result is the syntactic context\nfor the corresponding string index (counted from zero).","arglist":["tree"],"functionp":true,"macrop":null},"evil-insert-state-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether the current state is Insert state.\n(That is, whether `evil-state' is `insert'.)","arglist":["&optional","state"],"functionp":true,"macrop":null},"evil-command-window-mode-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hook run after entering Evil-cmd mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-recording-repeat":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Whether we are recording a repeat.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-jumps-struct-ring":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Access slot \"ring\" of `evil-jumps-struct' struct CL-X.","arglist":["cl-x"],"functionp":true,"macrop":null},"evil-ex-argument-handler-runner":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["arg-handler"],"functionp":true,"macrop":null},"evil-visual-contract-region":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"The inverse of `evil-visual-expand-region'.\nCreate a Visual selection that expands to the current region.","arglist":null,"functionp":true,"macrop":null},"evil-scroll-line-down":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Scrolls the window COUNT lines downwards.","arglist":["count"],"functionp":true,"macrop":null},"evil-emacs-state-entry-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run when entering Emacs state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-scroll-right":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Scrolls the window COUNT half-screenwidths to the right.","arglist":["count"],"functionp":true,"macrop":null},"evil-show-jumps":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Display the contents of the jump list.","arglist":null,"functionp":true,"macrop":null},"evil-jumps-pre-jump-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run just before jumping to a location in the jump list.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil--jumps-window-configuration-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["&rest","args"],"functionp":true,"macrop":null},"evil-declare-abort-repeat":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Declare COMMAND to be nonrepeatable.","arglist":["command"],"functionp":true,"macrop":null},"evil-visual-block-overlays":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Overlays for Visual Block selection, one for each line.\nThey are reused to minimize flicker.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-mode-enable-in-buffers":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-vsplit-window-right":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"If non-nil vertically split windows with \\[:vsplit] are\ncreated to the right.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-esc-mode":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Non-nil if `evil-esc-mode' is enabled.","fn-docstring":"Toggle interception of \\e (escape).\nEnable with positive ARG and disable with negative ARG.\n\nWhen enabled, `evil-esc-mode' modifies the entry of \\e in\n`input-decode-map'. If such an event arrives, it is translated to\na plain 'escape event if no further event occurs within\n`evil-esc-delay' seconds. Otherwise no translation happens and\nthe ESC prefix map (i.e. the map originally bound to \\e in\n`input-decode-map`) is returned.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-complete-next-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Complete a whole line.\nCalls `evil-complete-next-line-func'.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-initial-state-for-buffer-name":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the initial Evil state to use for a buffer with name NAME.\nMatches the name against the regular expressions in\n`evil-buffer-regexps'. If none matches, returns DEFAULT.","arglist":["&optional","name","default"],"functionp":true,"macrop":null},"evil-visual-state-message":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Echo area message for Visual state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-hl-update-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the update-hook of the highlight HL.","arglist":["hl"],"functionp":true,"macrop":null},"evil-backward-beginning":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move backward to beginning of THING.\nThe motion is repeated COUNT times. This is the same as calling\n`evil-backward-beginning' with -COUNT.","arglist":["thing","&optional","count"],"functionp":true,"macrop":null},"evil-open-folds":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Open all folds.\nSee also `evil-close-folds'.","arglist":null,"functionp":true,"macrop":null},"evil-fold-list":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Actions to be performed for various folding operations.\n\nThe value should be a list of fold handlers, were a fold handler has\nthe format:\n\n ((MODES) PROPERTIES)\n\nMODES acts as a predicate, containing the symbols of all major or\nminor modes for which the handler should match. For example:\n\n '((outline-minor-mode org-mode) ...)\n\nwould match for either outline-minor-mode or org-mode, even though the\nformer is a minor mode and the latter is a major.\n\nPROPERTIES specifies possible folding actions and the functions to be\napplied in the event of a match on one (or more) of the MODES; the\nsupported properties are:\n\n - `:open-all'\n Open all folds.\n - `:close-all'\n Close all folds.\n - `:toggle'\n Toggle the display of the fold at point.\n - `:open'\n Open the fold at point.\n - `:open-rec'\n Open the fold at point recursively.\n - `:close'\n Close the fold at point.\n\nEach value must be a function. A value of `nil' will cause the action\nto be ignored for that respective handler. For example:\n\n `((org-mode)\n :close-all nil\n :open ,(lambda ()\n (show-entry)\n (show-children))\n :close hide-subtree)\n\nwould ignore `:close-all' actions and invoke the provided functions on\n`:open' or `:close'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-goto-mark-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to the line of the marker specified by CHAR.","arglist":["char","&optional","noerror"],"functionp":true,"macrop":null},"evil-next-match":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select next match.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-define-operator":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Define an operator command OPERATOR.\nThe operator acts on the range of characters BEG through\nEND. BODY must execute the operator by potentially manipulating\nthe buffer contents, or otherwise causing side effects to happen.\n\nOptional keyword arguments are:\n- `:type' - force the input range to be of a given type (`inclusive',\n `line', `block', and `exclusive', or a self-defined motion type).\n- `:motion' - use a predetermined motion instead of waiting for one\n from the keyboard. This does not affect the behavior in visual\n state, where selection boundaries are always used.\n- `:repeat' - if non-nil (default), then \\[.] will repeat the\n operator.\n- `:move-point' - if non-nil (default), the cursor will be moved to\n the beginning of the range before the body executes\n- `:keep-visual' - if non-nil, the selection is not disabled when the\n operator is executed in visual state. By default, visual state is\n exited automatically.\n\n(fn OPERATOR (BEG END ARGS...) DOC [[KEY VALUE]...] BODY...)","arglist":["operator","args","&rest","body"],"functionp":null,"macrop":true},"evil-mode-cmhh":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-rot13":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"ROT13 encrypt text.","arglist":["beg","end","&optional","type"],"functionp":true,"macrop":null},"evil-set-leader":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set KEY to trigger bindings in STATE.\nKEY should be in the form produced by `kbd'. STATE is one of\n`normal', `insert', `visual', `replace', `operator', `motion',\n`emacs', a list of one or more of these, or nil. nil means all of\nthe above. If LOCAL is non-nil, set localleader instead.","arglist":["state","key","&optional","localleader"],"functionp":true,"macrop":null},"evil-copy-from-below":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Copy characters from following non-blank line.\nThe copied text is inserted before point.\nARG is the number of lines to move forward.\nSee also \\\\[evil-copy-from-above].","arglist":["arg"],"functionp":true,"macrop":null},"evil-execute-in-emacs-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute the next command in Emacs state.","arglist":null,"functionp":true,"macrop":null},"evil-state-properties":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Specifications made by `evil-define-state'.\nEntries have the form (STATE . PLIST), where PLIST is a property\nlist specifying various aspects of the state. To access a property,\nuse `evil-state-property'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-save-repeat-info":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute BODY, protecting the values of repeat variables.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-ex-hl-set-max":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the minimal buffer position of the highlight HL to MAX.","arglist":["hl","max"],"functionp":true,"macrop":null},"evil-ex-show-digraphs":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Shows a list of all available digraphs.","arglist":null,"functionp":true,"macrop":null},"evil-operator-state-minor-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if Operator-Pending state is enabled.\nUse the command `evil-operator-state' to change this variable.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-string":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-local-set-key":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Bind KEY to DEF in STATE in the current buffer.","arglist":["state","key","def"],"functionp":true,"macrop":null},"evil-ex-hl-set-min":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the minimal buffer position of the highlight HL to MIN.","arglist":["hl","min"],"functionp":true,"macrop":null},"evil-avy-goto-word-0":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-word-0'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-avy-goto-word-1":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-word-1'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-ex-delete-backward-char":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Close the minibuffer if it is empty.\nOtherwise behaves like `delete-backward-char'.","arglist":null,"functionp":true,"macrop":null},"evil-extract-count":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Splits the key-sequence KEYS into prefix-argument and the rest.\nReturns the list (PREFIX CMD SEQ REST), where PREFIX is the\nprefix count, CMD the command to be executed, SEQ the subsequence\ncalling CMD, and REST is all remaining events in the\nkey-sequence. PREFIX and REST may be nil if they do not exist.\nIf a command is bound to some keyboard macro, it is expanded\nrecursively.","arglist":["keys"],"functionp":true,"macrop":null},"evil-first-non-blank":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the first non-blank character of the current line.","arglist":null,"functionp":true,"macrop":null},"evil-set-visual-newline-commands":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the value of `evil-visual-newline-commands'.\nSetting this variable changes the properties of the appropriate\ncommands.","arglist":["var","value"],"functionp":true,"macrop":null},"evil-ex-define-cmd":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Binds the function FUNCTION to the command CMD.","arglist":["cmd","function"],"functionp":true,"macrop":null},"evil-ex-completion-table":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-align-center":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Centers lines in the region between WIDTH columns.\nThe default for width is the value of `fill-column'.","arglist":["beg","end","&optional","type","width"],"functionp":true,"macrop":null},"evil-repeat":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Repeat the last editing command with count replaced by COUNT.\nIf SAVE-POINT is non-nil, do not move point.","arglist":["count","&optional","save-point"],"functionp":true,"macrop":null},"evil-get-selection":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the value of an X Windows selection.\nThe argument TYPE (default `PRIMARY') says which selection,\nand the argument DATA-TYPE (default `STRING') says\nhow to convert the data.\n\nTYPE may be any symbol (but nil stands for `PRIMARY'). However,\nonly a few symbols are commonly used. They conventionally have\nall upper-case names. The most often used ones, in addition to\n`PRIMARY', are `SECONDARY' and `CLIPBOARD'.\n\nDATA-TYPE is usually `STRING', but can also be one of the symbols\nin `selection-converter-alist', which see. Window systems other\nthan X usually support only a small subset of these symbols, in\naddition to `STRING'; MS-Windows supports `TARGETS', which reports\nthe formats available in the clipboard if TYPE is `CLIPBOARD'.\n\n(fn &optional TYPE DATA-TYPE)","arglist":["&optional","arg1","arg2"],"functionp":true,"macrop":null},"evil-cjk":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-motion-state-minor-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if Motion state is enabled.\nUse the command `evil-motion-state' to change this variable.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-insert-newline-below":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Inserts a new line below point and places point in that line\nwith regard to indentation.","arglist":null,"functionp":true,"macrop":null},"evil-avy-goto-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-line'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-insert-state-exit-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run when exiting Insert state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-selection":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"The kind of Visual selection.\nThis is a selection as defined by `evil-define-visual-selection'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-move-end-of-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move to the end of the line as displayed.\nLike `move-end-of-line', but retains the goal column.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-copy":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Copy lines in BEG END below line given by ADDRESS.","arglist":["beg","end","address"],"functionp":true,"macrop":null},"evil-narrow-to-field":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Narrow to the current field.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-ex-completed-binding":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Returns the final binding of the completion of COMMAND.","arglist":["command","&optional","noerror"],"functionp":true,"macrop":null},"evil-show-file-info":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Shows basic file information.","arglist":null,"functionp":true,"macrop":null},"evil-core":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-inclusive-normalize":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Perform normalize transformation on inclusive from BEG to END with PROPERTIES.\n\nInclude the character under point.\nIf the end position is at the beginning of a line or the end of a\nline and `evil-want-visual-char-semi-exclusive', then:\n\n* If in visual state return `exclusive' (expanded).","arglist":["beg","end","&rest","properties"],"functionp":true,"macrop":null},"evil-align-left":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Right-align lines in the region at WIDTH columns.\nThe default for width is the value of `fill-column'.","arglist":["beg","end","&optional","type","width"],"functionp":true,"macrop":null},"evil-ex-hl-update-highlights-resize":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Update highlights after resizing a window.","arglist":["frame"],"functionp":true,"macrop":null},"evil-bounds-of-not-thing-at-point":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Returns the bounds of a complement of THING at point.\nIf there is a THING at point nil is returned. Otherwise if WHICH\nis nil or 0 a cons cell (BEG . END) is returned. If WHICH is\nnegative the beginning is returned. If WHICH is positive the END\nis returned.","arglist":["thing","&optional","which"],"functionp":true,"macrop":null},"evil-define-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Define an Evil state STATE.\nDOC is a general description and shows up in all docstrings;\nthe first line of the string should be the full name of the state.\n\nBODY is executed each time the state is enabled or disabled.\n\nOptional keyword arguments:\n- `:tag' - the mode line indicator, e.g. \"\".\n- `:message' - string shown in the echo area when the state is\n activated.\n- `:cursor' - default cursor specification.\n- `:enable' - list of other state keymaps to enable when in this\n state.\n- `:entry-hook' - list of functions to run when entering this state.\n- `:exit-hook' - list of functions to run when exiting this state.\n- `:suppress-keymap' - if non-nil, effectively disables bindings to\n `self-insert-command' by making `evil-suppress-map' the parent of\n the global state keymap.\n\nThe global keymap of this state will be `evil-test-state-map',\nthe local keymap will be `evil-test-state-local-map', and so on.\n\n(fn STATE DOC [[KEY VAL]...] BODY...)","arglist":["state","doc","&rest","body"],"functionp":null,"macrop":true},"evil-set-toggle-key":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set `evil-toggle-key' to KEY.\nKEY must be readable by `read-kbd-macro'.","arglist":["key"],"functionp":true,"macrop":null},"evil-join-whitespace":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Join the selected lines without changing whitespace.\n\\Like \\[evil-join], but doesn't insert or remove any spaces.","arglist":["beg","end"],"functionp":true,"macrop":null},"evil-set-cursor-color":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the cursor color to COLOR.","arglist":["color"],"functionp":true,"macrop":null},"evil-ex-start-search":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Start a new search in a certain DIRECTION.","arglist":["direction","count"],"functionp":true,"macrop":null},"evil-transform-magic":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Transforms STR with magic characters.\nMAGIC is a regexp that matches all potential magic\ncharacters. Each occurence of CHAR as magic character within str\nis replaced by the result of calling the associated TRANSFORM\nfunction. TRANSFORM is a function taking two arguments, the\ncharacter to be transformed and the rest of string after the\ncharacter. The function should return a triple (REPLACEMENT REST\n. STOP) where REPLACEMENT is the replacement and REST is the rest\nof the string that has not been transformed. If STOP is non-nil\nthen the substitution stops immediately. The replacement starts\nat position START, everything before that position is returned\nliterally. The result is a pair (RESULT . REST). RESULT is a\nlist containing the transformed parts in order. If two\nsubsequents parts are both strings, they are concatenated. REST\nis the untransformed rest string (usually \"\" but may be more if\nTRANSFORM stopped the substitution). Which characters are\nconsidered as magic characters (i.e. the transformation happens\nif the character is NOT preceeded by a backslash) is determined\nby `evil-magic'. The special tokens \\v, \\V, \\m and \\M have\nalways a special meaning (like in Vim) and should not be\ncontained in TRANSFORMS, otherwise their meaning is overwritten.\n\nThe parameter QUOTE is a quoting function applied to literal\ntransformations, usually `regexp-quote' or `replace-quote'.","arglist":["str","magic","quote","transform","&optional","start"],"functionp":true,"macrop":null},"evil--jumps-debug":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-change-commands":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Commands that wrap or replace `evil-change'.\nThis list exists to apply an inconsistency with vim's change command\nto commands that wrap or redefine it. See emacs-evil/evil#916.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-move-beyond-eol":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Whether the cursor can move past the end of the line.\nIf non-nil, the cursor is allowed to move one character past the\nend of the line, as in Emacs.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-search-message":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Prefix STRING with the search prompt.","arglist":["string","forward"],"functionp":true,"macrop":null},"evil-normal-state-local-map":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Buffer-local keymap for Normal state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-visual-char-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Type of default ex range in visual char state.\nIf non-nil the default range when starting an ex command from\ncharacter visual state is `<,`> otherwise it is '<,'>. In the\nfirst case the ex command will be passed a region covering only\nthe visual selection. In the second case the passed region will\nbe extended to contain full lines.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-window-rotate-upwards":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Rotates the windows according to the currenty cyclic ordering.","arglist":null,"functionp":true,"macrop":null},"evil-text-object-change-visual-type":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Text objects change the current visual state type.\nIf non-nil then a text-object changes the type of the visual state to\nits default selection type (e.g. a word object always changes to\ncharwise visual state). Otherwise the current visual state type is\npreserved.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-in-single-undo":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Set to non-nil if the current undo steps are connected.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-custom-initialize-pending-reset":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Add a pending customization with `custom-initialize-reset'.","arglist":["var","value"],"functionp":true,"macrop":null},"evil-start-track-last-insertion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Start tracking the last insertion.","arglist":null,"functionp":true,"macrop":null},"evil-next-close-brace":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to [count] next unmatched '}'.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-emacs-state-map":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Keymap for Emacs state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-repeat-stop":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Stop recording a repeat.\nUpdate `evil-repeat-ring' with the accumulated changes\nin `evil-repeat-info' and clear variables.","arglist":null,"functionp":true,"macrop":null},"evil-intercept-keymap-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the state for the intercept keymap MAP.\nA return value of t means all states.","arglist":["map"],"functionp":true,"macrop":null},"evil-replace-state-modes":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Modes that should come up in Replace state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-local-mode-set-explicitly":{"default":"nil","local":true,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-change-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Change the state to STATE.\nIf STATE is nil, disable all states.","arglist":["state","&optional","message"],"functionp":true,"macrop":null},"evil-ex-define-argument-type":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Defines a new handler for argument-type ARG-TYPE.\nDOC is the documentation string. It is followed by a list of\nkeywords and function:\n\n:collection COLLECTION\n\n A collection for completion as required by `all-completions'.\n\n:completion-at-point FUNC\n\n Function to be called to initialize a potential\n completion. FUNC must match the requirements as described for\n the variable `completion-at-point-functions'. When FUNC is\n called the minibuffer content is narrowed to exactly match the\n argument.\n\n:runner FUNC\n\n Function to be called when the type of the current argument\n changes or when the content of this argument changes. This\n function should take one obligatory argument FLAG followed by\n an optional argument ARG. FLAG is one of three symbol 'start,\n 'stop or 'update. When the argument type is recognized for the\n first time and this handler is started the FLAG is 'start. If\n the argument type changes to something else or ex state\n finished the handler FLAG is 'stop. If the content of the\n argument has changed FLAG is 'update. If FLAG is either 'start\n or 'update then ARG is the current value of this argument. If\n FLAG is 'stop then arg is nil.","arglist":["arg-type","doc","&rest","body"],"functionp":null,"macrop":true},"evil-ex-update":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Update Ex variables when the minibuffer changes.\nThis function is usually called from `after-change-functions'\nhook. If BEG is non-nil (which is the case when called from\n`after-change-functions'), then an error description is shown\nin case of incomplete or unknown commands.","arglist":["&optional","beg","end","len","string"],"functionp":true,"macrop":null},"evil-ex-search-count":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The count if the current search.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil--flyspell-overlay-after":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["pos","limit","forwardp"],"functionp":true,"macrop":null},"evil-visual-deactivate-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Deactivate the region and restore Transient Mark mode.","arglist":["&optional","command"],"functionp":true,"macrop":null},"evil-resize-window":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set the current window's width or height to NEW-SIZE.\nIf HORIZONTAL is non-nil the width of the window is changed,\notherwise its height is changed.","arglist":["new-size","&optional","horizontal"],"functionp":true,"macrop":null},"evil-replace-state-exit-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run when exiting Replace state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ace-jump-active":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-show-paren-range":{"default":0,"local":null,"default-type":"integer","var-docstring":"The minimal distance between point and a parenthesis\nwhich causes the parenthesis to be highlighted.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-previous-open-brace":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to [count] previous unmatched '{'.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-up-block":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move point to the end or beginning of text enclosed by BEG and END.\nBEG and END should be regular expressions matching the opening\nand closing delimiters, respectively. If COUNT is greater than\nzero point is moved forward otherwise it is moved\nbackwards. Whenever an opening delimiter is found the COUNT is\nincreased by one, if a closing delimiter is found the COUNT is\ndecreased by one. The motion stops when COUNT reaches zero. The\nmatch-data reflects the last successful match (that caused COUNT\nto reach zero). The behaviour of this functions is similar to\n`up-list'.","arglist":["beg","end","&optional","count"],"functionp":true,"macrop":null},"evil-declare-motion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Declare COMMAND to be a movement function.\nThis ensures that it behaves correctly in visual state.","arglist":["command"],"functionp":true,"macrop":null},"evil-declare-ignore-repeat":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Declare COMMAND to be nonrepeatable.","arglist":["command"],"functionp":true,"macrop":null},"evil-esc":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Translate \\e to 'escape if no further event arrives.\nThis function is used to translate a \\e event either to 'escape\nor to the standard ESC prefix translation map. If \\e arrives,\nthis function waits for `evil-esc-delay' seconds for another\nevent. If no other event arrives, the event is translated to\n'escape, otherwise it is translated to the standard ESC prefix\nmap stored in `input-decode-map'. If `evil-inhibit-esc' is\nnon-nil or if evil is in emacs state, the event is always\ntranslated to the ESC prefix.\n\nThe translation to 'escape happens only if the current command\nhas indeed been triggered by \\e. In other words, this will only\nhappen when the keymap is accessed from `read-key-sequence'. In\nparticular, if it is access from `define-key' the returned\nmapping will always be the ESC prefix map.","arglist":["map"],"functionp":true,"macrop":null},"evil-extract-append":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return an (APPEND . FILENAME) pair based on FILE-OR-APPEND.\nFILE-OR-APPEND should either be a filename or a \">> FILE\"\ndirective. APPEND will be t if FILE-OR-APPEND is an append\ndirective and nil otherwise. FILENAME will be the extracted\nfilename.","arglist":["file-or-append"],"functionp":true,"macrop":null},"evil-move-mark":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set buffer's mark to POS.\nIf POS is nil, delete the mark.","arglist":["pos"],"functionp":true,"macrop":null},"evil-paste-pop":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Replace the just-yanked stretch of killed text with a different stretch.\nThis command is allowed only immediatly after a `yank',\n`evil-paste-before', `evil-paste-after' or `evil-paste-pop'.\nThis command uses the same paste command as before, i.e., when\nused after `evil-paste-after' the new text is also yanked using\n`evil-paste-after', used with the same paste-count argument.\n\nThe COUNT argument inserts the COUNTth previous kill. If COUNT\nis negative this is a more recent kill.","arglist":["count"],"functionp":true,"macrop":null},"evil-prev-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Goes to the `count'-th prev buffer in the buffer list.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-execute-change":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Executes as list of changes.\n\nCHANGES is a list of triples (REL-BEG INSERT-TEXT NDEL).\nREL-BEG is the relative position (to point) where the change\ntakes place. INSERT-TEXT is the text to be inserted at that\nposition and NDEL the number of characters to be deleted at that\nposition before insertion.\n\nREL-POINT is the relative position to point before the changed\nwhere point should be placed after all changes.","arglist":["changes","rel-point"],"functionp":true,"macrop":null},"evil-after-load-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Functions to be run when loading of Evil is finished.\nThis hook can be used the execute some initialization routines\nwhen Evil is completely loaded.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-define-minor-mode-key":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Similar to `evil-define-key' but the bindings are associated\nwith the minor-mode symbol MODE instead of a particular map.\nAssociating bindings with a mode symbol instead of a map allows\nevil to use Emacs' built-in mechanisms to enable the bindings\nautomatically when MODE is active without relying on calling\n`evil-normalize-keymaps'. Another less significant difference is\nthat the bindings can be created immediately, because this\nfunction only uses the symbol MODE and does not rely on its\nvalue.\n\nSee `evil-define-key' for the usage of STATE, KEY, DEF and\nBINDINGS.","arglist":["state","mode","key","def","&rest","bindings"],"functionp":true,"macrop":null},"evil-repeat-find-to-skip-next":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether a repeat of t or T should skip an adjacent character.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-make-argument-handler":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["runner","completer"],"functionp":true,"macrop":null},"evil-downcase":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Convert text to lower case.","arglist":["beg","end","&optional","type"],"functionp":true,"macrop":null},"evil-paste-pop-next":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Same as `evil-paste-pop' but with negative argument.","arglist":["count"],"functionp":true,"macrop":null},"evil-ace-jump-char-to-mode":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Jump visually to the char in front of a char using ace-jump.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-intercept-keymap-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether MAP is an intercept keymap for STATE.\nIf STATE is nil, it means any state.","arglist":["map","&optional","state"],"functionp":true,"macrop":null},"evil-paragraph":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-execute-repeat-info":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Executes a repeat-information REPEAT-INFO.","arglist":["repeat-info"],"functionp":true,"macrop":null},"evil-goto-mark":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Go to the marker specified by CHAR.","arglist":["char","&optional","noerror"],"functionp":true,"macrop":null},"evil-global-keymaps-alist":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Association list of keymap variables.\nEntries have the form (MODE . KEYMAP), where KEYMAP\nis the variable containing the keymap for MODE.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil--show-marks-select-action":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["entry"],"functionp":true,"macrop":null},"evil-put-property":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set PROP to VAL for KEY in ALIST-VAR.\nALIST-VAR points to an association list with entries of the form\n(KEY . PLIST), where PLIST is a property list storing PROP and VAL.","arglist":["alist-var","key","prop","val","&rest","properties"],"functionp":true,"macrop":null},"evil-motion-state-exit-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run when exiting Motion state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-file-arg":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Returns the current Ex argument as a file name.\nThis function interprets special file names like # and %.","arglist":null,"functionp":true,"macrop":null},"evil-force-cursor":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Overwrite the current states default cursor.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-last-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the line number of the last line.","arglist":null,"functionp":true,"macrop":null},"evil-narrow":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Restrict the buffer to BEG and END.\nBEG or END may be nil, specifying a one-sided restriction including\n`point-min' or `point-max'. See also `evil-with-restriction.'","arglist":["beg","end"],"functionp":true,"macrop":null},"evil-ex-call-command":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute the given command COMMAND.","arglist":["range","command","argument"],"functionp":true,"macrop":null},"evil-define-type":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Define type TYPE.\nDOC is a general description and shows up in all docstrings.\n\nOptional keyword arguments:\n- `:expand' - expansion function. This function should accept two\n positions in the current buffer, BEG and END,and return a pair of\n expanded buffer positions.\n- `:contract' - the opposite of `:expand'. Optional.\n- `:one-to-one' - non-nil if expansion is one-to-one. This means that\n `:expand' followed by `:contract' always return the original range.\n- `:normalize' - normalization function. This function should accept\n two unexpanded positions and adjust them before expansion. May be\n used to deal with buffer boundaries.\n- `:string' - description function. Takes two buffer positions and\n returns a human-readable string. For example \"2 lines\"\n\nIf further keywords and functions are specified, they are assumed to\nbe transformations on buffer positions, like `:expand' and `:contract'.\n\n(fn TYPE DOC [[KEY FUNC]...])","arglist":["type","doc","&rest","body"],"functionp":null,"macrop":true},"evil-window-decrease-height":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Decrease current window height by COUNT.","arglist":["count"],"functionp":true,"macrop":null},"evil-ex-get-optional-register-and-count":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Parse STRING as an ex arg with both optional REGISTER and COUNT.\nReturns a list (REGISTER COUNT).","arglist":["string"],"functionp":true,"macrop":null},"evil--jump-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set jump point if COMMAND has a non-nil :jump property.","arglist":["&optional","command"],"functionp":true,"macrop":null},"evil-this-type-modified":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil iff current motion type has been modified by the user.\nIf the type has been modified, this variable contains the new\ntype.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-beginning-of-visual-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the first character of the current screen line.","arglist":null,"functionp":true,"macrop":null},"evil-last-find":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"A pair (FUNCTION . CHAR) describing the lastest character\n search command.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-previous-line-first-non-blank":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor COUNT lines up on the first non-blank character.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-normal-state-local-minor-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Non-nil if Normal state is enabled.\nUse the command `evil-normal-state' to change this variable.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-visual-selection-function":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return a selection function for TYPE.\nDefault to `evil-visual-make-region'.","arglist":["selection"],"functionp":true,"macrop":null},"evil-was-yanked-without-register":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Whether text being saved to the numbered-register ring was\nnot deleted and not yanked to a specific register.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-inner-angle":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Select inner angle bracket.","arglist":["&optional","count","beg","end","type"],"functionp":true,"macrop":null},"evil-split-window-below":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"If non-nil split windows \\[:split] are created below.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-commands":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Association list of command bindings and functions.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-adjust-cursor":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move point one character back if at the end of a non-empty line.\nThis behavior is controled by `evil-move-beyond-eol'.","arglist":["&optional","_"],"functionp":true,"macrop":null},"evil-avy-goto-line-above":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Evil motion for `avy-goto-line-above'.","arglist":["&optional","_count"],"functionp":true,"macrop":null},"evil-ex-hl-update-delay":{"default":0.02,"local":null,"default-type":"float","var-docstring":"Time in seconds of idle before updating search highlighting.\nSetting this to a period shorter than that of keyboard's repeat\nrate allows highlights to update while scrolling.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-previous-shell-command":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The last shell command.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-cjk-word-separating-categories":{"default":"((67 . 72) (67 . 75) (67 . 107) (67 . 65) (67 . 71) (72 . 67) (72 . 75) (72 . 107) (72 . 65) (72 . 71) (75 . 67) (75 . 72) (75 . 107) (75 . 65) (75 . 71) (107 . 67) (107 . 72) (107 . 75) (65 . 67) (65 . 72) (65 . 75) (71 . 67) (71 . 72) (71 . 75))","local":null,"default-type":"cons","var-docstring":"List of pair (cons) of categories to determine word boundary\nused in `evil-cjk-word-boundary-p'. See the documentation of\n`word-separating-categories'. Use `describe-categories' to see\nthe list of categories.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-kill-on-visual-paste":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether pasting in visual state adds the replaced text to the\nkill ring, making it the default for the next paste. The default,\nreplicates the default Vim behavior.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-want-fine-undo":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Whether actions like \\[cw] are undone in several steps.\nThere are two possible choices. `nil' (\"no\") means that all\nchanges made during insert state, including a possible delete\nafter a change operation, are collected in a single undo step.\nNon-nil (\"yes\") means that undo steps are determined according\nto Emacs heuristics, and no attempt is made to aggregate changes.\n\nFor backward compatibility purposes, the value `fine' is\ninterpreted as `nil'. This option was removed because it did not\nwork consistently.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-want-keybinding":{"default":"t","local":null,"default-type":"symbol","var-docstring":"Whether to load evil-keybindings.el.\n\nThis loads a set of keybindings for evil in other modes as well as\nsetting the initial evil state in those modes.\n\nThis variable must be set before evil is loaded.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-alternate-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the last buffer WINDOW has displayed other than the\ncurrent one (equivalent to Vim's alternate buffer).\n\nReturns the first item in `window-prev-buffers' that isn't\n`window-buffer' of WINDOW.","arglist":["&optional","window"],"functionp":true,"macrop":null},"evil-visual-state-exit-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run when exiting Visual state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-set-cursor":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Change the cursor's apperance according to SPECS.\nSPECS may be a cursor type as per `cursor-type', a color\nstring as passed to `set-cursor-color', a zero-argument\nfunction for changing the cursor, or a list of the above.","arglist":["specs"],"functionp":true,"macrop":null},"evil-middle-of-visual-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the middle of the current visual line.","arglist":null,"functionp":true,"macrop":null},"evil-initialize-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set up the initial state for BUFFER.\nBUFFER defaults to the current buffer.\nUses STATE if specified, or calls `evil-initial-state-for-buffer'.\nSee also `evil-set-initial-state'.","arglist":["&optional","state","buffer"],"functionp":true,"macrop":null},"evil-ex-argument-handler":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"The argument handler for the current Ex command.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-read-quoted-char":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Command that calls `read-quoted-char'.\nThis command can be used wherever `read-quoted-char' is required\nas a command. Its main use is in the `evil-read-key-map'.","arglist":null,"functionp":true,"macrop":null},"evil-ex-first-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the line number of the first line.","arglist":null,"functionp":true,"macrop":null},"evil-window-set-height":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Sets the height of the current window to COUNT.","arglist":["count"],"functionp":true,"macrop":null},"evil-previous-state-alist":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"For Each evil state the Evil state being switched from.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-without-restriction":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Execute BODY with the top-most narrowing removed.\nThis works only if the previous narrowing has been generated by\n`evil-with-restriction'.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-search-word-forward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search forward for symbol under point.","arglist":["&optional","count","symbol"],"functionp":true,"macrop":null},"evil-ex-substitute-regex":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-vim-regexp-replacements":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-in-comment-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Checks if POS is within a comment according to current syntax.\nIf POS is nil, (point) is used. The return value is the beginning\nposition of the comment.","arglist":["&optional","pos"],"functionp":true,"macrop":null},"evil-ex-active-highlights-alist":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"An alist of currently active highlights.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-search-word-backward":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search backward for symbol under point.","arglist":["&optional","count","symbol"],"functionp":true,"macrop":null},"evil-want-minibuffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Whether to enable Evil in minibuffer(s).","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-set-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Set RANGE to have beginning BEG and end END.\nThe TYPE and additional PROPERTIES may also be specified.\nIf an argument is nil, it's not used; the previous value is retained.\nSee also `evil-set-range-beginning', `evil-set-range-end',\n`evil-set-range-type' and `evil-set-range-properties'.","arglist":["range","&optional","beg","end","type","&rest","properties"],"functionp":true,"macrop":null},"evil-ex-regex-without-case":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the regular expression without all occurrences of \\c and \\C.","arglist":["re"],"functionp":true,"macrop":null},"evil-clear-command-keys":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Clear `this-command-keys' and all information about the current command keys.\nCalling this function prevents further recording of the keys that\ninvoked the current command","arglist":null,"functionp":true,"macrop":null},"evil-define-text-object":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Define a text object command OBJECT.\nBODY should return a range (BEG END) to the right of point\nif COUNT is positive, and to the left of it if negative.\n\nOptional keyword arguments:\n- `:type' - determines how the range applies after an operator\n (`inclusive', `line', `block', and `exclusive', or a self-defined\n motion type).\n- `:extend-selection' - if non-nil (default), the text object always\n enlarges the current selection. Otherwise, it replaces the current\n selection.\n\n(fn OBJECT (COUNT) DOC [[KEY VALUE]...] BODY...)","arglist":["object","args","&rest","body"],"functionp":null,"macrop":true},"evil-repeat-record":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Add INFO to the end of `evil-repeat-info'.","arglist":["info"],"functionp":true,"macrop":null},"evil-buffer-regexps":{"default":"((\"^ \\\\*load\\\\*\"))","local":null,"default-type":"cons","var-docstring":"Regular expressions determining the initial state for a buffer.\nEntries have the form (REGEXP . STATE), where REGEXP is a regular\nexpression matching the buffer's name and STATE is one of `normal',\n`insert', `visual', `replace', `operator', `motion', `emacs' and\n`nil'. If STATE is `nil', Evil is disabled in the buffer.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-repeat-start-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Record a new repeat when exiting Normal state.\nDoes not record in Emacs state or if the current command\nhas :repeat nil.","arglist":null,"functionp":true,"macrop":null},"evil-cleanup-insert-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Called when Insert state is about to be exited.\nHandles the repeat-count of the insertion command.","arglist":null,"functionp":true,"macrop":null},"evil-delete":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Delete text from BEG to END with TYPE.\nSave in REGISTER or in the kill-ring with YANK-HANDLER.","arglist":["beg","end","&optional","type","register","yank-handler"],"functionp":true,"macrop":null},"evil-forward-chars":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move point to the end or beginning of a sequence of CHARS.\nCHARS is a character set as inside [...] in a regular expression.","arglist":["chars","&optional","count"],"functionp":true,"macrop":null},"evil-visual-paste":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Paste over Visual selection.","arglist":["count","&optional","register"],"functionp":true,"macrop":null},"evil-end-undo-step":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"End a undo step started with `evil-start-undo-step'.\nAdds an undo boundary unless CONTINUE is specified.","arglist":["&optional","continue"],"functionp":true,"macrop":null},"evil-save-cursor":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Save the current cursor; execute BODY; restore the cursor.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-refresh-undo-step":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Refresh `buffer-undo-list' entries for current undo step.\nUndo boundaries until `evil-undo-list-pointer' are removed to\nmake the entries undoable as a single action. See\n`evil-start-undo-step'.","arglist":null,"functionp":true,"macrop":null},"evil-close-folds":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Close all folds.\nSee also `evil-open-folds'.","arglist":null,"functionp":true,"macrop":null},"evil-emacs-state-exit-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Hooks to run when exiting Emacs state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-save-and-close":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Saves the current buffer and closes the window.","arglist":["file","&optional","bang"],"functionp":true,"macrop":null},"evil-compile-replacement":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Maybe convert a regexp replacement TO to Lisp.\nReturns a list suitable for `perform-replace' if necessary, the\noriginal string if not. Currently the following magic characters\nin replacements are supported: 0-9&#lLuUrnbt,\nThe magic character , (comma) start an Emacs-lisp expression.","arglist":["to"],"functionp":true,"macrop":null},"evil-push-search-history":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Push STRING into the appropriate search history (determined by FORWARD).","arglist":["string","forward"],"functionp":true,"macrop":null},"evil-repeat-pre-hook":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Prepare the current command for recording the repeation.","arglist":null,"functionp":true,"macrop":null},"evil-redirect-digit-argument":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Bind a wrapper function calling TARGET or `digit-argument'.\nMAP is a keymap for binding KEYS to the wrapper for TARGET.\nThe wrapper only calls `digit-argument' if a prefix-argument\nhas already been started; otherwise TARGET is called.","arglist":["map","keys","target"],"functionp":null,"macrop":true},"evil-save":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Save the current buffer to FILENAME.\nChanges the file name of the current buffer to FILENAME. If no\nFILENAME is given, the current file name is used.","arglist":["filename","&optional","bang"],"functionp":true,"macrop":null},"evil-no-display":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"If non-nil, various Evil displays are inhibited.\nUse the macro `evil-without-display' to set this variable.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-save-state":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Save the current state; execute BODY; restore the state.","arglist":["&rest","body"],"functionp":null,"macrop":true},"evil-line-position":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the position of LINE.\nIf COLUMN is specified, return its position on the line.\nA negative number means the end of the line.","arglist":["line","&optional","column"],"functionp":true,"macrop":null},"evil-insert-state-local-map":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Buffer-local keymap for Insert state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-operator-range-motion":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Motion of `evil-operator-range'.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-this-type":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Current motion type.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil--get-block-range":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the exclusive range of a visual selection.\nOP and CL are pairs of buffer positions for the opening and\nclosing delimiter of a range. SELECTION-TYPE is the desired type\nof selection. It is a symbol that determines which parts of the\nblock are selected. If it is 'inclusive or t the returned range\nis (cons (car OP) (cdr CL)). If it is 'exclusive or nil the\nreturned range is (cons (cdr OP) (car CL)). If it is\n'exclusive-line the returned range will skip whitespace at the\nend of the line of OP and at the beginning of the line of CL.","arglist":["op","cl","selection-type"],"functionp":true,"macrop":null},"evil-next-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor COUNT lines down.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-visual-x-select-timer":{"default":"nil","local":true,"default-type":"symbol","var-docstring":"Timer for updating the X selection in visual state.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-jumps-cross-buffers":{"default":"t","local":null,"default-type":"symbol","var-docstring":"When non-nil, the jump commands can cross borders between buffers, otherwise the jump commands act only within the current buffer.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-local-mode-major-mode":{"default":"nil","local":true,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-ex-hl-pattern":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the pattern of the highlight HL.","arglist":["hl"],"functionp":true,"macrop":null},"evil-delete-back-to-indentation":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Delete back to the first non-whitespace character.\nIf point is before the first non-whitespace character of a\ncurrent line then delete from the point to the beginning of the\ncurrent line. If point is on the beginning of the line, behave\naccording to `evil-backspace-join-lines'.","arglist":null,"functionp":true,"macrop":null},"evil-visual-type":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Return the type of the Visual selection.\nIf SELECTION is specified, return the type of that instead.","arglist":["&optional","selection"],"functionp":true,"macrop":null},"evil-window-prev":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the previous window in the cyclic order.\nWith COUNT go to the count-th window in the order starting from\ntop-left.","arglist":["count"],"functionp":true,"macrop":null},"evil-lookup":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Look up the keyword at point.\nCalls `evil-lookup-func'.","arglist":null,"functionp":true,"macrop":null},"evil-ex-argument-types":{"default":"nil","local":null,"default-type":"symbol","var-docstring":"Association list of argument handlers.","fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-complete-previous":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Complete to the nearest preceding word.\nSearch forward if a match isn't found.\nCalls `evil-complete-previous-func'.","arglist":["&optional","arg"],"functionp":true,"macrop":null},"evil-change-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Change to end of line.","arglist":["beg","end","&optional","type","register","yank-handler"],"functionp":true,"macrop":null},"evil-scroll-column-right":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Scrolls the window COUNT columns to the right.","arglist":["count"],"functionp":true,"macrop":null},"evil-regexp-magic":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-backward-char":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move cursor to the left by COUNT characters.\nMovement is restricted to the current line unless CROSSLINES is non-nil.\nIf NOERROR is non-nil, don't signal an error upon reaching the beginning\nof the line or the buffer; just return nil.","arglist":["&optional","count","crosslines","noerror"],"functionp":true,"macrop":null},"evil-ex-search":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Search forward or backward COUNT times for the current ex search pattern.\nThe search pattern is determined by `evil-ex-search-pattern' and\nthe direcion is determined by `evil-ex-search-direction'.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-buffer":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Switches to another buffer.","arglist":["buffer"],"functionp":true,"macrop":null},"evil-repeat-finish-record-changes":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Finishes the recording of buffer changes and records them as repeat.","arglist":null,"functionp":true,"macrop":null},"evil-forward-WORD-end":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to the end of the COUNT-th next WORD.","arglist":["&optional","count"],"functionp":true,"macrop":null},"evil-integration":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":true,"functionp":null,"macrop":null},"evil-save-and-quit":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Save all buffers and exit Emacs.","arglist":null,"functionp":true,"macrop":null},"evil-window-right":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Move the cursor to new COUNT-th window right of the current one.","arglist":["count"],"functionp":true,"macrop":null},"evil-visual-make-region":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Create an active region from MARK to POINT.\nIf TYPE is given, also set the Visual type.\nIf MESSAGE is given, display it in the echo area.","arglist":["mark","point","&optional","type","message"],"functionp":true,"macrop":null},"evil-ret-gen":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":["count","indent?"],"functionp":true,"macrop":null},"evil-digit-argument-or-evil-beginning-of-line":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":null,"arglist":null,"functionp":true,"macrop":null},"evil-delete-backward-char":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Delete previous character.","arglist":["beg","end","&optional","type","register"],"functionp":true,"macrop":null},"evil-command-window-ex":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Open a command line window for editing and executing ex commands.\nIf CURRENT-COMMAND is present, it will be inserted under the\ncursor as the current command to be edited.","arglist":["&optional","current-command"],"functionp":true,"macrop":null},"evil-visual-state-p":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Whether the current state is Visual state.\n(That is, whether `evil-state' is `visual'.)","arglist":["&optional","state"],"functionp":true,"macrop":null},"evil-upcase":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Convert text to upper case.","arglist":["beg","end","&optional","type"],"functionp":true,"macrop":null},"evil-repeat-reset":{"default":"nil","local":null,"default-type":"symbol","var-docstring":null,"fn-docstring":"Clear all repeat recording variables.\nSet `evil-recording-repeat' to FLAG.","arglist":["flag"],"functionp":true,"macrop":null}} \ No newline at end of file diff --git a/scripts/evil-extract-docstrings b/scripts/evil-extract-docstrings new file mode 100755 index 0000000..9e636b6 --- /dev/null +++ b/scripts/evil-extract-docstrings @@ -0,0 +1,30 @@ +#!/usr/bin/emacs --script + +(setq cur-path (file-name-directory load-file-name)) + +(add-to-list 'load-path (format "%s.." cur-path)) +(require 'evil) +(require 'json) +(require 'help) + +(with-temp-file (format "%s../doc/docstringdb.json" cur-path) + (let (vars) + (mapatoms + (lambda (sym) + (when (string-prefix-p "evil-" (symbol-name sym)) + (let ((default (car (get sym 'standard-value)))) + (while (and (consp default) (memq (car default) '(function quote))) + (setq default (cadr default))) + (push `(,sym (default . ,(cond + ((consp default) (format "%S" default)) + ((symbolp default) (symbol-name default)) + (t default))) + (local . ,(local-variable-if-set-p sym)) + (default-type . ,(type-of default)) + (var-docstring . ,(documentation-property sym 'variable-documentation 'raw)) + (fn-docstring . ,(ignore-errors (documentation sym 'raw))) + (arglist . ,(help-function-arglist sym)) + (functionp . ,(functionp sym)) + (macrop . ,(macrop sym))) + vars))))) + (insert (json-encode vars)))) -- cgit v1.0 From 9b411da84e7c3a4fe753cc59f709cee596c06432 Mon Sep 17 00:00:00 2001 From: Eivind Fonn Date: Wed, 11 Dec 2019 23:09:19 +0100 Subject: Use sphinx for documentation --- .gitignore | 2 + doc/Makefile | 24 +- doc/evil.pdf | Bin 246764 -> 0 bytes doc/evil.texi | 769 ----------------------------------------------- doc/fdl-1.3.texi | 506 ------------------------------- doc/macros.texi | 13 - doc/make.bat | 35 +++ doc/source/_ext/elisp.py | 297 ++++++++++++++++++ doc/source/conf.py | 84 ++++++ doc/source/extension.rst | 146 +++++++++ doc/source/hooks.rst | 16 + doc/source/index.rst | 20 ++ doc/source/indices.rst | 6 + doc/source/internals.rst | 36 +++ doc/source/keymaps.rst | 125 ++++++++ doc/source/license.rst | 447 +++++++++++++++++++++++++++ doc/source/overview.rst | 107 +++++++ doc/source/settings.rst | 185 ++++++++++++ doc/version.texi | 7 - 19 files changed, 1523 insertions(+), 1302 deletions(-) delete mode 100644 doc/evil.pdf delete mode 100644 doc/evil.texi delete mode 100644 doc/fdl-1.3.texi delete mode 100644 doc/macros.texi create mode 100644 doc/make.bat create mode 100644 doc/source/_ext/elisp.py create mode 100644 doc/source/conf.py create mode 100644 doc/source/extension.rst create mode 100644 doc/source/hooks.rst create mode 100644 doc/source/index.rst create mode 100644 doc/source/indices.rst create mode 100644 doc/source/internals.rst create mode 100644 doc/source/keymaps.rst create mode 100644 doc/source/license.rst create mode 100644 doc/source/overview.rst create mode 100644 doc/source/settings.rst delete mode 100644 doc/version.texi diff --git a/.gitignore b/.gitignore index 102d7b0..43e3062 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,5 @@ typescript /doc/*.toc /doc/*.vr /doc/*.vrs +/doc/build/ +*.pyc diff --git a/doc/Makefile b/doc/Makefile index 8c3acf5..d0c3cbf 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,10 +1,20 @@ -.PHONY: clean +# Minimal makefile for Sphinx documentation +# -%.info: %.texi - makeinfo --no-split $< +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = source +BUILDDIR = build -%.pdf: %.texi - texi2pdf $< +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -clean: - rm -f *.aux *.cp *.fn *.fns *.info *.ky *.log *.pg *.toc *.tp *.vr *.vrs +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/doc/evil.pdf b/doc/evil.pdf deleted file mode 100644 index db9296e..0000000 Binary files a/doc/evil.pdf and /dev/null differ diff --git a/doc/evil.texi b/doc/evil.texi deleted file mode 100644 index 407ef7a..0000000 --- a/doc/evil.texi +++ /dev/null @@ -1,769 +0,0 @@ -\input texinfo @c -*-texinfo-*- -@setfilename evil.info -@documentencoding ISO-8859-1 -@include version.texi -@settitle Evil-mode manual -@include macros.texi - -@copying -This manual is for Evil (version @value{VERSION} of @value{UPDATED}), -an extensible vi layer for Emacs. - -Copyright @copyright{} 2011 @authors{}. - -@quotation -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled -``GNU Free Documentation License''. -@end quotation - -The Evil team thanks everyone at gmane.emacs.vim-emulation for -their feedback and contributions. -@end copying - -@dircategory Emacs -@direntry -* Evil: (evil). Extensible vi layer for Emacs. -@end direntry - -@titlepage -@title Evil -@subtitle Extensible vi layer for Emacs -@author @authors{} -@page -@insertcopying -@end titlepage - -@contents - -@ifnottex -@node Top, Overview, (dir), (dir) -@top Evil - -This is the manual for Evil, an extensible vi layer for Emacs. -@end ifnottex - -@menu -* Overview:: -* Settings:: -* Keymaps:: -* Hooks:: -* Macros:: -* Other internals:: -* GNU Free Documentation License:: -@end menu - -@node Overview -@chapter Overview - -Evil is an extensible vi layer for Emacs. It emulates the main features -of Vim,@footnote{Vim is the most popular version of @dfn{vi}, a modal -text editor with many implementations. Vim also adds some functions of -its own, like Visual selection and text objects. For more information, -see: @uref{http://www.vim.org/}} turning Emacs into a modal editor. -Like Emacs in general, Evil is extensible in Emacs Lisp. - -@menu -* Installation:: -* Modes and states:: -@end menu - -@node Installation -@section Installation - -Evil lives in a Git repository. To download Evil, do: - -@example -git clone https://github.com/emacs-evil/evil.git -@end example - -@noindent Move Evil to @code{~/.emacs.d/evil}. Then add the following -lines to @code{~/.emacs}: - -@lisp -(add-to-list 'load-path "~/.emacs.d/evil") -(require 'evil) -(evil-mode 1) -@end lisp - -@noindent Evil requires @code{undo-tree.el} to provide linear undo -and undo branches. It is available from -EmacsWiki.@footnote{@uref{http://www.emacswiki.org/emacs/UndoTree}} -(A copy of @code{undo-tree.el} is also included in the Git repository.) - -@node Modes and states -@section Modes and states - -The next time Emacs is started, it will come up in @dfn{Normal state}, -denoted by @code{} on the mode line. This is where the main vi -bindings are defined. Note that you can always disable Normal state -with @kbd{C-z}, which switches to an ``Emacs state'' (denoted by -@code{}) in which vi keys are completely disabled. Press @kbd{C-z} -again to switch back to Normal state. - -Evil uses the term @dfn{state} for what is called a ``mode'' in vi, -since ``mode'' already has its own meaning in Emacs. Evil defines a -number of states, such as Normal state (@code{}), Insert state -(@code{}), Visual state (@code{}), Replace state (@code{}), -Operator-Pending state (@code{}), Motion state (@code{}) and Emacs -state (@code{}). Each state has its own keymaps and customization -variables. - -Meanwhile, a @dfn{mode} in Emacs is a set of key bindings for editing a -certain sort of text, like @code{emacs-lisp-mode} for Emacs Lisp. Modes -may include custom bindings for Evil states. - -@node Settings -@chapter Settings - -Evil's behavior can be adjusted by setting various variables. -The current values may be inspected by doing -@kbd{M-x customize-group RET evil RET}. - -To change the value of a variable, add a @samp{setq} form to -@code{~/.emacs}, preferably before Evil is loaded:@footnote{Strictly -speaking, the order only matters if the variable affects the way Evil is -loaded. This is the case with some of the @samp{evil-want-} variables.} - -@lisp -(setq evil-shift-width 8) -;; @r{Load Evil} -(require 'evil) @r{@dots{}} -@end lisp - -@noindent Note that if a variable is buffer-local, you must use -@samp{setq-default} instead of @samp{setq} to change its global value. - -@defvar evil-auto-indent -Whether the current line is indented when entering Insert state. -If @code{t} (the default), then the line is indented. If @code{nil}, -then the line is not indented. Buffer-local. -@end defvar - -@defvar evil-shift-width -The number of columns a line is shifted by the commands -@kbd{>} and @kbd{<}. -@end defvar - -@defvar evil-repeat-move-cursor -If @code{t} (the default), then repeating a command with @kbd{.} may -change the position of the cursor. If @code{nil}, then the original -position is preserved. -@end defvar - -@defvar evil-find-skip-newlines -If @code{t}, then @kbd{f}, @kbd{F}, @kbd{t} and @kbd{T} may skip over -newlines to find a character. If @code{nil} (the default), then they -are restricted to the current line. -@end defvar - -@defvar evil-move-cursor-back -If @code{t} (the default), then the cursor moves backwards when exiting -Insert state. If @code{nil}, then the cursor does not move. -@end defvar - -@defvar evil-want-fine-undo -If @code{t}, then a change-based action like @kbd{cw} may be undone -in several steps. If @code{nil} (the default), then it is undone in -one step. -@end defvar - -@defvar evil-regexp-search -If @code{t} (the default), then @kbd{/} and @kbd{?} use regular -expressions for searching. If @code{nil}, they use plain text. -@end defvar - -@defvar evil-search-wrap -If @code{t} (the default), then @kbd{/} and @kbd{?} wrap the search -around the buffer. If @code{nil}, then they stop at buffer boundaries. -@end defvar - -@defvar evil-flash-delay -The number of seconds to flash search matches when pressing @kbd{n} -and @kbd{N}. -@end defvar - -@defvar evil-want-C-i-jump -If @code{t} (the default), then @kbd{C-i} jumps forwards in the jump -list. If @code{nil}, then @kbd{C-i} inserts a tab. -@end defvar - -@defvar evil-want-C-u-scroll -If @code{t}, then @kbd{C-u} scrolls the buffer. If @code{nil} (the -default), then @kbd{C-u} begins a numeric prefix argument. -@end defvar - -@menu -* The cursor:: -* The initial state:: -@end menu - -@node The cursor -@section The cursor - -A state may change the cursor's appearance. The cursor settings are -stored in the variables below, which may contain a cursor type as per -the @samp{cursor-type} variable, a color string as passed to the -@samp{set-cursor-color} function, a zero-argument function for changing -the cursor, or a list of the above. For example, the following changes -the cursor in Replace state to a red box: - -@lisp -(setq evil-replace-state-cursor '("red" box)) -@end lisp - -@noindent If the state does not specify a cursor, -@samp{evil-default-cursor} is used. - -@defvar evil-default-cursor -The default cursor. -@end defvar - -@defvar evil-normal-state-cursor -The cursor for Normal state. -@end defvar - -@defvar evil-insert-state-cursor -The cursor for Insert state. -@end defvar - -@defvar evil-visual-state-cursor -The cursor for Visual state. -@end defvar - -@defvar evil-replace-state-cursor -The cursor for Replace state. -@end defvar - -@defvar evil-operator-state-cursor -The cursor for Operator-Pending state. -@end defvar - -@defvar evil-motion-state-cursor -The cursor for Motion state. -@end defvar - -@defvar evil-emacs-state-cursor -The cursor for Emacs state. -@end defvar - -@node The initial state -@section The initial state - -By default, a new buffer comes up in Normal state. This can be changed -with the function @samp{evil-set-initial-state}. - -@defun evil-set-initial-state mode state -Set the initial state for a buffer in which @var{mode} is active to -@var{state}. @var{mode} should be a major mode such as -@code{text-mode}, although minor modes work as well. -@end defun - -@node Keymaps -@chapter Keymaps - -Evil's key bindings are stored in a number of keymaps. Each state has a -@dfn{global keymap}, where the default key bindings for the state are -stored. For example, the global keymap for Normal state is -@samp{evil-normal-state-map}, and the key bindings in this map are seen -in all buffers that are currently in Normal state. - -Keymaps are modified with the Emacs function @samp{define-key}: - -@lisp -(define-key evil-normal-state-map "w" 'foo) -@end lisp - -@noindent This binds the key @kbd{w} to the command @samp{foo} -in Normal state. The file @code{evil-maps.el} contains all the -key bindings. - -@defvar evil-normal-state-map -The global keymap for Normal state. -@end defvar - -@defvar evil-insert-state-map -The global keymap for Insert state. -@end defvar - -@defvar evil-visual-state-map -The global keymap for Visual state. -@end defvar - -@defvar evil-replace-state-map -The global keymap for Replace state. -@end defvar - -@defvar evil-operator-state-map -The global keymap for Operator-Pending state. -@end defvar - -@defvar evil-motion-state-map -The global keymap for Motion state. -@end defvar - -@noindent Each state also has a @dfn{buffer-local keymap}, -which is specific to the current buffer and has precedence over -the global keymap. These maps may be changed from a mode hook. - -@defvar evil-normal-state-local-map -Buffer-local keymap for Normal state. -@end defvar - -@defvar evil-insert-state-local-map -Buffer-local keymap for Insert state. -@end defvar - -@defvar evil-visual-state-local-map -Buffer-local keymap for Visual state. -@end defvar - -@defvar evil-replace-state-local-map -Buffer-local keymap for Replace state. -@end defvar - -@defvar evil-operator-state-local-map -Buffer-local keymap for Operator-Pending state. -@end defvar - -@defvar evil-motion-state-local-map -Buffer-local keymap for Motion state. -@end defvar - -@menu -* @samp{evil-define-key}:: -@end menu - -@node @samp{evil-define-key} -@section @samp{evil-define-key} - -Finally, Evil provides the function @samp{evil-define-key} for adding -state bindings to a regular keymap. - -@defun evil-define-key state keymap key def -In @var{keymap}, create a binding from @var{key} to @var{def} in -@var{state}. @var{state} is one of @samp{normal}, @samp{insert}, -@samp{visual}, @samp{replace}, @samp{operator} and @samp{motion}. -The other parameters are like those of @samp{define-key}. -@end defun - -@noindent @samp{evil-define-key} can be used to augment existing -modes with state bindings, as well as create packages for custom -bindings. For example, the following will create a minor mode -@code{foo-mode} with Normal state bindings for the keys @kbd{w} -and @kbd{e}: - -@lisp -(define-minor-mode foo-mode - "Foo mode." - :keymap (make-sparse-keymap)) - -(evil-define-key 'normal foo-mode-map "w" 'bar) -(evil-define-key 'normal foo-mode-map "e" 'baz) -@end lisp - -@noindent This minor mode can then be enabled in any buffers where -the custom bindings are desired: - -@lisp -(add-hook 'text-mode-hook 'foo-mode) ; @r{enable alongside @code{text-mode}} -@end lisp - -@noindent If the minor mode is put into its own file @code{foo.el} -with a @code{(provide 'foo)} statement, it becomes an Emacs package. - -@node Hooks -@chapter Hooks - -A @dfn{hook} is a list of functions to execute. Hooks are modified with -the Emacs function @samp{add-hook}. Evil provides entry and exit hooks -for all of its states. - -@defvar evil-normal-state-entry-hook -Run when entering Normal state. -@end defvar - -@defvar evil-normal-state-exit-hook -Run when exiting Normal state. -@end defvar - -@defvar evil-insert-state-entry-hook -Run when entering Insert state. -@end defvar - -@defvar evil-insert-state-exit-hook -Run when exiting Insert state. -@end defvar - -@defvar evil-visual-state-entry-hook -Run when entering Visual state. -@end defvar - -@defvar evil-visual-state-exit-hook -Run when exiting Visual state. -@end defvar - -@defvar evil-replace-state-entry-hook -Run when entering Replace state. -@end defvar - -@defvar evil-replace-state-exit-hook -Run when exiting Replace state. -@end defvar - -@defvar evil-operator-state-entry-hook -Run when entering Operator-Pending state. -@end defvar - -@defvar evil-operator-state-exit-hook -Run when exiting Operator-Pending state. -@end defvar - -@defvar evil-motion-state-entry-hook -Run when entering Motion state. -@end defvar - -@defvar evil-motion-state-exit-hook -Run when exiting Motion state. -@end defvar - -@noindent When these hooks are run, the variables @samp{evil-next-state} -and @samp{evil-previous-state} hold information about the states being -switched to and from. - -@defvar evil-next-state -The state being switched to. -@end defvar - -@defvar evil-previous-state -The state being switched from. -@end defvar - -@node Macros -@chapter Macros - -Evil is implemented in terms of reusable macros. Package writers can -use these to define new commands. - -@menu -* Motions:: -* Operators:: -* Text objects:: -* Types:: -* States:: -@end menu - -@node Motions -@section Motions - -A @dfn{motion} is a command which moves the cursor, such as @kbd{w} and -@kbd{e}. Motions are defined with the macro @samp{evil-define-motion}. -Motions not defined in this way should be declared with -@samp{evil-declare-motion}. - -@defun evil-declare-motion command -Declare @var{command} to be a motion. This ensures that it works -properly in Visual state. -@end defun - -@defmac evil-define-motion motion (count args@dots{}) doc keyword-args@dots{} body@dots{} -Define a movement command @var{motion}. A motion can have any number of -arguments, but the first argument, if any, has a predefined meaning as -the @var{count}. It is a positive or negative number, or @code{nil}. -The argument list is followed by the documentation string @var{doc}, -which is followed by optional keyword arguments: - -@table @code -@item :type @var{type} -The @var{type} determines how the motion works after an operator. If -@var{type} is @samp{inclusive}, then the ending position is included in -the motion range. If @var{type} is @samp{line}, then the range is -expanded to linewise positions. If @var{type} is @samp{block}, then the -range is blockwise. The default is @samp{exclusive}, which means that -the range is used as-is. - -@item :jump @var{jump} -If @var{jump} is @code{t}, then the previous position is stored in the -jump list so it can be restored with @kbd{C-o}. The default is -@code{nil}. -@end table - -The keyword arguments are followed by the @var{body}, which is where -the motion's behavior is defined. For instance: - -@lisp -(evil-define-motion foo-forward (count) - "Move to the right by COUNT characters." - :type inclusive - (forward-char (or count 1))) -@end lisp - -For more examples, you can view the source code for any command with -@kbd{C-h k}. For instance, @samp{evil-goto-line} may be viewed by -typing @kbd{C-h k G} and following the file link. -@end defmac - -@node Operators -@section Operators - -An @dfn{operator} is a command which acts on the text moved over by a -motion, such as @kbd{c}, @kbd{d} and @kbd{y}. Operators are defined -with the macro @samp{evil-define-operator}. - -@defmac evil-define-operator operator (beg end type args@dots{}) doc keyword-args@dots{} body@dots{} -Define an operator command @var{operator}. An operator must have at -least two or three arguments, which have predefined meanings. -@var{beg} is the beginning position, @var{end} is the ending position, -and @var{type}, if given, is the type of the motion range. The argument -list is followed by the documentation string @var{doc}, which is -followed by optional keyword arguments: - -@table @code -@item :type @var{type} -Make the input range be a certain @var{type}. For example, an operator -which only works with whole lines may set @var{type} to @samp{line}. - -@item :motion @var{motion} -Use the motion @var{motion} instead of reading one from the keyboard. -This does not affect the behavior in Visual state, where the selection -boundaries are used instead. - -@item :repeat @var{repeat} -If @var{repeat} is @code{t} (the default), then @kbd{.} will repeat the -operator. If @var{repeat} is @code{nil}, then the operator will not be -repeated. - -@item :move-point @var{move-point} -If @var{move-point} is @code{t} (the default), then the cursor is -positioned at the beginning of the range. If @var{move-point} is -@code{nil}, then the original position is preserved. - -@item :keep-visual @var{keep-visual} -If @var{keep-visual} is @code{t}, then the selection is not disabled -when the operator is run in Visual state; it is up to the operator to do -this. The default is @code{nil}, which means that Visual state is -exited automatically. -@end table - -The keyword arguments are followed by the @var{body}, which is where the -operator's actions on @var{beg} and @var{end} are defined. For example, -@samp{evil-rot13}, which is bound to @kbd{g?} and performs ROT13 -encryption on the text, may be defined as: - -@lisp -(evil-define-operator evil-rot13 (beg end) - "ROT13 encrypt text." - (rot13-region beg end)) -@end lisp - -Pressing @kbd{g?w} will encrypt a word by calling @samp{rot13-region} -on the text moved over by the @kbd{w} motion. -@end defmac - -@node Text objects -@section Text objects - -A @dfn{text object} is a special kind of motion which sets a beginning -position as well as an ending position, such as @kbd{iw} and @kbd{a(}. -In Visual state, text objects alter both ends of the selection. Text -objects are defined with the macro @samp{evil-define-text-object}. - -@defmac evil-define-text-object object (count args@dots{}) doc keyword-args@dots{} body@dots{} -Define a text object @var{object}. The first argument has a predefined -meaning as the @var{count}: it is a positive or negative number. The -argument list is followed by the documentation string @var{doc}, which -is followed by optional keyword arguments: - -@table @code -@item :type @var{type} -Use the type @var{type} after an operator. In Visual state, this is the -type of the selection. - -@item :extend-selection @var{extend-selection} -If @var{extend-selection} is @code{t} (the default), then the text -object always enlarges the current selection. If @code{nil}, then the -object replaces the selection. -@end table - -The keyword arguments are followed by the @var{body}, which should -evaluate to a list @code{(@var{beg} @var{end})} of two positions in the -buffer. For example, a text object which selects three characters -following the current position could be defined as: - -@lisp -(evil-define-text-object foo (count) - "Select three characters." - (list (point) (+ (point) 3))) -@end lisp -@end defmac - -@noindent Evil provides several functions which return a list of -positions, for use in the definition of a text object. These functions -follow the rule that a positive @var{count} selects text after the -current position, while a negative @var{count} selects text before it. - -@defun evil-inner-object-range count forward backward -Return a text range @code{(@var{beg} @var{end})} of @var{count} -``inner'' text objects (e.g., @kbd{iw}, @kbd{is}). @var{forward} is a -function which moves to the end of an object, and @var{backward} is a -function which moves to the beginning. -@end defun - -@defun evil-an-object-range count forward backward -Return a text range @code{(@var{beg} @var{end})} of @var{count} text -objects with whitespace (e.g., @kbd{aw}, @kbd{as}). @var{forward} is a -function which moves to the end of an object, and @var{backward} is a -function which moves to the beginning. -@end defun - -@defun evil-paren-range count open close &optional exclusive -Return a text range @code{(@var{beg} @var{end})} of @var{count} -delimited blocks (e.g., @kbd{i(}, @kbd{a(}). @var{open} and @var{close} -are characters. If @var{exclusive} is non-nil, then the delimiters are -excluded from the range. This function uses Emacs' syntax table and is -only applicable for single-character delimiters; use -@samp{evil-regexp-range} to match multiple characters. -@end defun - -@defun evil-regexp-range count open close &optional exclusive -Return a text range @code{(@var{beg} @var{end})} of @var{count} -delimited blocks (e.g., @kbd{it}, @kbd{at}). @var{open} and @var{close} -are regular expressions. If @var{exclusive} is non-nil, then the -delimiters are excluded from the range. -@end defun - -@node Types -@section Types - -A @dfn{type} is a transformation on a pair of buffer positions. Evil -defines the types @samp{exclusive}, @samp{inclusive}, @samp{line} and -@samp{block}, which are used for motion ranges and Visual selection. -Types are defined with the macro @samp{evil-define-type}. - -@defmac evil-define-type type doc keyword-args@dots{} -Define a type @var{type}, described by the documentation string -@var{doc}. Then follows keyword arguments: - -@table @code -@item :expand @var{expand} -A function which takes two buffer positions and returns a list -@code{(@var{beg} @var{end})} of expanded positions. - -@item :contract @var{contract} -A function which takes two expanded buffer positions and returns a list -@code{(@var{beg} @var{end})} of unexpanded positions. Optional. - -@item :normalize @var{normalize} -A function which takes two unexpanded buffer positions and returns a -list @code{(@var{beg} @var{end})} of adjusted positions. Optional. - -@item :injective @var{injective} -If @code{t} (the default), then expansion is one-to-one -- i.e., -@var{expand} followed by @var{contract} always returns the original -positions. If @code{nil}, then several positions may expand to the same -(for example, the @samp{line} type is one-to-many as it expands to the -containing lines). -@end table - -Further keywords and functions may be specified. These are understood -to be transformations on buffer positions, like @var{expand} and -@var{contract}. -@end defmac - -@node States -@section States - -States are defined with the macro @samp{evil-define-state}. The macro -defines the necessary hooks, keymaps and variables for a state, as well -as a toggle function @samp{evil-@var{state}-state} for entering the -state, and a predicate function @samp{evil-@var{state}-state-p} which -returns @code{t} when the state is active, and @code{nil} otherwise. - -@defmac evil-define-state state doc keyword-args@dots{} body@dots{} -Define an Evil state @var{state}, described by the documentation string -@var{doc}. Then follows optional keyword arguments: - -@table @code -@item :tag @var{tag} -Mode line indicitor, e.g., @code{""}. -@item :message @var{message} -String shown in the echo area. -@item :cursor @var{cursor} -Cursor specification. -@item :enable @var{enable} -List of other modes and states to enable. A state may enable another -state's keymaps in addition to its own. -@end table - -This is followed the @var{body}, which is executed whenever the state is -enabled or disabled. The state's predicate function may be used to -distinguish between the two. -@end defmac - -@node Other internals -@chapter Other internals - -@menu -* Command properties:: -@end menu - -@node Command properties -@section Command properties - -Evil defines @dfn{command properties} to store information about -commands, such as whether they should be repeated. A command property -is a @code{@var{:keyword}} with an associated value, e.g., @code{:repeat -nil}. - -@defun evil-add-command-properties command &rest properties -Add @var{properties} to @var{command}. The properties should be -specified as a list of keywords and values: - -@lisp -(evil-add-command-properties 'my-command :repeat t) -@end lisp -@end defun - -@defun evil-set-command-properties command &rest properties -Like @samp{evil-add-command-properties}, but resets all -previous properties. -@end defun - -@defun evil-get-command-property command property -Return the value of a command property. -@end defun - -@defmac evil-define-command command (args@dots{}) doc keyword-args@dots{} body@dots{} -Define a command with command properties @var{keyword-args}. -@end defmac - -@noindent For setting repeat properties, Evil provides the -following functions: - -@defun evil-declare-repeat command -Declare @var{command} to be repeatable. -@end defun - -@defun evil-declare-not-repeat command -Declare @var{command} to be nonrepeatable. -@end defun - -@defun evil-declare-change-repeat command -Declare @var{command} to be repeatable by buffer changes rather than -keystrokes. -@end defun - -@node GNU Free Documentation License -@appendix GNU Free Documentation License -@include fdl-1.3.texi - -@bye - -@c Local Variables: -@c mode: texinfo -@c TeX-master: t -@c sentence-end-double-space: t -@c End: diff --git a/doc/fdl-1.3.texi b/doc/fdl-1.3.texi deleted file mode 100644 index fc19ddd..0000000 --- a/doc/fdl-1.3.texi +++ /dev/null @@ -1,506 +0,0 @@ -@c The GNU Free Documentation License. -@center Version 1.3, 3 November 2008 - -@c This file is intended to be included within another document, -@c hence no sectioning command or @node. - -@display -Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. -@uref{http://fsf.org/} - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. -@end display - -@enumerate 0 -@item -PREAMBLE - -The purpose of this License is to make a manual, textbook, or other -functional and useful document @dfn{free} in the sense of freedom: to -assure everyone the effective freedom to copy and redistribute it, -with or without modifying it, either commercially or noncommercially. -Secondarily, this License preserves for the author and publisher a way -to get credit for their work, while not being considered responsible -for modifications made by others. - -This License is a kind of ``copyleft'', which means that derivative -works of the document must themselves be free in the same sense. It -complements the GNU General Public License, which is a copyleft -license designed for free software. - -We have designed this License in order to use it for manuals for free -software, because free software needs free documentation: a free -program should come with manuals providing the same freedoms that the -software does. But this License is not limited to software manuals; -it can be used for any textual work, regardless of subject matter or -whether it is published as a printed book. We recommend this License -principally for works whose purpose is instruction or reference. - -@item -APPLICABILITY AND DEFINITIONS - -This License applies to any manual or other work, in any medium, that -contains a notice placed by the copyright holder saying it can be -distributed under the terms of this License. Such a notice grants a -world-wide, royalty-free license, unlimited in duration, to use that -work under the conditions stated herein. The ``Document'', below, -refers to any such manual or work. Any member of the public is a -licensee, and is addressed as ``you''. You accept the license if you -copy, modify or distribute the work in a way requiring permission -under copyright law. - -A ``Modified Version'' of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. - -A ``Secondary Section'' is a named appendix or a front-matter section -of the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document's overall -subject (or to related matters) and contains nothing that could fall -directly within that overall subject. (Thus, if the Document is in -part a textbook of mathematics, a Secondary Section may not explain -any mathematics.) The relationship could be a matter of historical -connection with the subject or with related matters, or of legal, -commercial, philosophical, ethical or political position regarding -them. - -The ``Invariant Sections'' are certain Secondary Sections whose titles -are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. If a -section does not fit the above definition of Secondary then it is not -allowed to be designated as Invariant. The Document may contain zero -Invariant Sections. If the Document does not identify any Invariant -Sections then there are none. - -The ``Cover Texts'' are certain short passages of text that are listed, -as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. A Front-Cover Text may -be at most 5 words, and a Back-Cover Text may be at most 25 words. - -A ``Transparent'' copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, that is suitable for revising the document -straightforwardly with generic text editors or (for images composed of -pixels) generic paint programs or (for drawings) some widely available -drawing editor, and that is suitable for input to text formatters or -for automatic translation to a variety of formats suitable for input -to text formatters. A copy made in an otherwise Transparent file -format whose markup, or absence of markup, has been arranged to thwart -or discourage subsequent modification by readers is not Transparent. -An image format is not Transparent if used for any substantial amount -of text. A copy that is not ``Transparent'' is called ``Opaque''. - -Examples of suitable formats for Transparent copies include plain -ASCII without markup, Texinfo input format, La@TeX{} input -format, SGML or XML using a publicly available -DTD, and standard-conforming simple HTML, -PostScript or PDF designed for human modification. Examples -of transparent image formats include PNG, XCF and -JPG. Opaque formats include proprietary formats that can be -read and edited only by proprietary word processors, SGML or -XML for which the DTD and/or processing tools are -not generally available, and the machine-generated HTML, -PostScript or PDF produced by some word processors for -output purposes only. - -The ``Title Page'' means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the material -this License requires to appear in the title page. For works in -formats which do not have any title page as such, ``Title Page'' means -the text near the most prominent appearance of the work's title, -preceding the beginning of the body of the text. - -The ``publisher'' means any person or entity that distributes copies -of the Document to the public. - -A section ``Entitled XYZ'' means a named subunit of the Document whose -title either is precisely XYZ or contains XYZ in parentheses following -text that translates XYZ in another language. (Here XYZ stands for a -specific section name mentioned below, such as ``Acknowledgements'', -``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' -of such a section when you modify the Document means that it remains a -section ``Entitled XYZ'' according to this definition. - -The Document may include Warranty Disclaimers next to the notice which -states that this License applies to the Document. These Warranty -Disclaimers are considered to be included by reference in this -License, but only as regards disclaiming warranties: any other -implication that these Warranty Disclaimers may have is void and has -no effect on the meaning of this License. - -@item -VERBATIM COPYING - -You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License applies -to the Document are reproduced in all copies, and that you add no other -conditions whatsoever to those of this License. You may not use -technical measures to obstruct or control the reading or further -copying of the copies you make or distribute. However, you may accept -compensation in exchange for copies. If you distribute a large enough -number of copies you must also follow the conditions in section 3. - -You may also lend copies, under the same conditions stated above, and -you may publicly display copies. - -@item -COPYING IN QUANTITY - -If you publish printed copies (or copies in media that commonly have -printed covers) of the Document, numbering more than 100, and the -Document's license notice requires Cover Texts, you must enclose the -copies in covers that carry, clearly and legibly, all these Cover -Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on -the back cover. Both covers must also clearly and legibly identify -you as the publisher of these copies. The front cover must present -the full title with all words of the title equally prominent and -visible. You may add other material on the covers in addition. -Copying with changes limited to the covers, as long as they preserve -the title of the Document and satisfy these conditions, can be treated -as verbatim copying in other respects. - -If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto adjacent -pages. - -If you publish or distribute Opaque copies of the Document numbering -more than 100, you must either include a machine-readable Transparent -copy along with each Opaque copy, or state in or with each Opaque copy -a computer-network location from which the general network-using -public has access to download using public-standard network protocols -a complete Transparent copy of the Document, free of added material. -If you use the latter option, you must take reasonably prudent steps, -when you begin distribution of Opaque copies in quantity, to ensure -that this Transparent copy will remain thus accessible at the stated -location until at least one year after the last time you distribute an -Opaque copy (directly or through your agents or retailers) of that -edition to the public. - -It is requested, but not required, that you contact the authors of the -Document well before redistributing any large number of copies, to give -them a chance to provide you with an updated version of the Document. - -@item -MODIFICATIONS - -You may copy and distribute a Modified Version of the Document under -the conditions of sections 2 and 3 above, provided that you release -the Modified Version under precisely this License, with the Modified -Version filling the role of the Document, thus licensing distribution -and modification of the Modified Version to whoever possesses a copy -of it. In addition, you must do these things in the Modified Version: - -@enumerate A -@item -Use in the Title Page (and on the covers, if any) a title distinct -from that of the Document, and from those of previous versions -(which should, if there were any, be listed in the History section -of the Document). You may use the same title as a previous version -if the original publisher of that version gives permission. - -@item -List on the Title Page, as authors, one or more persons or entities -responsible for authorship of the modifications in the Modified -Version, together with at least five of the principal authors of the -Document (all of its principal authors, if it has fewer than five), -unless they release you from this requirement. - -@item -State on the Title page the name of the publisher of the -Modified Version, as the publisher. - -@item -Preserve all the copyright notices of the Document. - -@item -Add an appropriate copyright notice for your modifications -adjacent to the other copyright notices. - -@item -Include, immediately after the copyright notices, a license notice -giving the public permission to use the Modified Version under the -terms of this License, in the form shown in the Addendum below. - -@item -Preserve in that license notice the full lists of Invariant Sections -and required Cover Texts given in the Document's license notice. - -@item -Include an unaltered copy of this License. - -@item -Preserve the section Entitled ``History'', Preserve its Title, and add -to it an item stating at least the title, year, new authors, and -publisher of the Modified Version as given on the Title Page. If -there is no section Entitled ``History'' in the Document, create one -stating the title, year, authors, and publisher of the Document as -given on its Title Page, then add an item describing the Modified -Version as stated in the previous sentence. - -@item -Preserve the network location, if any, given in the Document for -public access to a Transparent copy of the Document, and likewise -the network locations given in the Document for previous versions -it was based on. These may be placed in the ``History'' section. -You may omit a network location for a work that was published at -least four years before the Document itself, or if the original -publisher of the version it refers to gives permission. - -@item -For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve -the Title of the section, and preserve in the section all the -substance and tone of each of the contributor acknowledgements and/or -dedications given therein. - -@item -Preserve all the Invariant Sections of the Document, -unaltered in their text and in their titles. Section numbers -or the equivalent are not considered part of the section titles. - -@item -Delete any section Entitled ``Endorsements''. Such a section -may not be included in the Modified Version. - -@item -Do not retitle any existing section to be Entitled ``Endorsements'' or -to conflict in title with any Invariant Section. - -@item -Preserve any Warranty Disclaimers. -@end enumerate - -If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version's license notice. -These titles must be distinct from any other section titles. - -You may add a section Entitled ``Endorsements'', provided it contains -nothing but endorsements of your Modified Version by various -parties---for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. - -You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. - -The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. - -@item -COMBINING DOCUMENTS - -You may combine the Document with other documents released under this -License, under the terms defined in section 4 above for modified -versions, provided that you include in the combination all of the -Invariant Sections of all of the original documents, unmodified, and -list them all as Invariant Sections of your combined work in its -license notice, and that you preserve all their Warranty Disclaimers. - -The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name but -different contents, make the title of each such section unique by -adding at the end of it, in parentheses, the name of the original -author or publisher of that section if known, or else a unique number. -Make the same adjustment to the section titles in the list of -Invariant Sections in the license notice of the combined work. - -In the combination, you must combine any sections Entitled ``History'' -in the various original documents, forming one section Entitled -``History''; likewise combine any sections Entitled ``Acknowledgements'', -and any sections Entitled ``Dedications''. You must delete all -sections Entitled ``Endorsements.'' - -@item -COLLECTIONS OF DOCUMENTS - -You may make a collection consisting of the Document and other documents -released under this License, and replace the individual copies of this -License in the various documents with a single copy that is included in -the collection, provided that you follow the rules of this License for -verbatim copying of each of the documents in all other respects. - -You may extract a single document from such a collection, and distribute -it individually under this License, provided you insert a copy of this -License into the extracted document, and follow this License in all -other respects regarding verbatim copying of that document. - -@item -AGGREGATION WITH INDEPENDENT WORKS - -A compilation of the Document or its derivatives with other separate -and independent documents or works, in or on a volume of a storage or -distribution medium, is called an ``aggregate'' if the copyright -resulting from the compilation is not used to limit the legal rights -of the compilation's users beyond what the individual works permit. -When the Document is included in an aggregate, this License does not -apply to the other works in the aggregate which are not themselves -derivative works of the Document. - -If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one half of -the entire aggregate, the Document's Cover Texts may be placed on -covers that bracket the Document within the aggregate, or the -electronic equivalent of covers if the Document is in electronic form. -Otherwise they must appear on printed covers that bracket the whole -aggregate. - -@item -TRANSLATION - -Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of section 4. -Replacing Invariant Sections with translations requires special -permission from their copyright holders, but you may include -translations of some or all Invariant Sections in addition to the -original versions of these Invariant Sections. You may include a -translation of this License, and all the license notices in the -Document, and any Warranty Disclaimers, provided that you also include -the original English version of this License and the original versions -of those notices and disclaimers. In case of a disagreement between -the translation and the original version of this License or a notice -or disclaimer, the original version will prevail. - -If a section in the Document is Entitled ``Acknowledgements'', -``Dedications'', or ``History'', the requirement (section 4) to Preserve -its Title (section 1) will typically require changing the actual -title. - -@item -TERMINATION - -You may not copy, modify, sublicense, or distribute the Document -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense, or distribute it is void, and -will automatically terminate your rights under this License. - -However, if you cease all violation of this License, then your license -from a particular copyright holder is reinstated (a) provisionally, -unless and until the copyright holder explicitly and finally -terminates your license, and (b) permanently, if the copyright holder -fails to notify you of the violation by some reasonable means prior to -60 days after the cessation. - -Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - -Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, receipt of a copy of some or all of the same material does -not give you any rights to use it. - -@item -FUTURE REVISIONS OF THIS LICENSE - -The Free Software Foundation may publish new, revised versions -of the GNU Free Documentation License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. See -@uref{http://www.gnu.org/copyleft/}. - -Each version of the License is given a distinguishing version number. -If the Document specifies that a particular numbered version of this -License ``or any later version'' applies to it, you have the option of -following the terms and conditions either of that specified version or -of any later version that has been published (not as a draft) by the -Free Software Foundation. If the Document does not specify a version -number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. If the Document -specifies that a proxy can decide which future versions of this -License can be used, that proxy's public statement of acceptance of a -version permanently authorizes you to choose that version for the -Document. - -@item -RELICENSING - -``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any -World Wide Web server that publishes copyrightable works and also -provides prominent facilities for anybody to edit those works. A -public wiki that anybody can edit is an example of such a server. A -``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the -site means any set of copyrightable works thus published on the MMC -site. - -``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0 -license published by Creative Commons Corporation, a not-for-profit -corporation with a principal place of business in San Francisco, -California, as well as future copyleft versions of that license -published by that same organization. - -``Incorporate'' means to publish or republish a Document, in whole or -in part, as part of another Document. - -An MMC is ``eligible for relicensing'' if it is licensed under this -License, and if all works that were first published under this License -somewhere other than this MMC, and subsequently incorporated in whole -or in part into the MMC, (1) had no cover texts or invariant sections, -and (2) were thus incorporated prior to November 1, 2008. - -The operator of an MMC Site may republish an MMC contained in the site -under CC-BY-SA on the same site at any time before August 1, 2009, -provided the MMC is eligible for relicensing. - -@end enumerate - -@page -@heading ADDENDUM: How to use this License for your documents - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: - -@smallexample -@group - Copyright (C) @var{year} @var{your name}. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. -@end group -@end smallexample - -If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the ``with@dots{}Texts.'' line with this: - -@smallexample -@group - with the Invariant Sections being @var{list their titles}, with - the Front-Cover Texts being @var{list}, and with the Back-Cover Texts - being @var{list}. -@end group -@end smallexample - -If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - -If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, -to permit their use in free software. - -@c Local Variables: -@c ispell-local-pdict: "ispell-dict" -@c End: - diff --git a/doc/macros.texi b/doc/macros.texi deleted file mode 100644 index 90eb1b3..0000000 --- a/doc/macros.texi +++ /dev/null @@ -1,13 +0,0 @@ -@c -*-texinfo-*- -@c This is part of the Evil manual. -@c Copyright (C) 2011 Frank Fischer and Vegard ye. -@c See the file evil.texi for copying conditions. - -@ifclear macros -@set macros - -@macro authors {} -Frank Fischer and Vegard ye -@end macro - -@end ifclear diff --git a/doc/make.bat b/doc/make.bat new file mode 100644 index 0000000..6247f7e --- /dev/null +++ b/doc/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=source +set BUILDDIR=build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/doc/source/_ext/elisp.py b/doc/source/_ext/elisp.py new file mode 100644 index 0000000..ea7f7bd --- /dev/null +++ b/doc/source/_ext/elisp.py @@ -0,0 +1,297 @@ +import re +from os import path +import json + +from docutils import nodes +from docutils.parsers.rst import Directive + +from sphinx import addnodes +from sphinx.domains import Domain, ObjType, Index +from sphinx.domains.std import StandardDomain +from sphinx.directives import ObjectDescription +from sphinx.roles import XRefRole +from sphinx.util.docfields import Field +from sphinx.util.nodes import make_refnode + + +with open(path.join(path.dirname(__file__), '..', '..', 'docstringdb.json')) as f: + DATA = json.load(f) + + +re_evilcode = re.compile(r"`(evil-[^']*)'") +re_code = re.compile(r"`([^:][^ ']*)'") +re_kwd = re.compile(r"`(:[^']*)'") +re_kbd = re.compile(r"\\\[([^\]]*)\]") +re_item = re.compile(r"([^\n])\n- ") +re_sexp = re.compile(r"\([A-Z \-\.'`\[\]]+\)|[A-Z\-]+") +re_capitals = re.compile(r"[A-Z\-]+") +re_nonspace = re.compile(r"[^ ]") +re_signature = re.compile(r'\(fn (.*)\)') + +emphasis = [ + 'thing-at-point', +] + +def emacs_is_local(var): + return DATA[var]['local'] + +def emacs_default_value(var): + default = DATA[var]['default'] + tp = DATA[var]['default-type'] + if tp == 'string': + rep = repr(default)[1:-1] + return f'"{rep}"' + return str(default) + +def process_docstring(docstring, capitals=None): + # Remove explicit signature + docstring = re_signature.sub('', docstring) + + # Add code blocks to indented sections + def blockified_lines(lines): + in_block = False + for line in lines: + try: + indented = next(re_nonspace.finditer(line)).start(0) > 3 + except StopIteration: + indented = None + if indented is True and not in_block: + yield '.. code-block:: elisp' + yield '' + in_block = True + elif indented is False: + in_block = False + yield line + docstring = '\n'.join(blockified_lines(docstring.split('\n'))) + + # Substitute `evil-alpha' with :elisp:ref:`evil-alpha` + docstring = re_evilcode.sub(r':elisp:ref:`\1`', docstring) + + # Substitute `alpha' with ``alpha`` + docstring = re_code.sub(r'``\1``', docstring) + + # Substitute `:alpha' with ``alpha`` + docstring = re_kwd.sub(r'``\1``', docstring) + + # Substitute \[C-z] with :kbd:`C-z` + docstring = re_kbd.sub(r':kbd:`\1`', docstring) + + # Add empty line between list items + docstring = re_item.sub(r'\1\n\n- ', docstring) + + if capitals is None: + capitals = [] + else: + capitals = list(capitals) + + # Find things that look like sexps + def substitute_sexp(match): + s = match.group(0) + if re_capitals.match(s): + if s in capitals: + return f'*{s}*' + return s + else: + capitals.extend(re_capitals.findall(s)) + return f'``{s}``' + docstring = re_sexp.sub(substitute_sexp, docstring) + + # Italicize some words + for s in emphasis: + docstring = docstring.replace(s, f'*{s}*') + + return docstring + +def emacs_variable_docstring(var): + docstring = DATA[var]['var-docstring'] + return process_docstring(docstring) + +def emacs_function_docstring(var): + docstring = DATA[var]['fn-docstring'] + return process_docstring(docstring, capitals=emacs_argnames(var)) + +def emacs_argnames(var): + arglist = emacs_arglist(var) + return re_capitals.findall(arglist) + +def emacs_arglist(var): + docstring = DATA[var]['fn-docstring'] + match = re_signature.search(docstring) + if match: + return match.group(1) + + arglist = [arg.upper() for arg in DATA[var]['arglist']] + state = None + ret = '' + for arg in arglist: + if arg in ('&REST', '&OPTIONAL'): + if state == '&OPTIONAL': + ret += ']' + state = arg + ret += ' [' + continue + ret += ('' if state in ('&REST', '&OPTIONAL') else ' ') + arg + if state == '&OPTIONAL': + state += '-CONT' + if state is not None and state.startswith('&OPTIONAL'): + ret += ']' + if state == '&REST': + ret += '...]' + return ret + + +class AbstractElisp(ObjectDescription): + + def add_target_and_index(self, name, sig, signode): + anchor = f'elispobj-{sig}' + signode['ids'].append(anchor) + + objs = self.env.domaindata['elisp']['objects'] + objs[sig] = { + 'docname': self.env.docname, + 'anchor': f'elispobj-{sig}', + 'type': self.object_type, + } + + +class AbstractVariable(AbstractElisp): + object_type = 'variable' + + def handle_signature(self, sig, signode): + signode += addnodes.desc_annotation(sig, sig) + return sig + + def run(self): + extra = [] + + default = self.default_value() + if default: + extra.append(f'Default: ``{default}``') + if self.is_buffer_local(): + extra.append('buffer-local') + + self.content.data.extend(['', ', '.join(extra)]) + retval = super().run() + return retval + + +class Variable(AbstractVariable): + required_arguments = 1 + optional_arguments = 2 + + def default_value(self): + try: + return self.arguments[1] + except IndexError: + return None + + def is_buffer_local(self): + return 'bufloc' in self.arguments[1:] + + +class AutoVariable(AbstractVariable): + required_arguments = 1 + + def is_buffer_local(self): + return emacs_is_local(self.arguments[0]) + + def default_value(self): + return emacs_default_value(self.arguments[0]) + + def run(self): + docstring = emacs_variable_docstring(self.arguments[0]) + self.content.data.extend(docstring.split('\n')) + return super().run() + + +class AutoFunction(AbstractElisp): + required_arguments = 1 + + @property + def object_type(self): + return 'macro' if DATA[self.arguments[0]]['macrop'] else 'function' + + def handle_signature(self, sig, signode): + args = emacs_arglist(sig) + signode += addnodes.desc_annotation(sig, f'({sig} {args})') + return sig + + def run(self): + docstring = emacs_function_docstring(self.arguments[0]) + self.content.data.extend(docstring.split('\n')) + return super().run() + + +class ElispIndex(Index): + name = 'index' + localname = 'Emacs lisp functions and variables' + shortname = 'Elisp' + + def generate(self, docnames=None): + index = {} + for name, item in self.domain.data['objects'].items(): + if name.startswith('evil-'): + letter = name[5].upper() + else: + letter = name[0].upper() + index.setdefault(letter, []).append(( + name, + 0, + item['docname'], + item['anchor'], + item['type'], + '', + '', + )) + + index = {k: sorted(v, key=lambda k: k[0].lower()) for k, v in index.items()} + index = list(index.items()) + index = sorted(index, key=lambda k: k[0]) + return index, True + + +class Elisp(Domain): + name = 'elisp' + label = 'Emacs lisp' + + object_types = { + 'variable': ObjType('variable', 'variable', 'obj'), + 'autovariable': ObjType('autovariable', 'autovariable', 'obj'), + 'autofunction': ObjType('autofunction', 'autofunction', 'obj'), + } + + directives = { + 'variable': Variable, + 'autovariable': AutoVariable, + 'autofunction': AutoFunction, + } + + roles = { + 'ref': XRefRole(), + } + + initial_data = { + 'objects': {}, + } + + indices = { + ElispIndex, + } + + def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode): + obj = self.data['objects'].get(target, None) + if obj is None: + return None + return make_refnode(builder, fromdocname, obj['docname'], obj['anchor'], contnode, obj['anchor']) + + +def setup(app): + app.add_domain(Elisp) + StandardDomain.initial_data['labels']['elispindex'] = ('elisp-index', '', 'Emacs lisp functions and variables') + StandardDomain.initial_data['anonlabels']['elispindex'] = ('elisp-index', '') + + return { + 'version': '0.1', + 'parallel_read_safe': True, + 'parallel_write_safe': True, + } diff --git a/doc/source/conf.py b/doc/source/conf.py new file mode 100644 index 0000000..5df3c49 --- /dev/null +++ b/doc/source/conf.py @@ -0,0 +1,84 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# + +import os, sys +sys.path.append(os.path.abspath("./_ext")) + + +# -- Project information ----------------------------------------------------- + +project = 'Evil' +copyright = '2011-2019, Eivind Fonn, Frank Fischer, Vegard Øye' +author = 'Eivind Fonn, Frank Fischer, Vegard Øye' + +# The full version, including alpha/beta/rc tags +release = '1.13.0' + +master_doc = 'index' + + +latex_elements = { + 'fontpkg': r'\usepackage{palatino} \usepackage{inconsolata}', + 'maketitle': r""" + \newcommand\sphinxbackoftitlepage{{ + Copyright {copyright}. + + \begin{{quote}} + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, + Version 1.3 or any later version published by the Free Software + Foundation; with no Invariant Sections, no Front-Cover Texts, + and no Back-Cover Texts. A copy of the license is included in + the section entitled ``GNU Free Documentation License''. + \end{{quote}} + + The Evil team thanks everyone at gmane.emacs.vim-emulation for + their feedback and contributions. + }} + \sphinxmaketitle + """.format(copyright=copyright), +} + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'elisp', +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'sphinx_rtd_theme' + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] diff --git a/doc/source/extension.rst b/doc/source/extension.rst new file mode 100644 index 0000000..9cae483 --- /dev/null +++ b/doc/source/extension.rst @@ -0,0 +1,146 @@ +Extension +========= + +The main functionality of Evil is implemented in terms of reusable +macros. Package writers can use these to define new commands. + + +Motions +------- + +A *motion* is a command which moves the cursor, such as :kbd:`w` or +:kbd:`e`. Motions are defined with the macro +:elisp:ref:`evil-define-motion`. Motions not defined in this way +should be declared with :elisp:ref:`evil-declare-motion`. + +.. elisp:autofunction:: evil-declare-motion + +.. elisp:autofunction:: evil-define-motion + +For example, this is a motion that moves the cursor forward by a +number of characters: + +.. code-block:: elisp + + (evil-define-motion foo-forward (count) + "Move to the right by COUNT characters." + :type inclusive + (forward-char (or count 1))) + +The *type* of a motion determines how it works when used together with +an operator. Inclusive motions include the endpoint in the range +being operated on, while exclusive motions do not. Line motions +extend the whole range to linewise positions, effectively behaving as +if the endpoint were really at the end of the line. Blockwise ranges +behave as a "rectangle" on screen rather than a contiguous range of +characters. + + +Operators +--------- + +An operator is a command that acts on the text moved over by a motion, +such as :kbd:`c` (change), :kbd:`d` (delete) or :kbd:`y` (yank or +copy, not to be confused with "yank" in Emacs terminology which means +*paste*). + +.. elisp:autofunction:: evil-define-operator + +For example, this is an operator that performs ROT13 encryption on the +text under consideration: + +.. code-block:: elisp + + (evil-define-operator evil-rot13 (beg end) + "ROT13 encrypt text." + (rot13-region beg end)) + +Binding this to :kbd:`g?` (where it is by default) will cause a key +sequence such as :kbd:`g?w` to encrypt from the current cursor to the +end of the word. + + +Text objects +------------ + +Text objects are like motions in that they define a range over which +an operator may act. Unlike motions, text objects can set both a +beginning and an endpoint. In visual state, text objects alter both +ends of the selection. + +Text objects are not directly usable in normal state. Instead, they +are bound in the two keymaps ``evil-inner-text-ojects-map`` and +``evil-outer-text-objects-map``, which are available in visual and +operator-pending state under the keys :kbd:`i` and :kbd:`a` +respectively. + +.. elisp:autofunction:: evil-define-text-object + +For eample, this is a text object which selects the next three +characters after the current location: + +.. code-block:: elisp + + (evil-define-text-object foo (count) + "Select three characters." + (list (point) (+ 3 (point)))) + +For convenience, Evil provides several functions returning a list of +positions which can be used for defining text objects. All of them +follow the convention that a positive *count* selects text after the +current location, while negative *count* selects text before it. + +.. note:: + + The *thingatpt* library is used quite extensively in Evil to define + text objects, and this dependency leaks through in the following + functions. A *thing* in this context is any symbol for which there + is a function called ``forward-THING`` [#thing]_ which moves past a + number of *things*. + +.. elisp:autofunction:: evil-select-inner-object + +.. elisp:autofunction:: evil-select-an-object + +.. elisp:autofunction:: evil-select-paren + + +Range types +----------- + +A *type* is a transformation acting on a pair of buffer positions. +Evil defines the types ``inclusive``, ``line``, ``block`` and +``exclusive``, which are used for motion ranges and visual selection. +New types may be defined with the macro *evil-define-type*. + +.. elisp:autofunction:: evil-define-type + + +States +------ + +States are defined with the macro :elisp:ref:`evil-define-state`, +which takes care to define the necessary hooks, keymaps and variables, +as well as a toggle function ``evil-NAME-state`` and a predicate +function ``evil-NAME-state-p`` for checking whether the state is +active. + +.. elisp:autofunction:: evil-define-state + +For example: + +.. code-block:: elisp + + (evil-define-state test + "Test state." + :tag " " + (message (if (evil-test-state-p) + "Enabling test state." + "Disabling test state."))) + + +.. rubric:: Footnotes + +.. [#thing] There are many more ways that a *thing* can be defined, + but the definition of ``forward-THING`` is perhaps the most + straightforward way to go about it. diff --git a/doc/source/hooks.rst b/doc/source/hooks.rst new file mode 100644 index 0000000..28ade72 --- /dev/null +++ b/doc/source/hooks.rst @@ -0,0 +1,16 @@ +Hooks +===== + +A *hook* is a list of functions that are executed when certain events +happen. Hooks are modified with the Emacs function ``add-hook``. +Evil provides entry and exit hooks for all its states. For example, +when switching from normal state to insert state, all functions in +``evil-normal-state-exit-hook`` and ``evil-insert-state-entry-hook`` +are executed. + +It is guaranteed that the exit hook will be executed before the entry +hook on all state switches. + +During the hook execution, the variables ``evil-next-state`` and +``evil-previous-state`` contain information about the states being +switched to and from, respectively. diff --git a/doc/source/index.rst b/doc/source/index.rst new file mode 100644 index 0000000..550d438 --- /dev/null +++ b/doc/source/index.rst @@ -0,0 +1,20 @@ +.. Evil documentation master file, created by + sphinx-quickstart on Thu Dec 12 10:34:49 2019. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Evil +==== + +.. toctree:: + :maxdepth: 2 + :caption: Contents + + overview + settings + keymaps + hooks + extension + internals + license + indices diff --git a/doc/source/indices.rst b/doc/source/indices.rst new file mode 100644 index 0000000..46f687e --- /dev/null +++ b/doc/source/indices.rst @@ -0,0 +1,6 @@ +.. only:: html + + Index + ===== + + - :ref:`elispindex` diff --git a/doc/source/internals.rst b/doc/source/internals.rst new file mode 100644 index 0000000..9984f7c --- /dev/null +++ b/doc/source/internals.rst @@ -0,0 +1,36 @@ +Internals +========= + +Command properties +------------------ + +Evil defines *command properties* to store information about commands +[#command]_, such as whether they should be repeated. A command +property is a ``:keyword`` with an associated value, e.g. +``:repeat nil``. + +.. elisp:autofunction:: evil-add-command-properties + +.. elisp:autofunction:: evil-set-command-properties + +.. elisp:autofunction:: evil-get-command-properties + +.. elisp:autofunction:: evil-get-command-property + +.. elisp:autofunction:: evil-define-command + + +For setting repeat properties, use the following functions: + +.. elisp:autofunction:: evil-declare-repeat + +.. elisp:autofunction:: evil-declare-not-repeat + +.. elisp:autofunction:: evil-declare-change-repeat + + +.. rubric:: Footnotes + +.. [#command] In this context, a *command* may mean any Evil motion, + text object, operator or indeed other Emacs commands, which have + not been defined through the Evil machinery. diff --git a/doc/source/keymaps.rst b/doc/source/keymaps.rst new file mode 100644 index 0000000..c1babad --- /dev/null +++ b/doc/source/keymaps.rst @@ -0,0 +1,125 @@ +.. _chapter-keymaps: + +Keymaps +======= + +Evil's key bindings are stored in a number of different keymaps. Each +state has a *global keymap*, where the default bindings for that state +are stored. They are named ``evil-normal-state-map``, +``evil-insert-state-map``, and so on. The bindings in these maps are +visible in all buffers currently in the corresponding state. + +These keymaps function like ordinary Emacs keymaps and may be modified +using the Emacs function ``define-key``: + +.. code-block:: elisp + + (define-key evil-normal-state-map (kbd "w") 'some-function) + +This binds the key :kbd:`w` to the command ``some-function`` in normal +state. The use of ``kbd`` is optional for simple key sequences, like +this one, but recommended in general. + +Most of Evil's bindings are defined in the file ``evil-maps.el``. + +To facilitate shared keybindings between states, some states may +activate keybindings from other states as well. For example, motion +state bindings are visible in normal and visual state, and normal +state bindings are also visible in visual state. + +Each state also has a *buffer-local keymap* which is specific to the +current buffer, and which takes precedence over the global keymap. +These maps are most suitably modified by a mode hook. They are named +``evil-normal-state-local-map``, ``evil-insert-state-local-map``, and +so on. + +.. code-block:: elisp + + (add-hook 'some-mode-hook + (lambda () + (define-key evil-normal-state-local-map + (kbd "w") 'some-function))) + +For convenience, the functions :elisp:ref:`evil-global-set-key` and +:elisp:ref:`evil-local-set-key` are available for setting global and +local state keys. + +.. elisp:autofunction:: evil-global-set-key + +.. elisp:autofunction:: evil-local-set-key + +The above examples could therefore have been written as follows: + +.. code-block:: elisp + + (evil-global-set-key 'normal (kbd "w") 'some-function) + + (add-hook 'some-mode-hook + (lambda () + (evil-local-set-key 'normal (kbd "w") 'some-function))) + + +evil-define-key +--------------- + +Evil provides the macro :elisp:ref:`evil-define-key` for adding state +bindings to ordinary keymaps. It is quite powerful, and is the +preferred method for fine-tuning bindings to activate in specific +circumstances. + +.. elisp:autofunction:: evil-define-key + +There follows a brief overview of the main functions of this macro. + +- Define a binding in a given state + + .. code-block:: elisp + + (evil-define-key 'state 'global (kbd "key") 'target) + +- Define a binding in a given state in the current buffer + + .. code-block:: elisp + + (evil-define-key 'state 'local (kbd "key") 'target) + +- Define a binding in a given state under the *foo-mode* major mode. + + .. code-block:: elisp + + (evil-define-key 'state foo-mode-map (kbd "key") 'target) + + Note that ``foo-mode-map`` is unquoted, and that this form is safe + before ``foo-mode-map`` is loaded. + +- Define a binding in a given state under the *bar-mode* minor mode. + + .. code-block:: elisp + + (evil-define-key 'state 'bar-mode (kbd "key") 'target) + + Note that ``bar-mode`` is quoted, and that this form is safe before + ``bar-mode`` is loaded. + + +The macro :elisp:ref:`evil-define-key` can be used to augment existing +modes with state bindings, as well as creating packages with customg +bindings. For example, the following will create a minor mode +``foo-mode`` with normal state bindings for the keys :kbd:`w` and +:kbd:`e`: + +.. code-block:: elisp + + (define-minor-mode foo-mode + "Foo mode." + :keymap (make-sparse-keymap)) + + (evil-define-key 'normal 'foo-mode "w" 'bar) + (evil-define-key 'normal 'foo-mode "e" 'baz) + +This minor mode can then be enabled in any buffers where the custom +bindings are desired: + +.. code-block:: elisp + + (add-hook 'text-mode-hook 'foo-mode) ; enable alongside text-mode diff --git a/doc/source/license.rst b/doc/source/license.rst new file mode 100644 index 0000000..39d6701 --- /dev/null +++ b/doc/source/license.rst @@ -0,0 +1,447 @@ +The GNU Free Documentation License +================================== + +Version 1.3, 3 November 2008 + + Copyright (c) 2000, 2001, 2002, 2007, 2008 Free Software + Foundation, Inc. http://fsf.org/ + + Everyone is permitted to copy and distribute verbatim copies of + this license document, but changing it is not allowed. + + +0. PREAMBLE + + The purpose of this License is to make a manual, textbook, or other + functional and useful document *free* in the sense of freedom: to + assure everyone the effective freedom to copy and redistribute it, + with or without modifying it, either commercially or + noncommercially. Secondarily, this License preserves for the + author and publisher a way to get credit for their work, while not + being considered responsible for modifications made by others. + + This License is a kind of "copyleft", which means that derivative + works of the document must themselves be free in the same sense. + It complements the GNU General Public License, which is a copyleft + license designed for free software. + + We have designed this License in order to use it for manuals for + free software, because free software needs free documentation: a + free program should come with manuals providing the same freedoms + that the software does. But this License is not limited to + software manuals; it can be used for any textual work, regardless + of subject matter or whether it is published as a printed book. We + recommend this License principally for works whose purpose is + instruction or reference. + +1. APPLICABILITY AND DEFINITIONS + + This License applies to any manual or other work, in any medium, + that contains a notice placed by the copyright holder saying it can + be distributed under the terms of this License. Such a notice + grants a world-wide, royalty-free license, unlimited in duration, + to use that work under the conditions stated herein. The + "Document", below, refers to any such manual or work. Any member + of the public is a licensee, and is addressed as "you". You accept + the license if you copy, modify or distribute the work in a way + requiring permission under copyright law. + + A "Modified Version" of the Document means any work containing the + Document or a portion of it, either copied verbatim, or with + modifications and/or translated into another language. + + A "Secondary Section" is a named appendix or a front-matter section + of the Document that deals exclusively with the relationship of the + publishers or authors of the Document to the Document's overall + subject (or to related matters) and contains nothing that could + fall directly within that overall subject. (Thus, if the Document + is in part a textbook of mathematics, a Secondary Section may not + explain any mathematics.) The relationship could be a matter of + historical connection with the subject or with related matters, or + of legal, commercial, philosophical, ethical or political position + regarding them. + + The "Invariant Sections" are certain Secondary Sections whose + titles are designated, as being those of Invariant Sections, in the + notice that says that the Document is released under this License. + If a section does not fit the above definition of Secondary then it + is not allowed to be designated as Invariant. The Document may + contain zero Invariant Sections. If the Document does not identify + any Invariant Sections then there are none. + + The "Cover Texts" are certain short passages of text that are + listed, as Front-Cover Texts or Back-Cover Texts, in the notice + that says that the Document is released under this License. A + Front-Cover Text may be at most 5 words, and a Back-Cover Text may + be at most 25 words. + + A "Transparent" copy of the Document means a machine-readable copy, + represented in a format whose specification is available to the + general public, that is suitable for revising the document + straightforwardly with generic text editors or (for images composed + of pixels) generic paint programs or (for drawings) some widely + available drawing editor, and that is suitable for input to text + formatters or for automatic translation to a variety of formats + suitable for input to text formatters. A copy made in an otherwise + Transparent file format whose markup, or absence of markup, has + been arranged to thwart or discourage subsequent modification by + readers is not Transparent. An image format is not Transparent if + used for any substantial amount of text. A copy that is not + "Transparent" is called "Opaque". + + Examples of suitable formats for Transparent copies include plain + ASCII without markup, Texinfo input format, LaTeX input format, + SGML or XML using a publicly available DTD, and standard-conforming + simple HTML, PostScript or PDF designed for human modification. + Examples of transparent image formats include PNG, XCF and JPG. + Opaque formats include proprietary formats that can be read and + edited only by proprietary word processors, SGML or XML for which + the DTD and/or processing tools are not generally available, and + the machine-generated HTML, PostScript or PDF produced by some word + processors for output purposes only. + + The "Title Page" means, for a printed book, the title page itself, + plus such following pages as are needed to hold, legibly, the + material this License requires to appear in the title page. For + works in formats which do not have any title page as such, "Title + Page" means the text near the most prominent appearance of the + work's title, preceding the beginning of the body of the text. + + The "publisher" means any person or entity that distributes copies + of the Document to the public. + + A section "Entitled XYZ" means a named subunit of the Document + whose title either is precisely XYZ or contains XYZ in parentheses + following text that translates XYZ in another language. (Here XYZ + stands for a specific section name mentioned below, such as + "Acknowledgements", "Dedications", "Endorsements", or "History".) + To "Preserve the Title" of such a section when you modify the + Document means that it remains a section "Entitled XYZ" according + to this definition. + + The Document may include Warranty Disclaimers next to the notice + which states that this License applies to the Document. These + Warranty Disclaimers are considered to be included by reference in + this License, but only as regards disclaiming warranties: any other + implication that these Warranty Disclaimers may have is void and + has no effect on the meaning of this License. + +2. VERBATIM COPYING + + You may copy and distribute the Document in any medium, either + commercially or noncommercially, provided that this License, the + copyright notices, and the license notice saying this License + applies to the Document are reproduced in all copies, and that you + add no other conditions whatsoever to those of this License. You + may not use technical measures to obstruct or control the reading + or further copying of the copies you make or distribute. However, + you may accept compensation in exchange for copies. If you + distribute a large enough number of copies you must also follow the + conditions in section 3. + + You may also lend copies, under the same conditions stated above, + and you may publicly display copies. + +3. COPYING IN QUANTITY + + If you publish printed copies (or copies in media that commonly + have printed covers) of the Document, numbering more than 100, and + the Document's license notice requires Cover Texts, you must + enclose the copies in covers that carry, clearly and legibly, all + these Cover Texts: Front-Cover Texts on the front cover, and + Back-Cover Texts on the back cover. Both covers must also clearly + and legibly identify you as the publisher of these copies. The + front cover must present the full title with all words of the title + equally prominent and visible. You may add other material on the + covers in addition. Copying with changes limited to the covers, as + long as they preserve the title of the Document and satisfy these + conditions, can be treated as verbatim copying in other respects. + + If the required texts for either cover are too voluminous to fit + legibly, you should put the first ones listed (as many as fit + reasonably) on the actual cover, and continue the rest onto + adjacent pages. + + If you publish or distribute Opaque copies of the Document + numbering more than 100, you must either include a machine-readable + Transparent copy along with each Opaque copy, or state in or with + each Opaque copy a computer-network location from which the general + network-using public has access to download using public-standard + network protocols a complete Transparent copy of the Document, free + of added material. If you use the latter option, you must take + reasonably prudent steps, when you begin distribution of Opaque + copies in quantity, to ensure that this Transparent copy will + remain thus accessible at the stated location until at least one + year after the last time you distribute an Opaque copy (directly or + through your agents or retailers) of that edition to the public. + + It is requested, but not required, that you contact the authors of + the Document well before redistributing any large number of copies, + to give them a chance to provide you with an updated version of the + Document. + +4. MODIFICATIONS + + You may copy and distribute a Modified Version of the Document + under the conditions of sections 2 and 3 above, provided that you + release the Modified Version under precisely this License, with the + Modified Version filling the role of the Document, thus licensing + distribution and modification of the Modified Version to whoever + possesses a copy of it. In addition, you must do these things in + the Modified Version: + + A. Use in the Title Page (and on the covers, if any) a title + distinct from that of the Document, and from those of previous + versions (which should, if there were any, be listed in the + History section of the Document). You may use the same title as + a previous version if the original publisher of that version + gives permission. + + B. List on the Title Page, as authors, one or more persons or + entities responsible for authorship of the modifications in the + Modified Version, together with at least five of the principal + authors of the Document (all of its principal authors, if it has + fewer than five), unless they release you from this requirement. + + C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. + + D. Preserve all the copyright notices of the Document. + + E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. + + F. Include, immediately after the copyright notices, a license + notice giving the public permission to use the Modified Version + under the terms of this License, in the form shown in the + Addendum below. + + G. Preserve in that license notice the full lists of Invariant + Sections and required Cover Texts given in the Document's + license notice. + + H. Include an unaltered copy of this License. + + I. Preserve the section Entitled "History", Preserve its Title, and + add to it an item stating at least the title, year, new authors, + and publisher of the Modified Version as given on the Title + Page. If there is no section Entitled "History" in the + Document, create one stating the title, year, authors, and + publisher of the Document as given on its Title Page, then add + an item describing the Modified Version as stated in the + previous sentence. + + J. Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and + likewise the network locations given in the Document for + previous versions it was based on. These may be placed in the + "History" section. You may omit a network location for a work + that was published at least four years before the Document + itself, or if the original publisher of the version it refers to + gives permission. + + K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the section + all the substance and tone of each of the contributor + acknowledgements and/or dedications given therein. + + L. Preserve all the Invariant Sections of the Document, unaltered + in their text and in their titles. Section numbers or the + equivalent are not considered part of the section titles. + + M. Delete any section Entitled "Endorsements". Such a section may + not be included in the Modified Version. + + N. Do not retitle any existing section to be Entitled + "Endorsements" or to conflict in title with any Invariant + Section. + + O. Preserve any Warranty Disclaimers. + + If the Modified Version includes new front-matter sections or + appendices that qualify as Secondary Sections and contain no + material copied from the Document, you may at your option designate + some or all of these sections as invariant. To do this, add their + titles to the list of Invariant Sections in the Modified Version's + license notice. These titles must be distinct from any other + section titles. + + You may add a section Entitled "Endorsements", provided it contains + nothing but endorsements of your Modified Version by various + parties---for example, statements of peer review or that the text + has been approved by an organization as the authoritative + definition of a standard. + + You may add a passage of up to five words as a Front-Cover Text, + and a passage of up to 25 words as a Back-Cover Text, to the end of + the list of Cover Texts in the Modified Version. Only one passage + of Front-Cover Text and one of Back-Cover Text may be added by (or + through arrangements made by) any one entity. If the Document + already includes a cover text for the same cover, previously added + by you or by arrangement made by the same entity you are acting on + behalf of, you may not add another; but you may replace the old + one, on explicit permission from the previous publisher that added + the old one. + + The author(s) and publisher(s) of the Document do not by this + License give permission to use their names for publicity for or to + assert or imply endorsement of any Modified Version. + +5. COMBINING DOCUMENTS + + You may combine the Document with other documents released under + this License, under the terms defined in section 4 above for + modified versions, provided that you include in the combination all + of the Invariant Sections of all of the original documents, + unmodified, and list them all as Invariant Sections of your + combined work in its license notice, and that you preserve all + their Warranty Disclaimers. + + The combined work need only contain one copy of this License, and + multiple identical Invariant Sections may be replaced with a single + copy. If there are multiple Invariant Sections with the same name + but different contents, make the title of each such section unique + by adding at the end of it, in parentheses, the name of the + original author or publisher of that section if known, or else a + unique number. Make the same adjustment to the section titles in + the list of Invariant Sections in the license notice of the + combined work. + + In the combination, you must combine any sections Entitled + "History" in the various original documents, forming one section + Entitled "History"; likewise combine any sections Entitled + "Acknowledgements", and any sections Entitled "Dedications". You + must delete all sections Entitled "Endorsements." + +6. COLLECTIONS OF DOCUMENTS + + You may make a collection consisting of the Document and other + documents released under this License, and replace the individual + copies of this License in the various documents with a single copy + that is included in the collection, provided that you follow the + rules of this License for verbatim copying of each of the documents + in all other respects. + + You may extract a single document from such a collection, and + distribute it individually under this License, provided you insert + a copy of this License into the extracted document, and follow this + License in all other respects regarding verbatim copying of that + document. + +7. AGGREGATION WITH INDEPENDENT WORKS + + A compilation of the Document or its derivatives with other + separate and independent documents or works, in or on a volume of a + storage or distribution medium, is called an "aggregate" if the + copyright resulting from the compilation is not used to limit the + legal rights of the compilation's users beyond what the individual + works permit. When the Document is included in an aggregate, this + License does not apply to the other works in the aggregate which + are not themselves derivative works of the Document. + + If the Cover Text requirement of section 3 is applicable to these + copies of the Document, then if the Document is less than one half + of the entire aggregate, the Document's Cover Texts may be placed + on covers that bracket the Document within the aggregate, or the + electronic equivalent of covers if the Document is in electronic + form. Otherwise they must appear on printed covers that bracket + the whole aggregate. + +8. TRANSLATION + + Translation is considered a kind of modification, so you may + distribute translations of the Document under the terms of + section 4. Replacing Invariant Sections with translations requires + special permission from their copyright holders, but you may + include translations of some or all Invariant Sections in addition + to the original versions of these Invariant Sections. You may + include a translation of this License, and all the license notices + in the Document, and any Warranty Disclaimers, provided that you + also include the original English version of this License and the + original versions of those notices and disclaimers. In case of a + disagreement between the translation and the original version of + this License or a notice or disclaimer, the original version will + prevail. + + If a section in the Document is Entitled "Acknowledgements", + "Dedications", or "History", the requirement (section 4) to + Preserve its Title (section 1) will typically require changing the + actual title. + +9. TERMINATION + + You may not copy, modify, sublicense, or distribute the Document + except as expressly provided under this License. Any attempt + otherwise to copy, modify, sublicense, or distribute it is void, + and will automatically terminate your rights under this License. + + However, if you cease all violation of this License, then your + license from a particular copyright holder is reinstated (a) + provisionally, unless and until the copyright holder explicitly and + finally terminates your license, and (b) permanently, if the + copyright holder fails to notify you of the violation by some + reasonable means prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is + reinstated permanently if the copyright holder notifies you of the + violation by some reasonable means, this is the first time you have + received notice of violation of this License (for any work) from + that copyright holder, and you cure the violation prior to 30 days + after your receipt of the notice. + + Termination of your rights under this section does not terminate + the licenses of parties who have received copies or rights from you + under this License. If your rights have been terminated and not + permanently reinstated, receipt of a copy of some or all of the + same material does not give you any rights to use it. + +10. FUTURE REVISIONS OF THIS LICENSE + + The Free Software Foundation may publish new, revised versions of + the GNU Free Documentation License from time to time. Such new + versions will be similar in spirit to the present version, but may + differ in detail to address new problems or concerns. See + http://www.gnu.org/copyleft. + + Each version of the License is given a distinguishing version + number. If the Document specifies that a particular numbered + version of this License "or any later version" applies to it, you + have the option of following the terms and conditions either of + that specified version or of any later version that has been + published (not as a draft) by the Free Software Foundation. If the + Document does not specify a version number of this License, you may + choose any version ever published (not as a draft) by the Free + Software Foundation. If the Document specifies that a proxy can + decide which future versions of this License can be used, that + proxy's public statement of acceptance of a version permanently + authorizes you to choose that version for the Document. + +11. RELICENSING + + "Massive Multiauthor Collaboration Site" (or "MMC Site") means any + World Wide Web server that publishes copyrightable works and also + provides prominent facilities for anybody to edit those works. A + public wiki that anybody can edit is an example of such a server. + A "Massive Multiauthor Collaboration" (or "MMC") contained in the + site means any set of copyrightable works thus published on the MMC + site. + + "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 + license published by Creative Commons Corporation, a not-for-profit + corporation with a principal place of business in San Francisco, + California, as well as future copyleft versions of that license + published by that same organization. + + "Incorporate" means to publish or republish a Document, in whole or + in part, as part of another Document. + + An MMC is "eligible for relicensing" if it is licensed under this + License, and if all works that were first published under this + License somewhere other than this MMC, and subsequently + incorporated in whole or in part into the MMC, (1) had no cover + texts or invariant sections, and (2) were thus incorporated prior + to November 1, 2008. + + The operator of an MMC Site may republish an MMC contained in the + site under CC-BY-SA on the same site at any time before August 1, + 2009, provided the MMC is eligible for relicensing. diff --git a/doc/source/overview.rst b/doc/source/overview.rst new file mode 100644 index 0000000..0bb1a7e --- /dev/null +++ b/doc/source/overview.rst @@ -0,0 +1,107 @@ +Overview +======== + +Evil is an extensible vi layer for Emacs. It emulates the main +features of Vim, [#vim]_ turning Emacs into a modal editor. Like Emacs in +general, Evil is extensible in Emacs Lisp. + + +Installation via package.el +--------------------------- + +Evil is available as a package from MELPA stable and MELPA unstable. +This is the recommended way of installing Evil. + +To set up `package.el` to work with one of these repositories, you can +follow the instructions on +`melpa.org `_. + +Once that is done, you can execute the following commands:: + + M-x package-refresh-contents + M-x package-install RET evil RET + +Finally, add the following lines to your Emacs init file: + +.. code-block:: elisp + + (require 'evil) + (evil-mode 1) + + +Manual installation +------------------- + +First, install `undo-tree`, `goto-chg` and `cl-lib`. If you have an +Emacs version of 24.3 or newer, you should already have `cl-lib`. + +Evil lives in a git repository. To download Evil, do:: + + git clone --depth 1 https://github.com/emacs-evil/evil.git + +Then add the following lines to your Emacs init file: + +.. code-block:: elisp + + (add-to-list 'load-path "path/to/evil") + (require 'evil) + (evil-mode 1) + +Ensure that your replace ``path/to/evil`` with the actual path to +where you cloned Evil. + + +Modes and states +---------------- + +The next time Emacs is started, it will come up in *normal state*, +denoted by ```` in the mode line. This is where the main vi +bindings are defined. Note that you can always disable normal state +with :kbd:`C-z`, which switches to an "Emacs state" (denoted by +````) in which vi keys are completely disabled. Press :kbd:`C-z` +again to switch back to normal state. + +state + Evil uses the term *state* for what is called a "mode" in regular vi + usage, because *modes* are understood in Emacs terms to mean + something else. + +Evil defines a number of states by default: + +normal state (````) + This is the default "resting state" of Evil, in which the main body + of vi bindings are defined. + +insert state (````) + This is the state for insertion of text, where non-modified keys + will insert the corresponding character in the buffer. + +visual state (````) + A state for selecting text regions. Motions are available for + modifying the selected region, and operators are available for + acting on it. + +replace state (````) + A special state mostly similar to insert state, except it replaces + text instead of inserting. + +operator-pending state (````) + A special state entered after launching an operator, but before + specifying the corresponding motion or text object. + +motion state (````) + A special state useful for buffers that are read-only, where motions + are available but editing operations are not. + +Emacs state (````) + A state that as closely as possible mimics default Emacs behaviour, + by eliminating all vi bindings, except for :kbd:`C-z`, to re-enter + normal state. + + +.. rubric:: Footnotes + +.. [#vim] Vim is the most popular version of *vi*, a modal text editor + with many implementations. Vim also adds some functions of its + own, like visual selection and text objects. For more information + see `the official Vim website `_. diff --git a/doc/source/settings.rst b/doc/source/settings.rst new file mode 100644 index 0000000..9ae45c6 --- /dev/null +++ b/doc/source/settings.rst @@ -0,0 +1,185 @@ +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-regexp-search + +.. elisp:autovariable:: evil-search-wrap + +.. elisp:autovariable:: evil-flash-delay + +.. elisp:autovariable:: evil-ex-hl-update-delay + + +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 + + +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-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 + + +.. 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. diff --git a/doc/version.texi b/doc/version.texi deleted file mode 100644 index 8531f00..0000000 --- a/doc/version.texi +++ /dev/null @@ -1,7 +0,0 @@ -@c -*-texinfo-*- -@c This is part of the Evil manual. -@c Copyright (C) 2011 Frank Fischer and Vegard Øye. -@c See the file evil.texi for copying conditions. - -@set VERSION 0.1 -@set UPDATED 2011-07-30 -- cgit v1.0 From bd1be56e4a8e12d454358b6366f9c94eb257b1c6 Mon Sep 17 00:00:00 2001 From: Eivind Fonn Date: Wed, 18 Dec 2019 17:12:33 +0100 Subject: Add texinfo file --- .gitignore | 3 +- doc/build/texinfo/evil.texi | 2053 +++++++++++++++++++++++++++++++++++++++++++ doc/source/conf.py | 6 + 3 files changed, 2061 insertions(+), 1 deletion(-) create mode 100644 doc/build/texinfo/evil.texi diff --git a/.gitignore b/.gitignore index 43e3062..a9b6f32 100644 --- a/.gitignore +++ b/.gitignore @@ -17,5 +17,6 @@ typescript /doc/*.toc /doc/*.vr /doc/*.vrs -/doc/build/ +/doc/build/*/ +!/doc/build/texinfo/evil.texi *.pyc diff --git a/doc/build/texinfo/evil.texi b/doc/build/texinfo/evil.texi new file mode 100644 index 0000000..ba0db05 --- /dev/null +++ b/doc/build/texinfo/evil.texi @@ -0,0 +1,2053 @@ +\input texinfo @c -*-texinfo-*- +@c %**start of header +@setfilename evil.info +@documentencoding UTF-8 +@ifinfo +@*Generated by Sphinx 2.2.2.@* +@end ifinfo +@settitle Evil documentation +@defindex ge +@paragraphindent 0 +@exampleindent 4 +@finalout +@dircategory Emacs +@direntry +* evil: (evil.info). Extensible vi layer for Emacs +@end direntry + +@definfoenclose strong,`,' +@definfoenclose emph,`,' +@c %**end of header + +@copying +@quotation +Evil 1.13.0, Dec 19, 2019 + +Eivind Fonn, Frank Fischer, Vegard Øye + +Copyright @copyright{} 2011-2019, Eivind Fonn, Frank Fischer, Vegard Øye +@end quotation + +@end copying + +@titlepage +@title Evil documentation +@insertcopying +@end titlepage +@contents + +@c %** start of user preamble + +@c %** end of user preamble + +@ifnottex +@node Top +@top Evil documentation +@insertcopying +@end ifnottex + +@c %**start of body +@anchor{index doc}@anchor{3f} +@c Evil documentation master file, created by +@c sphinx-quickstart on Thu Dec 12 10:34:49 2019. +@c You can adapt this file completely to your liking, but it should at least +@c contain the root `toctree` directive. + +@menu +* Overview:: +* Settings:: +* Keymaps:: +* Hooks:: +* Extension:: +* Internals:: +* The GNU Free Documentation License:: +* Emacs lisp functions and variables:: + +@detailmenu + --- The Detailed Node Listing --- + +Overview + +* Installation via package.el: Installation via package el. +* Manual installation:: +* Modes and states:: + +Settings + +* The initial state:: +* Keybindings and other behaviour:: +* Search:: +* Indentation:: +* Cursor movement:: +* Cursor display:: +* Window management:: +* Parenthesis highlighting:: +* Miscellaneous:: + +Keymaps + +* evil-define-key:: + +Extension + +* Motions:: +* Operators:: +* Text objects:: +* Range types:: +* States:: + +Internals + +* Command properties:: + +@end detailmenu +@end menu + +@node Overview,Settings,Top,Top +@anchor{overview doc}@anchor{40}@anchor{overview evil}@anchor{41}@anchor{overview overview}@anchor{42} +@chapter Overview + + +Evil is an extensible vi layer for Emacs. It emulates the main +features of Vim, @footnote{@w{(1)} +Vim is the most popular version of @emph{vi}, a modal text editor +with many implementations. Vim also adds some functions of its +own, like visual selection and text objects. For more information +see @uref{https://vim.org,the official Vim website}. +} turning Emacs into a modal editor. Like Emacs in +general, Evil is extensible in Emacs Lisp. + +@menu +* Installation via package.el: Installation via package el. +* Manual installation:: +* Modes and states:: + +@end menu + +@node Installation via package el,Manual installation,,Overview +@anchor{overview installation-via-package-el}@anchor{43} +@section Installation via package.el + + +Evil is available as a package from MELPA stable and MELPA unstable. +This is the recommended way of installing Evil. + +To set up @cite{package.el} to work with one of these repositories, you can +follow the instructions on +melpa.org@footnote{https://melpa.org/#/getting-started}. + +Once that is done, you can execute the following commands: + +@example +M-x package-refresh-contents +M-x package-install RET evil RET +@end example + +Finally, add the following lines to your Emacs init file: + +@example +(require 'evil) +(evil-mode 1) +@end example + +@node Manual installation,Modes and states,Installation via package el,Overview +@anchor{overview manual-installation}@anchor{44} +@section Manual installation + + +First, install @cite{undo-tree}, @cite{goto-chg} and @cite{cl-lib}. If you have an +Emacs version of 24.3 or newer, you should already have @cite{cl-lib}. + +Evil lives in a git repository. To download Evil, do: + +@example +git clone --depth 1 https://github.com/emacs-evil/evil.git +@end example + +Then add the following lines to your Emacs init file: + +@example +(add-to-list 'load-path "path/to/evil") +(require 'evil) +(evil-mode 1) +@end example + +Ensure that your replace @code{path/to/evil} with the actual path to +where you cloned Evil. + +@node Modes and states,,Manual installation,Overview +@anchor{overview modes-and-states}@anchor{45} +@section Modes and states + + +The next time Emacs is started, it will come up in @emph{normal state}, +denoted by @code{} in the mode line. This is where the main vi +bindings are defined. Note that you can always disable normal state +with @code{C-z}, which switches to an “Emacs state” (denoted by +@code{}) in which vi keys are completely disabled. Press @code{C-z} +again to switch back to normal state. + + +@table @asis + +@item state + +Evil uses the term @emph{state} for what is called a “mode” in regular vi +usage, because @emph{modes} are understood in Emacs terms to mean +something else. +@end table + +Evil defines a number of states by default: + + +@table @asis + +@item normal state (@code{}) + +This is the default “resting state” of Evil, in which the main body +of vi bindings are defined. + +@item insert state (@code{}) + +This is the state for insertion of text, where non-modified keys +will insert the corresponding character in the buffer. + +@item visual state (@code{}) + +A state for selecting text regions. Motions are available for +modifying the selected region, and operators are available for +acting on it. + +@item replace state (@code{}) + +A special state mostly similar to insert state, except it replaces +text instead of inserting. + +@item operator-pending state (@code{}) + +A special state entered after launching an operator, but before +specifying the corresponding motion or text object. + +@item motion state (@code{}) + +A special state useful for buffers that are read-only, where motions +are available but editing operations are not. + +@item Emacs state (@code{}) + +A state that as closely as possible mimics default Emacs behaviour, +by eliminating all vi bindings, except for @code{C-z}, to re-enter +normal state. +@end table + +@node Settings,Keymaps,Overview,Top +@anchor{settings doc}@anchor{46}@anchor{settings settings}@anchor{47} +@chapter 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: + +@example +M-x customize-group RET evil RET +@end example + +To change the value of a variable, you can use this interface, or add +a @code{setq} form to your Emacs init file, preferably before Evil is +loaded. @footnote{@w{(1)} +Strictly speaking, the order only matters if the variable +affects the way Evil is loaded. This is the case with some +variables. +} + +@example +(setq evil-shift-width 0) +;; Load Evil +(require 'evil) +@end example + +What follows is a non-exhaustive list of the most relevant +customization options. + +@menu +* The initial state:: +* Keybindings and other behaviour:: +* Search:: +* Indentation:: +* Cursor movement:: +* Cursor display:: +* Window management:: +* Parenthesis highlighting:: +* Miscellaneous:: + +@end menu + +@node The initial state,Keybindings and other behaviour,,Settings +@anchor{settings the-initial-state}@anchor{48} +@section 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 +@ref{2f,,evil-set-initial-state}. + +@anchor{settings elispobj-evil-set-initial-state}@anchor{2f} +@deffn {Emacs Lisp Autofunction} (evil@w{-}set@w{-}initial@w{-}state MODE STATE) + +Set the initial state for major mode @emph{MODE} to @emph{STATE}. +This is the state the buffer comes up in. +@end deffn + +If no state can be found, Evil uses the default initial state. + +@anchor{settings elispobj-evil-default-state}@anchor{d} +@deffn {Emacs Lisp Autovariable} evil@w{-}default@w{-}state + +The default Evil state. +This is the state a buffer starts in when it is not otherwise +configured (see @ref{2f,,evil-set-initial-state} and +@ref{5,,evil-buffer-regexps}). The value may be one of @code{normal}, +@code{insert}, @code{visual}, @code{replace}, @code{operator}, @code{motion} and @code{emacs}. + +Default: @code{normal} +@end deffn + +Alternatively, it is possible to select the initial state based on the +buffer @emph{name} rather than its major mode. This is checked first, so +it takes precedence over the other methods for setting the state. + +@anchor{settings elispobj-evil-buffer-regexps}@anchor{5} +@deffn {Emacs Lisp Autovariable} evil@w{-}buffer@w{-}regexps + +Regular expressions determining the initial state for a buffer. +Entries have the form @code{(REGEXP . STATE)}, where @emph{REGEXP} is a regular +expression matching the buffer’s name and @emph{STATE} is one of @code{normal}, +@code{insert}, @code{visual}, @code{replace}, @code{operator}, @code{motion}, @code{emacs} and +@code{nil}. If @emph{STATE} is @code{nil}, Evil is disabled in the buffer. + +Default: @code{(("^ \\*load\\*"))} +@end deffn + +@node Keybindings and other behaviour,Search,The initial state,Settings +@anchor{settings keybindings-and-other-behaviour}@anchor{49} +@section Keybindings and other behaviour + + +Evil comes with a rich system for modifying its key bindings +@ref{4a,,Keymaps}. For the most common tweaks, the following +variables are available. + +@anchor{settings elispobj-evil-toggle-key}@anchor{34} +@deffn {Emacs Lisp Autovariable} evil@w{-}toggle@w{-}key + +The key used to change to and from Emacs state. +Must be readable by @code{read-kbd-macro}. For example: “C-z”. + +Default: @code{"C-z"} +@end deffn + +@anchor{settings elispobj-evil-want-C-i-jump}@anchor{38} +@deffn {Emacs Lisp Autovariable} evil@w{-}want@w{-}C@w{-}i@w{-}jump + +Whether @code{C-i} jumps forward in the jump list (like Vim). +Otherwise, @code{C-i} inserts a tab character. + +Default: @code{t} +@end deffn + +@anchor{settings elispobj-evil-want-C-u-delete}@anchor{39} +@deffn {Emacs Lisp Autovariable} evil@w{-}want@w{-}C@w{-}u@w{-}delete + +Whether @code{C-u} deletes back to indentation in insert state. +Otherwise, @code{C-u} applies a prefix argument. The binding of +@code{C-u} mirrors Emacs behaviour by default due to the relative +ubiquity of prefix arguments. + +Default: @code{nil} +@end deffn + +@anchor{settings elispobj-evil-want-C-u-scroll}@anchor{3a} +@deffn {Emacs Lisp Autovariable} evil@w{-}want@w{-}C@w{-}u@w{-}scroll + +Whether @code{C-u} scrolls up (like Vim). +Otherwise, @code{C-u} applies a prefix argument. The binding of +@code{C-u} mirrors Emacs behaviour by default due to the relative +ubiquity of prefix arguments. + +Default: @code{nil} +@end deffn + +@anchor{settings elispobj-evil-want-C-d-scroll}@anchor{37} +@deffn {Emacs Lisp Autovariable} evil@w{-}want@w{-}C@w{-}d@w{-}scroll + +Whether @code{C-d} scrolls down (like Vim). + +Default: @code{t} +@end deffn + +@anchor{settings elispobj-evil-want-C-w-delete}@anchor{3b} +@deffn {Emacs Lisp Autovariable} evil@w{-}want@w{-}C@w{-}w@w{-}delete + +Whether @code{C-w} deletes a word in Insert state. + +Default: @code{t} +@end deffn + +@anchor{settings elispobj-evil-want-C-w-in-emacs-state}@anchor{3c} +@deffn {Emacs Lisp Autovariable} evil@w{-}want@w{-}C@w{-}w@w{-}in@w{-}emacs@w{-}state + +Whether @code{C-w} prefixes windows commands in Emacs state. + +Default: @code{nil} +@end deffn + +@anchor{settings elispobj-evil-want-Y-yank-to-eol}@anchor{3e} +@deffn {Emacs Lisp Autovariable} evil@w{-}want@w{-}Y@w{-}yank@w{-}to@w{-}eol + +Whether @code{Y} yanks to the end of the line. +The default behavior is to yank the whole line, like Vim. + +Default: @code{nil} +@end deffn + +@anchor{settings elispobj-evil-disable-insert-state-bindings}@anchor{15} +@deffn {Emacs Lisp Autovariable} evil@w{-}disable@w{-}insert@w{-}state@w{-}bindings + +Whether insert state bindings should be used. +Bindings for escape, delete and @ref{34,,evil-toggle-key} are always +available. If this is non-nil, default Emacs bindings are by and +large accessible in insert state. + +Default: @code{nil} +@end deffn + +@node Search,Indentation,Keybindings and other behaviour,Settings +@anchor{settings search}@anchor{4b} +@section Search + + +@anchor{settings elispobj-evil-regexp-search}@anchor{27} +@deffn {Emacs Lisp Autovariable} evil@w{-}regexp@w{-}search + +Whether to use regular expressions for searching in @code{/} and @code{?}. + +Default: @code{t} +@end deffn + +@anchor{settings elispobj-evil-search-wrap}@anchor{2a} +@deffn {Emacs Lisp Autovariable} evil@w{-}search@w{-}wrap + +Whether search with @code{/} and @code{?} wraps around the buffer. +If this is non-nil, search stops at the buffer boundaries. + +Default: @code{t} +@end deffn + +@anchor{settings elispobj-evil-flash-delay}@anchor{19} +@deffn {Emacs Lisp Autovariable} evil@w{-}flash@w{-}delay + +Time in seconds to flash search matches after @code{n} and @code{N}. + +Default: @code{2} +@end deffn + +@anchor{settings elispobj-evil-ex-hl-update-delay}@anchor{18} +@deffn {Emacs Lisp Autovariable} evil@w{-}ex@w{-}hl@w{-}update@w{-}delay + +Time in seconds of idle before updating search highlighting. +Setting this to a period shorter than that of keyboard’s repeat +rate allows highlights to update while scrolling. + +Default: @code{0.02} +@end deffn + +@node Indentation,Cursor movement,Search,Settings +@anchor{settings indentation}@anchor{4c} +@section Indentation + + +@anchor{settings elispobj-evil-auto-indent}@anchor{2} +@deffn {Emacs Lisp Autovariable} evil@w{-}auto@w{-}indent + +Whether to auto-indent when opening lines with @code{o} and @code{O}. + +Default: @code{t}, buffer-local +@end deffn + +@anchor{settings elispobj-evil-shift-width}@anchor{31} +@deffn {Emacs Lisp Autovariable} evil@w{-}shift@w{-}width + +The number of columns by which a line is shifted. +This applies to the shifting operators @code{>} and @code{<}. + +Default: @code{4}, buffer-local +@end deffn + +@anchor{settings elispobj-evil-shift-round}@anchor{30} +@deffn {Emacs Lisp Autovariable} evil@w{-}shift@w{-}round + +Whether shifting rounds to the nearest multiple. +If non-nil, @code{>} and @code{<} adjust line indentation to the +nearest multiple of @ref{31,,evil-shift-width}. + +Default: @code{t}, buffer-local +@end deffn + +@anchor{settings elispobj-evil-indent-convert-tabs}@anchor{1e} +@deffn {Emacs Lisp Autovariable} evil@w{-}indent@w{-}convert@w{-}tabs + +If non-nil, the @code{=} operator converts between leading tabs and spaces. +Whether tabs are converted to spaces or vice versa depends on the +value of @code{indent-tabs-mode}. + +Default: @code{t} +@end deffn + +@node Cursor movement,Cursor display,Indentation,Settings +@anchor{settings cursor-movement}@anchor{4d} +@section 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 @emph{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. + +@anchor{settings elispobj-evil-repeat-move-cursor}@anchor{28} +@deffn {Emacs Lisp Autovariable} evil@w{-}repeat@w{-}move@w{-}cursor + +Whether repeating commands with @code{.} may move the cursor. +If nil, the original cursor position is preserved, even if the command +normally would have moved the cursor. + +Default: @code{t} +@end deffn + +@anchor{settings elispobj-evil-move-cursor-back}@anchor{26} +@deffn {Emacs Lisp Autovariable} evil@w{-}move@w{-}cursor@w{-}back + +Whether the cursor is moved backwards when exiting insert state. +If non-nil, the cursor moves “backwards” when exiting insert state, +so that it ends up on the character to the left. Otherwise it remains +in place, on the character to the right. + +Default: @code{t} +@end deffn + +@anchor{settings elispobj-evil-move-beyond-eol}@anchor{25} +@deffn {Emacs Lisp Autovariable} evil@w{-}move@w{-}beyond@w{-}eol + +Whether the cursor can move past the end of the line. +If non-nil, the cursor is allowed to move one character past the +end of the line, as in Emacs. + +Default: @code{nil} +@end deffn + +@anchor{settings elispobj-evil-cross-lines}@anchor{7} +@deffn {Emacs Lisp Autovariable} evil@w{-}cross@w{-}lines + +Whether horizontal motions may move to other lines. +If non-nil, certain motions that conventionally operate in a single +line may move the cursor to other lines. Otherwise, they are +restricted to the current line. This applies to @code{h}, @code{l}, @code{f}, +@code{F}, @code{t}, @code{T}, @code{~}. + +Default: @code{nil} +@end deffn + +@anchor{settings elispobj-evil-respect-visual-line-mode}@anchor{29} +@deffn {Emacs Lisp Autovariable} evil@w{-}respect@w{-}visual@w{-}line@w{-}mode + +Whether movement commands respect @code{visual-line-mode}. +If non-nil, @code{visual-line-mode} is generally respected when it is +on. In this case, motions such as @code{j} and @code{k} navigate by +visual lines (on the screen) rather than “physical” +lines (defined by newline characters). If @code{nil}, the setting of +@code{visual-line-mode} is ignored. + +This variable must be set before Evil is loaded. + +Default: @code{nil} +@end deffn + +@anchor{settings elispobj-evil-track-eol}@anchor{35} +@deffn {Emacs Lisp Autovariable} evil@w{-}track@w{-}eol + +Whether @code{$} “sticks” the cursor to the end of the line. +If non-nil, vertical motions after @code{$} maintain the cursor at the +end of the line, even if the target line is longer. This is analogous +to @code{track-eol}, but respects Evil’s interpretation of end-of-line. + +Default: @code{t} +@end deffn + +@node Cursor display,Window management,Cursor movement,Settings +@anchor{settings cursor-display}@anchor{4e} +@section Cursor display + + +A state may change the appearance of the cursor. Use the variable +@ref{c,,evil-default-cursor} to set the default cursor, and the +variables @code{evil-normal-state-cursor}, @code{evil-insert-state-cursor} +etc. to set the cursors for specific states. The acceptable values +for all of them are the same. + +@anchor{settings elispobj-evil-default-cursor}@anchor{c} +@deffn {Emacs Lisp Autovariable} evil@w{-}default@w{-}cursor + +The default cursor. +May be a cursor type as per @code{cursor-type}, a color string as passed +to @code{set-cursor-color}, a zero-argument function for changing the +cursor, or a list of the above. + +Default: @code{t} +@end deffn + +@node Window management,Parenthesis highlighting,Cursor display,Settings +@anchor{settings window-management}@anchor{4f} +@section Window management + + +@anchor{settings elispobj-evil-auto-balance-windows}@anchor{1} +@deffn {Emacs Lisp Autovariable} evil@w{-}auto@w{-}balance@w{-}windows + +If non-nil window creation and deletion trigger rebalancing. + +Default: @code{t} +@end deffn + +@anchor{settings elispobj-evil-split-window-below}@anchor{33} +@deffn {Emacs Lisp Autovariable} evil@w{-}split@w{-}window@w{-}below + +If non-nil split windows @code{:split} are created below. + +Default: @code{nil} +@end deffn + +@anchor{settings elispobj-evil-vsplit-window-right}@anchor{36} +@deffn {Emacs Lisp Autovariable} evil@w{-}vsplit@w{-}window@w{-}right + +If non-nil vertically split windows with @code{:vsplit} are +created to the right. + +Default: @code{nil} +@end deffn + +@node Parenthesis highlighting,Miscellaneous,Window management,Settings +@anchor{settings parenthesis-highlighting}@anchor{50} +@section Parenthesis highlighting + + +These settings concern the integration between Evil and +@code{show-paren-mode}. They take no effect if this mode is not enabled. + +@anchor{settings elispobj-evil-show-paren-range}@anchor{32} +@deffn {Emacs Lisp Autovariable} evil@w{-}show@w{-}paren@w{-}range + +The minimal distance between point and a parenthesis +which causes the parenthesis to be highlighted. + +Default: @code{0} +@end deffn + +@anchor{settings elispobj-evil-highlight-closing-paren-at-point-states}@anchor{1d} +@deffn {Emacs Lisp Autovariable} evil@w{-}highlight@w{-}closing@w{-}paren@w{-}at@w{-}point@w{-}states + +The states in which the closing parenthesis at point should be highlighted. +All states listed here highlight the closing parenthesis at +point (which is Vim’s default behavior). All others highlight the +parenthesis before point (which is Emacs default behavior). If +this list contains the symbol @code{not} then its meaning is inverted, +i.e. all states listed here highlight the closing parenthesis +before point. + +Default: @code{(not emacs insert replace)} +@end deffn + +@node Miscellaneous,,Parenthesis highlighting,Settings +@anchor{settings miscellaneous}@anchor{51} +@section Miscellaneous + + +@anchor{settings elispobj-evil-want-fine-undo}@anchor{3d} +@deffn {Emacs Lisp Autovariable} evil@w{-}want@w{-}fine@w{-}undo + +Whether actions like @code{cw} are undone in several steps. +There are two possible choices. @code{nil} (“no”) means that all +changes made during insert state, including a possible delete +after a change operation, are collected in a single undo step. +Non-nil (“yes”) means that undo steps are determined according +to Emacs heuristics, and no attempt is made to aggregate changes. + +For backward compatibility purposes, the value @code{fine} is +interpreted as @code{nil}. This option was removed because it did not +work consistently. + +Default: @code{nil} +@end deffn + +@anchor{settings elispobj-evil-backspace-join-lines}@anchor{3} +@deffn {Emacs Lisp Autovariable} evil@w{-}backspace@w{-}join@w{-}lines + +Whether backward delete in insert state may join lines. + +Default: @code{t} +@end deffn + +@anchor{settings elispobj-evil-kbd-macro-suppress-motion-error}@anchor{20} +@deffn {Emacs Lisp Autovariable} evil@w{-}kbd@w{-}macro@w{-}suppress@w{-}motion@w{-}error + +Whether left/right motions signal errors in keyboard macros. +This variable only affects beginning-of-line or end-of-line errors +regarding the motions @code{h} and @code{l} respectively. This may be +desired since such errors cause macro definition or execution to be +terminated. There are four possibilities: + + +@itemize - + +@item +@code{record}: errors are suppressed when recording macros, but not when +replaying them. + +@item +@code{replay}: errors are suppressed when replaying macros, but not when +recording them. + +@item +@code{t}: errors are suppressed in both cases. + +@item +@code{nil}: errors are never suppressed. +@end itemize + +Default: @code{nil} +@end deffn + +@anchor{settings elispobj-evil-mode-line-format}@anchor{23} +@deffn {Emacs Lisp Autovariable} evil@w{-}mode@w{-}line@w{-}format + +The position of the state tag in the mode line. +If set to @code{before} or @code{after}, the tag is placed at the beginning +or the end of the mode-line, respectively. If @code{nil}, there is no +tag. Otherwise it should be a cons cell @code{(WHERE . WHICH)}, where +@emph{WHERE} is either @code{before} or @code{after}, and @emph{WHICH} is a symbol in +@code{mode-line-format}. The tag is then placed before or after that +symbol, respectively. + +Default: @code{before} +@end deffn + +@anchor{settings elispobj-evil-mouse-word}@anchor{24} +@deffn {Emacs Lisp Autovariable} evil@w{-}mouse@w{-}word + +The @emph{thing-at-point} symbol for double click selection. +The double-click starts visual state in a special word selection +mode. This symbol is used to determine the words to be +selected. Possible values are @code{evil-word} or @code{evil-WORD}. + +Default: @code{evil-word} +@end deffn + +@anchor{settings elispobj-evil-bigword}@anchor{4} +@deffn {Emacs Lisp Autovariable} evil@w{-}bigword + +The set of characters to be interpreted as WORD boundaries. +This is enclosed with square brackets and used as a regular +expression. By default, whitespace characters are considered +WORD boundaries. + +Default: @code{"^ \t\r\n"}, buffer-local +@end deffn + +@anchor{settings elispobj-evil-esc-delay}@anchor{17} +@deffn {Emacs Lisp Autovariable} evil@w{-}esc@w{-}delay + +The time, in seconds, to wait for another key after escape. +If no further event arrives during this time, the event is +translated to @code{ESC}. Otherwise, it is translated according to +@code{input-decode-map}. This does not apply in Emacs state, and may +also be inhibited by setting @code{evil-inhibit-esc}. + +Default: @code{0.01} +@end deffn + +@anchor{settings elispobj-evil-intercept-esc}@anchor{1f} +@deffn {Emacs Lisp Autovariable} evil@w{-}intercept@w{-}esc + +Whether Evil should intercept the @code{ESC} key. +In the terminal, escape and a meta key sequence both generate the +same event. In order to distingush these, Evil uses +@code{input-decode-map}. It is not necessary to do this in a graphical +Emacs session. However, if you prefer to use @code{C-[} as escape (which +is identical to the terminal escape key code), this interception must +also happen in graphical Emacs sessions. Set this variable to +@code{always}, @code{t} (only in the terminal) or @code{nil} (never intercept). + +Default: @code{always} +@end deffn + +@anchor{settings elispobj-evil-kill-on-visual-paste}@anchor{21} +@deffn {Emacs Lisp Autovariable} evil@w{-}kill@w{-}on@w{-}visual@w{-}paste + +Whether pasting in visual state adds the replaced text to the +kill ring, making it the default for the next paste. The default, +replicates the default Vim behavior. + +Default: @code{t} +@end deffn + +@anchor{settings elispobj-evil-echo-state}@anchor{16} +@deffn {Emacs Lisp Autovariable} evil@w{-}echo@w{-}state + +Whether to signal the current state in the echo area. + +Default: @code{t} +@end deffn + +@anchor{settings elispobj-evil-complete-all-buffers}@anchor{6} +@deffn {Emacs Lisp Autovariable} evil@w{-}complete@w{-}all@w{-}buffers + +Whether completion looks for matches in all buffers. +This applies to @code{C-n} and @code{C-p} in insert state. + +Default: @code{t} +@end deffn + +@node Keymaps,Hooks,Settings,Top +@anchor{keymaps doc}@anchor{52}@anchor{keymaps chapter-keymaps}@anchor{4a}@anchor{keymaps keymaps}@anchor{53} +@chapter Keymaps + + +Evil’s key bindings are stored in a number of different keymaps. Each +state has a @emph{global keymap}, where the default bindings for that state +are stored. They are named @code{evil-normal-state-map}, +@code{evil-insert-state-map}, and so on. The bindings in these maps are +visible in all buffers currently in the corresponding state. + +These keymaps function like ordinary Emacs keymaps and may be modified +using the Emacs function @code{define-key}: + +@example +(define-key evil-normal-state-map (kbd "w") 'some-function) +@end example + +This binds the key @code{w} to the command @code{some-function} in normal +state. The use of @code{kbd} is optional for simple key sequences, like +this one, but recommended in general. + +Most of Evil’s bindings are defined in the file @code{evil-maps.el}. + +To facilitate shared keybindings between states, some states may +activate keybindings from other states as well. For example, motion +state bindings are visible in normal and visual state, and normal +state bindings are also visible in visual state. + +Each state also has a @emph{buffer-local keymap} which is specific to the +current buffer, and which takes precedence over the global keymap. +These maps are most suitably modified by a mode hook. They are named +@code{evil-normal-state-local-map}, @code{evil-insert-state-local-map}, and +so on. + +@example +(add-hook 'some-mode-hook + (lambda () + (define-key evil-normal-state-local-map + (kbd "w") 'some-function))) +@end example + +For convenience, the functions @ref{1c,,evil-global-set-key} and +@ref{22,,evil-local-set-key} are available for setting global and +local state keys. + +@anchor{keymaps elispobj-evil-global-set-key}@anchor{1c} +@deffn {Emacs Lisp Autofunction} (evil@w{-}global@w{-}set@w{-}key STATE KEY DEF) + +Bind @emph{KEY} to @emph{DEF} in @emph{STATE}. +@end deffn + +@anchor{keymaps elispobj-evil-local-set-key}@anchor{22} +@deffn {Emacs Lisp Autofunction} (evil@w{-}local@w{-}set@w{-}key STATE KEY DEF) + +Bind @emph{KEY} to @emph{DEF} in @emph{STATE} in the current buffer. +@end deffn + +The above examples could therefore have been written as follows: + +@example +(evil-global-set-key 'normal (kbd "w") 'some-function) + +(add-hook 'some-mode-hook + (lambda () + (evil-local-set-key 'normal (kbd "w") 'some-function))) +@end example + +@menu +* evil-define-key:: + +@end menu + +@node evil-define-key,,,Keymaps +@anchor{keymaps evil-define-key}@anchor{54} +@section evil-define-key + + +Evil provides the macro @ref{f,,evil-define-key} for adding state +bindings to ordinary keymaps. It is quite powerful, and is the +preferred method for fine-tuning bindings to activate in specific +circumstances. + +@anchor{keymaps elispobj-evil-define-key}@anchor{f} +@deffn {Emacs Lisp Autofunction} (evil@w{-}define@w{-}key STATE KEYMAP KEY DEF [BINDINGS...]) + +Create a @emph{STATE} binding from @emph{KEY} to @emph{DEF} for @emph{KEYMAP}. +@emph{STATE} is one of @code{normal}, @code{insert}, @code{visual}, @code{replace}, +@code{operator}, @code{motion}, @code{emacs}, or a list of one or more of +these. Omitting a state by using @code{nil} corresponds to a standard +Emacs binding using @code{define-key}. The remaining arguments are +like those of @code{define-key}. For example: + +@example +(evil-define-key 'normal foo-map "a" 'bar) +@end example + +This creates a binding from @code{a} to @code{bar} in normal state, which +is active whenever @code{foo-map} is active. Using @code{nil} for the state, +the following lead to identical bindings: + +@example +(evil-define-key nil foo-map "a" 'bar) +(define-key foo-map "a" 'bar) +@end example + +It is possible to specify multiple states and/or bindings at +once: + +@example +(evil-define-key '(normal visual) foo-map + "a" 'bar + "b" 'foo) +@end example + +If @code{foo-map} has not been initialized yet, this macro adds an +entry to @code{after-load-functions}, delaying execution as necessary. + +@emph{KEYMAP} may also be a quoted symbol. If the symbol is @code{global}, the +global evil keymap corresponding to the state(s) is used, meaning +the following lead to identical bindings: + +@example +(evil-define-key 'normal 'global "a" 'bar) +(evil-global-set-key 'normal "a" 'bar) +@end example + +The symbol @code{local} may also be used, which corresponds to using +@ref{22,,evil-local-set-key}. If a quoted symbol is used that is not +@code{global} or @code{local}, it is assumed to be the name of a minor +mode, in which case @code{evil-define-minor-mode-key} is used. +@end deffn + +There follows a brief overview of the main functions of this macro. + + +@itemize - + +@item +Define a binding in a given state + +@example +(evil-define-key 'state 'global (kbd "key") 'target) +@end example + +@item +Define a binding in a given state in the current buffer + +@example +(evil-define-key 'state 'local (kbd "key") 'target) +@end example + +@item +Define a binding in a given state under the @emph{foo-mode} major mode. + +@example +(evil-define-key 'state foo-mode-map (kbd "key") 'target) +@end example + +Note that @code{foo-mode-map} is unquoted, and that this form is safe +before @code{foo-mode-map} is loaded. + +@item +Define a binding in a given state under the @emph{bar-mode} minor mode. + +@example +(evil-define-key 'state 'bar-mode (kbd "key") 'target) +@end example + +Note that @code{bar-mode} is quoted, and that this form is safe before +@code{bar-mode} is loaded. +@end itemize + +The macro @ref{f,,evil-define-key} can be used to augment existing +modes with state bindings, as well as creating packages with customg +bindings. For example, the following will create a minor mode +@code{foo-mode} with normal state bindings for the keys @code{w} and +@code{e}: + +@example +(define-minor-mode foo-mode + "Foo mode." + :keymap (make-sparse-keymap)) + +(evil-define-key 'normal 'foo-mode "w" 'bar) +(evil-define-key 'normal 'foo-mode "e" 'baz) +@end example + +This minor mode can then be enabled in any buffers where the custom +bindings are desired: + +@example +(add-hook 'text-mode-hook 'foo-mode) ; enable alongside text-mode +@end example + +@node Hooks,Extension,Keymaps,Top +@anchor{hooks doc}@anchor{55}@anchor{hooks hooks}@anchor{56} +@chapter Hooks + + +A @emph{hook} is a list of functions that are executed when certain events +happen. Hooks are modified with the Emacs function @code{add-hook}. +Evil provides entry and exit hooks for all its states. For example, +when switching from normal state to insert state, all functions in +@code{evil-normal-state-exit-hook} and @code{evil-insert-state-entry-hook} +are executed. + +It is guaranteed that the exit hook will be executed before the entry +hook on all state switches. + +During the hook execution, the variables @code{evil-next-state} and +@code{evil-previous-state} contain information about the states being +switched to and from, respectively. + +@node Extension,Internals,Hooks,Top +@anchor{extension doc}@anchor{57}@anchor{extension extension}@anchor{58} +@chapter Extension + + +The main functionality of Evil is implemented in terms of reusable +macros. Package writers can use these to define new commands. + +@menu +* Motions:: +* Operators:: +* Text objects:: +* Range types:: +* States:: + +@end menu + +@node Motions,Operators,,Extension +@anchor{extension motions}@anchor{59} +@section Motions + + +A @emph{motion} is a command which moves the cursor, such as @code{w} or +@code{e}. Motions are defined with the macro +@ref{10,,evil-define-motion}. Motions not defined in this way +should be declared with @ref{9,,evil-declare-motion}. + +@anchor{extension elispobj-evil-declare-motion}@anchor{9} +@deffn {Emacs Lisp Autofunction} (evil@w{-}declare@w{-}motion COMMAND) + +Declare @emph{COMMAND} to be a movement function. +This ensures that it behaves correctly in visual state. +@end deffn + +@anchor{extension elispobj-evil-define-motion}@anchor{10} +@deffn {Emacs Lisp Autofunction} (evil@w{-}define@w{-}motion MOTION (COUNT ARGS...) DOC [[KEY VALUE]...] BODY...) + +Define a motion command @emph{MOTION}. +@emph{ARGS} is a list of arguments. Motions can have any number of +arguments, but the first (if any) has the predefined meaning of +count. @emph{BODY} must execute the motion by moving point. + +Optional keyword arguments are: + + +@itemize - + +@item +@code{:type} - determines how the motion works after an operator (one of +@code{inclusive}, @code{line}, @code{block} and @code{exclusive}, or a self-defined +motion type) + +@item +@code{:jump} - if non-nil, the previous position is stored in the jump +list, so that it can be restored with @code{C-o} +@end itemize +@end deffn + +For example, this is a motion that moves the cursor forward by a +number of characters: + +@example +(evil-define-motion foo-forward (count) + "Move to the right by COUNT characters." + :type inclusive + (forward-char (or count 1))) +@end example + +The @emph{type} of a motion determines how it works when used together with +an operator. Inclusive motions include the endpoint in the range +being operated on, while exclusive motions do not. Line motions +extend the whole range to linewise positions, effectively behaving as +if the endpoint were really at the end of the line. Blockwise ranges +behave as a “rectangle” on screen rather than a contiguous range of +characters. + +@node Operators,Text objects,Motions,Extension +@anchor{extension operators}@anchor{5a} +@section Operators + + +An operator is a command that acts on the text moved over by a motion, +such as @code{c} (change), @code{d} (delete) or @code{y} (yank or +copy, not to be confused with “yank” in Emacs terminology which means +@emph{paste}). + +@anchor{extension elispobj-evil-define-operator}@anchor{11} +@deffn {Emacs Lisp Autofunction} (evil@w{-}define@w{-}operator OPERATOR (BEG END ARGS...) DOC [[KEY VALUE]...] BODY...) + +Define an operator command @emph{OPERATOR}. +The operator acts on the range of characters @emph{BEG} through +@emph{END}. @emph{BODY} must execute the operator by potentially manipulating +the buffer contents, or otherwise causing side effects to happen. + +Optional keyword arguments are: + + +@itemize - + +@item +@code{:type} - force the input range to be of a given type (@code{inclusive}, +@code{line}, @code{block}, and @code{exclusive}, or a self-defined motion type). + +@item +@code{:motion} - use a predetermined motion instead of waiting for one +from the keyboard. This does not affect the behavior in visual +state, where selection boundaries are always used. + +@item +@code{:repeat} - if non-nil (default), then @code{.} will repeat the +operator. + +@item +@code{:move-point} - if non-nil (default), the cursor will be moved to +the beginning of the range before the body executes + +@item +@code{:keep-visual} - if non-nil, the selection is not disabled when the +operator is executed in visual state. By default, visual state is +exited automatically. +@end itemize +@end deffn + +For example, this is an operator that performs ROT13 encryption on the +text under consideration: + +@example +(evil-define-operator evil-rot13 (beg end) + "ROT13 encrypt text." + (rot13-region beg end)) +@end example + +Binding this to @code{g?} (where it is by default) will cause a key +sequence such as @code{g?w} to encrypt from the current cursor to the +end of the word. + +@node Text objects,Range types,Operators,Extension +@anchor{extension text-objects}@anchor{5b} +@section Text objects + + +Text objects are like motions in that they define a range over which +an operator may act. Unlike motions, text objects can set both a +beginning and an endpoint. In visual state, text objects alter both +ends of the selection. + +Text objects are not directly usable in normal state. Instead, they +are bound in the two keymaps @code{evil-inner-text-ojects-map} and +@code{evil-outer-text-objects-map}, which are available in visual and +operator-pending state under the keys @code{i} and @code{a} +respectively. + +@anchor{extension elispobj-evil-define-text-object}@anchor{13} +@deffn {Emacs Lisp Autofunction} (evil@w{-}define@w{-}text@w{-}object OBJECT (COUNT) DOC [[KEY VALUE]...] BODY...) + +Define a text object command @emph{OBJECT}. +@emph{BODY} should return a range @code{(BEG END)} to the right of point +if @emph{COUNT} is positive, and to the left of it if negative. + +Optional keyword arguments: + + +@itemize - + +@item +@code{:type} - determines how the range applies after an operator +(@code{inclusive}, @code{line}, @code{block}, and @code{exclusive}, or a self-defined +motion type). + +@item +@code{:extend-selection} - if non-nil (default), the text object always +enlarges the current selection. Otherwise, it replaces the current +selection. +@end itemize +@end deffn + +For eample, this is a text object which selects the next three +characters after the current location: + +@example +(evil-define-text-object foo (count) + "Select three characters." + (list (point) (+ 3 (point)))) +@end example + +For convenience, Evil provides several functions returning a list of +positions which can be used for defining text objects. All of them +follow the convention that a positive @emph{count} selects text after the +current location, while negative @emph{count} selects text before it. + +@cartouche +@quotation Note +The @emph{thingatpt} library is used quite extensively in Evil to define +text objects, and this dependency leaks through in the following +functions. A @emph{thing} in this context is any symbol for which there +is a function called @code{forward-THING} @footnote{@w{(1)} +There are many more ways that a @emph{thing} can be defined, +but the definition of @code{forward-THING} is perhaps the most +straightforward way to go about it. +} which moves past a +number of @emph{things}. +@end quotation +@end cartouche + +@anchor{extension elispobj-evil-select-inner-object}@anchor{2c} +@deffn {Emacs Lisp Autofunction} (evil@w{-}select@w{-}inner@w{-}object THING BEG END TYPE [COUNT LINE]) + +Return an inner text object range of @emph{COUNT} objects. +If @emph{COUNT} is positive, return objects following point; if @emph{COUNT} is +negative, return objects preceding point. If one is unspecified, +the other is used with a negative argument. @emph{THING} is a symbol +understood by @emph{thing-at-point}. @emph{BEG}, @emph{END} and @emph{TYPE} specify the +current selection. If @emph{LINE} is non-nil, the text object should be +linewise, otherwise it is character wise. +@end deffn + +@anchor{extension elispobj-evil-select-an-object}@anchor{2b} +@deffn {Emacs Lisp Autofunction} (evil@w{-}select@w{-}an@w{-}object THING BEG END TYPE COUNT [LINE]) + +Return an outer text object range of @emph{COUNT} objects. +If @emph{COUNT} is positive, return objects following point; if @emph{COUNT} is +negative, return objects preceding point. If one is unspecified, +the other is used with a negative argument. @emph{THING} is a symbol +understood by @emph{thing-at-point}. @emph{BEG}, @emph{END} and @emph{TYPE} specify the +current selection. If @emph{LINE} is non-nil, the text object should be +linewise, otherwise it is character wise. +@end deffn + +@anchor{extension elispobj-evil-select-paren}@anchor{2d} +@deffn {Emacs Lisp Autofunction} (evil@w{-}select@w{-}paren OPEN CLOSE BEG END TYPE COUNT [INCLUSIVE]) + +Return a range @code{(BEG END)} of @emph{COUNT} delimited text objects. +@emph{OPEN} and @emph{CLOSE} specify the opening and closing delimiter, +respectively. @emph{BEG} @emph{END} @emph{TYPE} are the currently selected (visual) +range. If @emph{INCLUSIVE} is non-nil, @emph{OPEN} and @emph{CLOSE} are included in +the range; otherwise they are excluded. + +The types of @emph{OPEN} and @emph{CLOSE} specify which kind of THING is used +for parsing with @code{evil-select-block}. If @emph{OPEN} and @emph{CLOSE} are +characters @code{evil-up-paren} is used. Otherwise @emph{OPEN} and @emph{CLOSE} +must be regular expressions and @code{evil-up-block} is used. + +If the selection is exclusive, whitespace at the end or at the +beginning of the selection until the end-of-line or beginning-of-line +is ignored. +@end deffn + +@node Range types,States,Text objects,Extension +@anchor{extension range-types}@anchor{5c} +@section Range types + + +A @emph{type} is a transformation acting on a pair of buffer positions. +Evil defines the types @code{inclusive}, @code{line}, @code{block} and +@code{exclusive}, which are used for motion ranges and visual selection. +New types may be defined with the macro @emph{evil-define-type}. + +@anchor{extension elispobj-evil-define-type}@anchor{14} +@deffn {Emacs Lisp Autofunction} (evil@w{-}define@w{-}type TYPE DOC [[KEY FUNC]...]) + +Define type @emph{TYPE}. +@emph{DOC} is a general description and shows up in all docstrings. + +Optional keyword arguments: + + +@itemize - + +@item +@code{:expand} - expansion function. This function should accept two +positions in the current buffer, BEG and END,and return a pair of +expanded buffer positions. + +@item +@code{:contract} - the opposite of @code{:expand}. Optional. + +@item +@code{:one-to-one} - non-nil if expansion is one-to-one. This means that +@code{:expand} followed by @code{:contract} always return the original range. + +@item +@code{:normalize} - normalization function. This function should accept +two unexpanded positions and adjust them before expansion. May be +used to deal with buffer boundaries. + +@item +@code{:string} - description function. Takes two buffer positions and +returns a human-readable string. For example “2 lines” +@end itemize + +If further keywords and functions are specified, they are assumed to +be transformations on buffer positions, like @code{:expand} and @code{:contract}. +@end deffn + +@node States,,Range types,Extension +@anchor{extension states}@anchor{5d} +@section States + + +States are defined with the macro @ref{12,,evil-define-state}, +which takes care to define the necessary hooks, keymaps and variables, +as well as a toggle function @code{evil-NAME-state} and a predicate +function @code{evil-NAME-state-p} for checking whether the state is +active. + +@anchor{extension elispobj-evil-define-state}@anchor{12} +@deffn {Emacs Lisp Autofunction} (evil@w{-}define@w{-}state STATE DOC [[KEY VAL]...] BODY...) + +Define an Evil state @emph{STATE}. +@emph{DOC} is a general description and shows up in all docstrings; +the first line of the string should be the full name of the state. + +@emph{BODY} is executed each time the state is enabled or disabled. + +Optional keyword arguments: + + +@itemize - + +@item +@code{:tag} - the mode line indicator, e.g. “”. + +@item +@code{:message} - string shown in the echo area when the state is +activated. + +@item +@code{:cursor} - default cursor specification. + +@item +@code{:enable} - list of other state keymaps to enable when in this +state. + +@item +@code{:entry-hook} - list of functions to run when entering this state. + +@item +@code{:exit-hook} - list of functions to run when exiting this state. + +@item +@code{:suppress-keymap} - if non-nil, effectively disables bindings to +@code{self-insert-command} by making @code{evil-suppress-map} the parent of +the global state keymap. +@end itemize + +The global keymap of this state will be @code{evil-test-state-map}, +the local keymap will be @code{evil-test-state-local-map}, and so on. +@end deffn + +For example: + +@example +(evil-define-state test + "Test state." + :tag " " + (message (if (evil-test-state-p) + "Enabling test state." + "Disabling test state."))) +@end example + +@node Internals,The GNU Free Documentation License,Extension,Top +@anchor{internals doc}@anchor{5e}@anchor{internals internals}@anchor{5f} +@chapter Internals + + +@menu +* Command properties:: + +@end menu + +@node Command properties,,,Internals +@anchor{internals command-properties}@anchor{60} +@section Command properties + + +Evil defines @emph{command properties} to store information about commands +@footnote{@w{(1)} +In this context, a @emph{command} may mean any Evil motion, +text object, operator or indeed other Emacs commands, which have +not been defined through the Evil machinery. +}, such as whether they should be repeated. A command +property is a @code{:keyword} with an associated value, e.g. +@code{:repeat nil}. + +@anchor{internals elispobj-evil-add-command-properties}@anchor{0} +@deffn {Emacs Lisp Autofunction} (evil@w{-}add@w{-}command@w{-}properties COMMAND [PROPERTIES...]) + +Add @emph{PROPERTIES} to @emph{COMMAND}. +@emph{PROPERTIES} should be a property list. +To replace all properties at once, use @ref{2e,,evil-set-command-properties}. +@end deffn + +@anchor{internals elispobj-evil-set-command-properties}@anchor{2e} +@deffn {Emacs Lisp Autofunction} (evil@w{-}set@w{-}command@w{-}properties COMMAND [PROPERTIES...]) + +Replace all of @emph{COMMAND}’s properties with @emph{PROPERTIES}. +@emph{PROPERTIES} should be a property list. +This erases all previous properties; to only add properties, +use @code{evil-set-command-property}. +@end deffn + +@anchor{internals elispobj-evil-get-command-properties}@anchor{1a} +@deffn {Emacs Lisp Autofunction} (evil@w{-}get@w{-}command@w{-}properties COMMAND) + +Return all Evil properties of @emph{COMMAND}. +See also @ref{1b,,evil-get-command-property}. +@end deffn + +@anchor{internals elispobj-evil-get-command-property}@anchor{1b} +@deffn {Emacs Lisp Autofunction} (evil@w{-}get@w{-}command@w{-}property COMMAND PROPERTY [DEFAULT]) + +Return the value of Evil @emph{PROPERTY} of @emph{COMMAND}. +If the command does not have the property, return @emph{DEFAULT}. +See also @ref{1a,,evil-get-command-properties}. +@end deffn + +@anchor{internals elispobj-evil-define-command}@anchor{e} +@deffn {Emacs Lisp Autofunction} (evil@w{-}define@w{-}command COMMAND (ARGS...) DOC [[KEY VALUE]...] BODY...) + +Define a command @emph{COMMAND}. +@end deffn + +For setting repeat properties, use the following functions: + +@anchor{internals elispobj-evil-declare-repeat}@anchor{b} +@deffn {Emacs Lisp Autofunction} (evil@w{-}declare@w{-}repeat COMMAND) + +Declare @emph{COMMAND} to be repeatable. +@end deffn + +@anchor{internals elispobj-evil-declare-not-repeat}@anchor{a} +@deffn {Emacs Lisp Autofunction} (evil@w{-}declare@w{-}not@w{-}repeat COMMAND) + +Declare @emph{COMMAND} to be nonrepeatable. +@end deffn + +@anchor{internals elispobj-evil-declare-change-repeat}@anchor{8} +@deffn {Emacs Lisp Autofunction} (evil@w{-}declare@w{-}change@w{-}repeat COMMAND) + +Declare @emph{COMMAND} to be repeatable by buffer changes rather than +keystrokes. +@end deffn + +@node The GNU Free Documentation License,Emacs lisp functions and variables,Internals,Top +@anchor{license doc}@anchor{61}@anchor{license the-gnu-free-documentation-license}@anchor{62} +@chapter The GNU Free Documentation License + + +Version 1.3, 3 November 2008 + +@quotation + +Copyright (c) 2000, 2001, 2002, 2007, 2008 Free Software +Foundation, Inc. @indicateurl{http://fsf.org/} + +Everyone is permitted to copy and distribute verbatim copies of +this license document, but changing it is not allowed. +@end quotation + + +@enumerate 0 + +@item +PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +functional and useful document @emph{free} in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or +noncommercially. Secondarily, this License preserves for the +author and publisher a way to get credit for their work, while not +being considered responsible for modifications made by others. + +This License is a kind of “copyleft”, which means that derivative +works of the document must themselves be free in the same sense. +It complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for +free software, because free software needs free documentation: a +free program should come with manuals providing the same freedoms +that the software does. But this License is not limited to +software manuals; it can be used for any textual work, regardless +of subject matter or whether it is published as a printed book. We +recommend this License principally for works whose purpose is +instruction or reference. + +@item +APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, +that contains a notice placed by the copyright holder saying it can +be distributed under the terms of this License. Such a notice +grants a world-wide, royalty-free license, unlimited in duration, +to use that work under the conditions stated herein. The +“Document”, below, refers to any such manual or work. Any member +of the public is a licensee, and is addressed as “you”. You accept +the license if you copy, modify or distribute the work in a way +requiring permission under copyright law. + +A “Modified Version” of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A “Secondary Section” is a named appendix or a front-matter section +of the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document’s overall +subject (or to related matters) and contains nothing that could +fall directly within that overall subject. (Thus, if the Document +is in part a textbook of mathematics, a Secondary Section may not +explain any mathematics.) The relationship could be a matter of +historical connection with the subject or with related matters, or +of legal, commercial, philosophical, ethical or political position +regarding them. + +The “Invariant Sections” are certain Secondary Sections whose +titles are designated, as being those of Invariant Sections, in the +notice that says that the Document is released under this License. +If a section does not fit the above definition of Secondary then it +is not allowed to be designated as Invariant. The Document may +contain zero Invariant Sections. If the Document does not identify +any Invariant Sections then there are none. + +The “Cover Texts” are certain short passages of text that are +listed, as Front-Cover Texts or Back-Cover Texts, in the notice +that says that the Document is released under this License. A +Front-Cover Text may be at most 5 words, and a Back-Cover Text may +be at most 25 words. + +A “Transparent” copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed +of pixels) generic paint programs or (for drawings) some widely +available drawing editor, and that is suitable for input to text +formatters or for automatic translation to a variety of formats +suitable for input to text formatters. A copy made in an otherwise +Transparent file format whose markup, or absence of markup, has +been arranged to thwart or discourage subsequent modification by +readers is not Transparent. An image format is not Transparent if +used for any substantial amount of text. A copy that is not +“Transparent” is called “Opaque”. + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, +SGML or XML using a publicly available DTD, and standard-conforming +simple HTML, PostScript or PDF designed for human modification. +Examples of transparent image formats include PNG, XCF and JPG. +Opaque formats include proprietary formats that can be read and +edited only by proprietary word processors, SGML or XML for which +the DTD and/or processing tools are not generally available, and +the machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. + +The “Title Page” means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the +material this License requires to appear in the title page. For +works in formats which do not have any title page as such, “Title +Page” means the text near the most prominent appearance of the +work’s title, preceding the beginning of the body of the text. + +The “publisher” means any person or entity that distributes copies +of the Document to the public. + +A section “Entitled XYZ” means a named subunit of the Document +whose title either is precisely XYZ or contains XYZ in parentheses +following text that translates XYZ in another language. (Here XYZ +stands for a specific section name mentioned below, such as +“Acknowledgements”, “Dedications”, “Endorsements”, or “History”.) +To “Preserve the Title” of such a section when you modify the +Document means that it remains a section “Entitled XYZ” according +to this definition. + +The Document may include Warranty Disclaimers next to the notice +which states that this License applies to the Document. These +Warranty Disclaimers are considered to be included by reference in +this License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and +has no effect on the meaning of this License. + +@item +VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License +applies to the Document are reproduced in all copies, and that you +add no other conditions whatsoever to those of this License. You +may not use technical measures to obstruct or control the reading +or further copying of the copies you make or distribute. However, +you may accept compensation in exchange for copies. If you +distribute a large enough number of copies you must also follow the +conditions in section 3. + +You may also lend copies, under the same conditions stated above, +and you may publicly display copies. + +@item +COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly +have printed covers) of the Document, numbering more than 100, and +the Document’s license notice requires Cover Texts, you must +enclose the copies in covers that carry, clearly and legibly, all +these Cover Texts: Front-Cover Texts on the front cover, and +Back-Cover Texts on the back cover. Both covers must also clearly +and legibly identify you as the publisher of these copies. The +front cover must present the full title with all words of the title +equally prominent and visible. You may add other material on the +covers in addition. Copying with changes limited to the covers, as +long as they preserve the title of the Document and satisfy these +conditions, can be treated as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto +adjacent pages. + +If you publish or distribute Opaque copies of the Document +numbering more than 100, you must either include a machine-readable +Transparent copy along with each Opaque copy, or state in or with +each Opaque copy a computer-network location from which the general +network-using public has access to download using public-standard +network protocols a complete Transparent copy of the Document, free +of added material. If you use the latter option, you must take +reasonably prudent steps, when you begin distribution of Opaque +copies in quantity, to ensure that this Transparent copy will +remain thus accessible at the stated location until at least one +year after the last time you distribute an Opaque copy (directly or +through your agents or retailers) of that edition to the public. + +It is requested, but not required, that you contact the authors of +the Document well before redistributing any large number of copies, +to give them a chance to provide you with an updated version of the +Document. + +@item +MODIFICATIONS + +You may copy and distribute a Modified Version of the Document +under the conditions of sections 2 and 3 above, provided that you +release the Modified Version under precisely this License, with the +Modified Version filling the role of the Document, thus licensing +distribution and modification of the Modified Version to whoever +possesses a copy of it. In addition, you must do these things in +the Modified Version: + + +@enumerate A + +@item +Use in the Title Page (and on the covers, if any) a title +distinct from that of the Document, and from those of previous +versions (which should, if there were any, be listed in the +History section of the Document). You may use the same title as +a previous version if the original publisher of that version +gives permission. + +@item +List on the Title Page, as authors, one or more persons or +entities responsible for authorship of the modifications in the +Modified Version, together with at least five of the principal +authors of the Document (all of its principal authors, if it has +fewer than five), unless they release you from this requirement. + +@item +State on the Title page the name of the publisher of the +Modified Version, as the publisher. + +@item +Preserve all the copyright notices of the Document. + +@item +Add an appropriate copyright notice for your modifications +adjacent to the other copyright notices. + +@item +Include, immediately after the copyright notices, a license +notice giving the public permission to use the Modified Version +under the terms of this License, in the form shown in the +Addendum below. + +@item +Preserve in that license notice the full lists of Invariant +Sections and required Cover Texts given in the Document’s +license notice. + +@item +Include an unaltered copy of this License. + +@item +Preserve the section Entitled “History”, Preserve its Title, and +add to it an item stating at least the title, year, new authors, +and publisher of the Modified Version as given on the Title +Page. If there is no section Entitled “History” in the +Document, create one stating the title, year, authors, and +publisher of the Document as given on its Title Page, then add +an item describing the Modified Version as stated in the +previous sentence. + +@item +Preserve the network location, if any, given in the Document for +public access to a Transparent copy of the Document, and +likewise the network locations given in the Document for +previous versions it was based on. These may be placed in the +“History” section. You may omit a network location for a work +that was published at least four years before the Document +itself, or if the original publisher of the version it refers to +gives permission. + +@item +For any section Entitled “Acknowledgements” or “Dedications”, +Preserve the Title of the section, and preserve in the section +all the substance and tone of each of the contributor +acknowledgements and/or dedications given therein. + +@item +Preserve all the Invariant Sections of the Document, unaltered +in their text and in their titles. Section numbers or the +equivalent are not considered part of the section titles. + +@item +Delete any section Entitled “Endorsements”. Such a section may +not be included in the Modified Version. + +@item +Do not retitle any existing section to be Entitled +“Endorsements” or to conflict in title with any Invariant +Section. + +@item +Preserve any Warranty Disclaimers. +@end enumerate + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no +material copied from the Document, you may at your option designate +some or all of these sections as invariant. To do this, add their +titles to the list of Invariant Sections in the Modified Version’s +license notice. These titles must be distinct from any other +section titles. + +You may add a section Entitled “Endorsements”, provided it contains +nothing but endorsements of your Modified Version by various +parties—for example, statements of peer review or that the text +has been approved by an organization as the authoritative +definition of a standard. + +You may add a passage of up to five words as a Front-Cover Text, +and a passage of up to 25 words as a Back-Cover Text, to the end of +the list of Cover Texts in the Modified Version. Only one passage +of Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document +already includes a cover text for the same cover, previously added +by you or by arrangement made by the same entity you are acting on +behalf of, you may not add another; but you may replace the old +one, on explicit permission from the previous publisher that added +the old one. + +The author(s) and publisher(s) of the Document do not by this +License give permission to use their names for publicity for or to +assert or imply endorsement of any Modified Version. + +@item +COMBINING DOCUMENTS + +You may combine the Document with other documents released under +this License, under the terms defined in section 4 above for +modified versions, provided that you include in the combination all +of the Invariant Sections of all of the original documents, +unmodified, and list them all as Invariant Sections of your +combined work in its license notice, and that you preserve all +their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name +but different contents, make the title of each such section unique +by adding at the end of it, in parentheses, the name of the +original author or publisher of that section if known, or else a +unique number. Make the same adjustment to the section titles in +the list of Invariant Sections in the license notice of the +combined work. + +In the combination, you must combine any sections Entitled +“History” in the various original documents, forming one section +Entitled “History”; likewise combine any sections Entitled +“Acknowledgements”, and any sections Entitled “Dedications”. You +must delete all sections Entitled “Endorsements.” + +@item +COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other +documents released under this License, and replace the individual +copies of this License in the various documents with a single copy +that is included in the collection, provided that you follow the +rules of this License for verbatim copying of each of the documents +in all other respects. + +You may extract a single document from such a collection, and +distribute it individually under this License, provided you insert +a copy of this License into the extracted document, and follow this +License in all other respects regarding verbatim copying of that +document. + +@item +AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other +separate and independent documents or works, in or on a volume of a +storage or distribution medium, is called an “aggregate” if the +copyright resulting from the compilation is not used to limit the +legal rights of the compilation’s users beyond what the individual +works permit. When the Document is included in an aggregate, this +License does not apply to the other works in the aggregate which +are not themselves derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half +of the entire aggregate, the Document’s Cover Texts may be placed +on covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic +form. Otherwise they must appear on printed covers that bracket +the whole aggregate. + +@item +TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of +section 4. Replacing Invariant Sections with translations requires +special permission from their copyright holders, but you may +include translations of some or all Invariant Sections in addition +to the original versions of these Invariant Sections. You may +include a translation of this License, and all the license notices +in the Document, and any Warranty Disclaimers, provided that you +also include the original English version of this License and the +original versions of those notices and disclaimers. In case of a +disagreement between the translation and the original version of +this License or a notice or disclaimer, the original version will +prevail. + +If a section in the Document is Entitled “Acknowledgements”, +“Dedications”, or “History”, the requirement (section 4) to +Preserve its Title (section 1) will typically require changing the +actual title. + +@item +TERMINATION + +You may not copy, modify, sublicense, or distribute the Document +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense, or distribute it is void, +and will automatically terminate your rights under this License. + +However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the +copyright holder fails to notify you of the violation by some +reasonable means prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from +that copyright holder, and you cure the violation prior to 30 days +after your receipt of the notice. + +Termination of your rights under this section does not terminate +the licenses of parties who have received copies or rights from you +under this License. If your rights have been terminated and not +permanently reinstated, receipt of a copy of some or all of the +same material does not give you any rights to use it. + +@item +FUTURE REVISIONS OF THIS LICENSE +@end enumerate + +@quotation + +The Free Software Foundation may publish new, revised versions of +the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +@indicateurl{http://www.gnu.org/copyleft}. + +Each version of the License is given a distinguishing version +number. If the Document specifies that a particular numbered +version of this License “or any later version” applies to it, you +have the option of following the terms and conditions either of +that specified version or of any later version that has been +published (not as a draft) by the Free Software Foundation. If the +Document does not specify a version number of this License, you may +choose any version ever published (not as a draft) by the Free +Software Foundation. If the Document specifies that a proxy can +decide which future versions of this License can be used, that +proxy’s public statement of acceptance of a version permanently +authorizes you to choose that version for the Document. +@end quotation + + +@enumerate 11 + +@item +RELICENSING +@end enumerate + +@quotation + +“Massive Multiauthor Collaboration Site” (or “MMC Site”) means any +World Wide Web server that publishes copyrightable works and also +provides prominent facilities for anybody to edit those works. A +public wiki that anybody can edit is an example of such a server. +A “Massive Multiauthor Collaboration” (or “MMC”) contained in the +site means any set of copyrightable works thus published on the MMC +site. + +“CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 +license published by Creative Commons Corporation, a not-for-profit +corporation with a principal place of business in San Francisco, +California, as well as future copyleft versions of that license +published by that same organization. + +“Incorporate” means to publish or republish a Document, in whole or +in part, as part of another Document. + +An MMC is “eligible for relicensing” if it is licensed under this +License, and if all works that were first published under this +License somewhere other than this MMC, and subsequently +incorporated in whole or in part into the MMC, (1) had no cover +texts or invariant sections, and (2) were thus incorporated prior +to November 1, 2008. + +The operator of an MMC Site may republish an MMC contained in the +site under CC-BY-SA on the same site at any time before August 1, +2009, provided the MMC is eligible for relicensing. +@end quotation + + +@node Emacs lisp functions and variables,,The GNU Free Documentation License,Top +@unnumbered Emacs lisp functions and variables + + +@menu +* evil-add-command-properties: 0. +* evil-auto-balance-windows: 1. +* evil-auto-indent: 2. +* evil-backspace-join-lines: 3. +* evil-bigword: 4. +* evil-buffer-regexps: 5. +* evil-complete-all-buffers: 6. +* evil-cross-lines: 7. +* evil-declare-change-repeat: 8. +* evil-declare-motion: 9. +* evil-declare-not-repeat: a. +* evil-declare-repeat: b. +* evil-default-cursor: c. +* evil-default-state: d. +* evil-define-command: e. +* evil-define-key: f. +* evil-define-motion: 10. +* evil-define-operator: 11. +* evil-define-state: 12. +* evil-define-text-object: 13. +* evil-define-type: 14. +* evil-disable-insert-state-bindings: 15. +* evil-echo-state: 16. +* evil-esc-delay: 17. +* evil-ex-hl-update-delay: 18. +* evil-flash-delay: 19. +* evil-get-command-properties: 1a. +* evil-get-command-property: 1b. +* evil-global-set-key: 1c. +* evil-highlight-closing-paren-at-point-states: 1d. +* evil-indent-convert-tabs: 1e. +* evil-intercept-esc: 1f. +* evil-kbd-macro-suppress-motion-error: 20. +* evil-kill-on-visual-paste: 21. +* evil-local-set-key: 22. +* evil-mode-line-format: 23. +* evil-mouse-word: 24. +* evil-move-beyond-eol: 25. +* evil-move-cursor-back: 26. +* evil-regexp-search: 27. +* evil-repeat-move-cursor: 28. +* evil-respect-visual-line-mode: 29. +* evil-search-wrap: 2a. +* evil-select-an-object: 2b. +* evil-select-inner-object: 2c. +* evil-select-paren: 2d. +* evil-set-command-properties: 2e. +* evil-set-initial-state: 2f. +* evil-shift-round: 30. +* evil-shift-width: 31. +* evil-show-paren-range: 32. +* evil-split-window-below: 33. +* evil-toggle-key: 34. +* evil-track-eol: 35. +* evil-vsplit-window-right: 36. +* evil-want-C-d-scroll: 37. +* evil-want-C-i-jump: 38. +* evil-want-C-u-delete: 39. +* evil-want-C-u-scroll: 3a. +* evil-want-C-w-delete: 3b. +* evil-want-C-w-in-emacs-state: 3c. +* evil-want-fine-undo: 3d. +* evil-want-Y-yank-to-eol: 3e. +@end menu + + +@c %**end of body +@bye diff --git a/doc/source/conf.py b/doc/source/conf.py index 5df3c49..5255885 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -53,6 +53,12 @@ latex_elements = { } +texinfo_documents = [ + (master_doc, 'evil', 'Evil documentation', author, 'evil', + 'Extensible vi layer for Emacs', 'Emacs'), +] + + # -- General configuration --------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be -- cgit v1.0 From fc0e25d812e3d0f65dd06059f4481cce97a2674c Mon Sep 17 00:00:00 2001 From: Eivind Fonn Date: Thu, 19 Dec 2019 09:17:12 +0100 Subject: Update root makefile targets --- Makefile | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 7e3e07c..9551885 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ LIBS = -L lib ELCFILES = $(FILES:.el=.elc) -.PHONY: all compile compile-batch info pdf clean tests test emacs term terminal profiler indent elpa version +.PHONY: all compile compile-batch docstrings doc clean tests test emacs term terminal profiler indent elpa version # Byte-compile Evil. all: compile @@ -34,13 +34,11 @@ compile-batch: clean $(EMACS) --batch -Q -L . $(LIBS) -f batch-byte-compile ${FILES} # Documentation. -doc: info pdf +docstrings: + @$(EMACS) --script scripts/evil-extract-docstrings -info: clean - @$(MAKE) -C doc evil.info - -pdf: clean - @$(MAKE) -C doc evil.pdf +doc: docstrings + @$(MAKE) -C doc texinfo # Delete byte-compiled files etc. clean: -- cgit v1.0