[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/evil 3b73f82abb 2/3: evil-ex-completion-map/evil-ex-search
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/evil 3b73f82abb 2/3: evil-ex-completion-map/evil-ex-search-keymap respect evil-want-C-w-delete |
Date: |
Wed, 5 Oct 2022 12:58:34 -0400 (EDT) |
branch: elpa/evil
commit 3b73f82abb5ee983079de531adafd2ada885edd9
Author: jixiuf <jixiuf@qq.com>
Commit: Tom Dalziel <33435574+tomdl89@users.noreply.github.com>
evil-ex-completion-map/evil-ex-search-keymap respect evil-want-C-w-delete
---
evil-maps.el | 8 ++++++--
evil-vars.el | 24 ++++++++++++++++++++++--
2 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/evil-maps.el b/evil-maps.el
index 56540ca6d5..85e725b756 100644
--- a/evil-maps.el
+++ b/evil-maps.el
@@ -592,7 +592,9 @@ included in `evil-insert-state-bindings' by default."
(define-key evil-ex-search-keymap "\C-p" 'previous-history-element)
(define-key evil-ex-search-keymap "\C-u" 'evil-delete-whole-line)
(define-key evil-ex-search-keymap "\C-v" #'quoted-insert)
-(define-key evil-ex-search-keymap "\C-w" 'evil-search-yank-word)
+(if evil-want-C-w-delete
+ (define-key evil-ex-search-keymap "\C-w" 'backward-kill-word)
+ (define-key evil-ex-search-keymap "\C-w" 'evil-search-yank-word))
;; ex command line
(define-key evil-ex-completion-map "\d" #'evil-ex-delete-backward-char)
@@ -612,7 +614,9 @@ included in `evil-insert-state-bindings' by default."
(define-key evil-ex-completion-map "\C-n" #'next-complete-history-element)
(define-key evil-ex-completion-map "\C-u" 'evil-delete-whole-line)
(define-key evil-ex-completion-map "\C-v" #'quoted-insert)
-(define-key evil-ex-completion-map "\C-w" 'backward-kill-word)
+(if evil-want-C-w-delete
+ (define-key evil-ex-completion-map "\C-w" 'backward-kill-word)
+ (define-key evil-ex-completion-map "\C-w" nil))
(define-key evil-ex-completion-map [escape] 'abort-recursive-edit)
(define-key evil-ex-completion-map [S-left] 'backward-word)
(define-key evil-ex-completion-map [S-right] 'forward-word)
diff --git a/evil-vars.el b/evil-vars.el
index 8bd4011767..9930390c29 100644
--- a/evil-vars.el
+++ b/evil-vars.el
@@ -531,7 +531,7 @@ ubiquity of prefix arguments."
(define-key evil-replace-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/Ex/Search state."
:type 'boolean
:group 'evil
:set #'(lambda (sym value)
@@ -548,7 +548,27 @@ ubiquity of prefix arguments."
(eq (lookup-key evil-insert-state-map (kbd "C-w"))
'evil-window-map))
(define-key evil-insert-state-map (kbd "C-w")
'evil-delete-backward-word)
- (define-key evil-replace-state-map (kbd "C-w")
'evil-delete-backward-word))))))
+ (define-key evil-replace-state-map (kbd "C-w")
'evil-delete-backward-word))))
+ (when (boundp 'evil-ex-search-keymap)
+ (cond
+ ((and (not value)
+ (eq (lookup-key evil-ex-search-keymap (kbd "C-w"))
+ 'backward-kill-word))
+ (define-key evil-ex-search-keymap (kbd "C-w")
'evil-search-yank-word))
+ ((and value
+ (eq (lookup-key evil-ex-search-keymap (kbd "C-w"))
+ 'evil-search-yank-word))
+ (define-key evil-ex-search-keymap (kbd "C-w")
'backward-kill-word))))
+ (when (boundp 'evil-ex-completion-map)
+ (cond
+ ((and (not value)
+ (eq (lookup-key evil-ex-completion-map (kbd "C-w"))
+ 'backward-kill-word))
+ (define-key evil-ex-completion-map (kbd "C-w") nil))
+ ((and value
+ (eq (lookup-key evil-ex-completion-map (kbd "C-w"))
+ nil))
+ (define-key evil-ex-completion-map (kbd "C-w")
'backward-kill-word))))))
(defcustom evil-want-C-h-delete nil
"Whether `C-h' deletes a char in Insert state."