Thank you for explanation. I have another question. What is the purpose of this snippet in `evil-maps.el': ;; evil-read-key (define-key evil-read-key-map (kbd "ESC") #'keyboard-quit) (define-key evil-read-key-map (kbd "C-]") #'keyboard-quit) (define-key evil-read-key-map (kbd "C-q") #'evil-read-quoted-char) (define-key evil-read-key-map (kbd "C-v") #'evil-read-quoted-char) (define-key evil-read-key-map (kbd "C-k") #'evil-read-digraph-char) (define-key evil-read-key-map "\r" "\n") Also some feedback. It does not look right to me that the following code is present in `evil-maps.el' by default: ;;; Minibuffer (define-key minibuffer-local-map "\C-p" 'evil-complete-next) (define-key minibuffer-local-map "\C-n" 'evil-complete-previous) (define-key minibuffer-local-map "\C-x\C-p" 'evil-complete-next-line) (define-key minibuffer-local-map "\C-x\C-n" 'evil-complete-previous-line) I think that modifying any other keymap but `evil-*-map' is not a good idea by default. For instance, now I can't clean it up by simply (dolist (map '(minibuffer-local-map)) (set map (make-sparse-keymap))) since there are other mappings there. Kind regards, Alexander.