Add evil-escape
This commit is contained in:
parent
beb3ba6149
commit
0383f3edd8
4 changed files with 6 additions and 30 deletions
1
Cask
1
Cask
|
@ -49,6 +49,7 @@
|
|||
(depends-on "evil-surround")
|
||||
(depends-on "evil-visualstar")
|
||||
(depends-on "evil-plugins" :git "https://github.com/tarao/evil-plugins")
|
||||
(depends-on "evil-escape")
|
||||
|
||||
;; Editor --- core/core-editor.el
|
||||
(depends-on "ace-window")
|
||||
|
|
|
@ -236,33 +236,5 @@ to abort the minibuffer."
|
|||
(f-directories narf-packages-dir)
|
||||
narf--load-path)))
|
||||
|
||||
(after! evil
|
||||
(evil-define-command narf:exit-mode-maybe ()
|
||||
"Exits insert/replace mode using jk without the momentary pause caused by
|
||||
key-chord-define."
|
||||
:repeat nil
|
||||
(interactive)
|
||||
(let ((modified (buffer-modified-p))
|
||||
(buffer-undo-list t))
|
||||
(call-interactively 'self-insert-command)
|
||||
(let ((evt (read-event nil nil 0.4)))
|
||||
(cond
|
||||
((null evt) (message ""))
|
||||
((and (integerp evt) (or (char-equal evt ?k)
|
||||
(char-equal evt ?K)))
|
||||
|
||||
(if (evil-replace-state-p)
|
||||
(evil-replace-backspace)
|
||||
(delete-char -1))
|
||||
(set-buffer-modified-p modified)
|
||||
(when (and (bound-and-true-p electric-indent-mode)
|
||||
narf-electric-indent-words
|
||||
(eolp)
|
||||
(looking-back (concat "\\<" (regexp-opt narf-electric-indent-words) "\\>")))
|
||||
(indent-according-to-mode))
|
||||
(push 'escape unread-command-events))
|
||||
(t
|
||||
(setq unread-command-events (append unread-command-events (list evt)))))))))
|
||||
|
||||
(provide 'core-defuns)
|
||||
;;; core-defuns.el ends here
|
||||
|
|
|
@ -400,5 +400,10 @@
|
|||
:config
|
||||
(global-evil-visualstar-mode 1))
|
||||
|
||||
(use-package evil-escape
|
||||
:config
|
||||
(setq evil-escape-key-sequence "jk")
|
||||
(evil-escape-mode +1))
|
||||
|
||||
(provide 'core-evil)
|
||||
;;; core-evil.el ends here
|
||||
|
|
|
@ -258,8 +258,6 @@
|
|||
:i "<C-return>" 'evil-ret-and-indent
|
||||
|
||||
;; escape from insert mode (more responsive than using key-chord-define)
|
||||
:ir "j" 'narf:exit-mode-maybe
|
||||
:ir "J" 'narf:exit-mode-maybe
|
||||
:irv "C-g" 'evil-normal-state
|
||||
|
||||
:o "s" 'evil-surround-edit
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue