Skip to content

Commit 72dfb11

Browse files
committed
Fixes #1974: Correct C-h behavior to ensure electric-pair deletes adjacent pairs
1 parent 334a636 commit 72dfb11

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

evil-maps.el

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,12 @@
421421

422422
;;; Insert state
423423

424+
(defun evil-delete-backward-C-h ()
425+
"In Evil insert state, make `C-h' behave like the `DEL' key."
426+
(interactive)
427+
(when-let* ((del-binding (key-binding (kbd "DEL"))))
428+
(call-interactively del-binding)))
429+
424430
(defvar evil-insert-state-bindings
425431
`(([insert] . evil-enter-replace-state)
426432
("\C-q" . evil-quoted-insert)
@@ -447,7 +453,7 @@
447453
,@(when evil-want-C-u-delete
448454
'(("\C-u" . evil-delete-back-to-indentation)))
449455
,@(when evil-want-C-h-delete
450-
'(("\C-h" . evil-delete-backward-char-and-join)))
456+
'(("\C-h" . evil-delete-backward-C-h)))
451457
([mouse-2] . mouse-yank-primary))
452458
"Evil's bindings for insert & replace states.
453459
Used in `evil-insert-state-map' and `evil-replace-state-map',

evil-vars.el

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -590,8 +590,7 @@ ubiquity of prefix arguments."
590590
(define-key evil-replace-state-map (kbd "C-h") nil))
591591
((and value
592592
(not (lookup-key evil-insert-state-map (kbd "C-h"))))
593-
(define-key evil-insert-state-map (kbd "C-h")
594-
'evil-delete-backward-char-and-join)
593+
(define-key evil-insert-state-map (kbd "C-h") (kbd "DEL"))
595594
(define-key evil-replace-state-map (kbd "C-h")
596595
'evil-replace-backspace))))))
597596

0 commit comments

Comments
 (0)