config/default: refactor evil key fixes

Also fixes #643, which is caused because evil is disabled and these
fixes clumsily use evil-define-key* (which won't exist).
This commit is contained in:
Henrik Lissner 2018-06-02 02:39:31 +02:00
parent a0bec84997
commit 92fd24ff0f

View file

@ -717,7 +717,7 @@
;;
;; This section is dedicated to "fixing" certain keys so that they behave
;; properly, more like vim, or how I like it.
;; sensibly (and consistently with similar contexts).
(define-key input-decode-map [S-iso-lefttab] [backtab])
@ -725,7 +725,10 @@
(unless window-system
(define-key input-decode-map (kbd "TAB") [tab]))
(after! evil
(after! tabulated-list
(define-key tabulated-list-mode-map "q" #'quit-window))
(when (featurep! :feature evil +everywhere)
(evil-define-key* 'insert 'global
;; I want C-a and C-e to be a little smarter. C-a will jump to indentation.
;; Pressing it again will send you to the true bol. Same goes for C-e,
@ -748,18 +751,14 @@
(define-key! evil-ex-completion-map
"\C-a" #'move-beginning-of-line
"\C-b" #'backward-word
"\C-f" #'forward-word))
"\C-f" #'forward-word)
(after! tabulated-list
(define-key tabulated-list-mode-map "q" #'quit-window))
(after! view
(define-key view-mode-map (kbd "<escape>") #'View-quit-all))
(after! view
(define-key view-mode-map (kbd "<escape>") #'View-quit-all)))
;; Restore common editing keys (and ESC) in minibuffer
(defun +default|fix-minibuffer-in-map (map)
(evil-define-key* nil map
[escape] #'abort-recursive-edit
(define-key! map
"\C-a" #'move-beginning-of-line
"\C-w" #'backward-kill-word
"\C-u" #'backward-kill-sentence
@ -767,7 +766,8 @@
"\C-f" #'forward-word
"\C-z" (λ! (ignore-errors (call-interactively #'undo))))
(when (featurep! :feature evil +everywhere)
(evil-define-key* nil map
(define-key! map
[escape] #'abort-recursive-edit
"\C-r" #'evil-paste-from-register
"\C-j" #'next-line
"\C-k" #'previous-line