emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/evil-exchange 5b0c4ab07c 20/46: add vim-compatible key bin


From: ELPA Syncer
Subject: [nongnu] elpa/evil-exchange 5b0c4ab07c 20/46: add vim-compatible key bindings
Date: Thu, 6 Jan 2022 03:59:51 -0500 (EST)

branch: elpa/evil-exchange
commit 5b0c4ab07c482d3a344ee3d09efe099caf73772d
Author: Dewdrops <v_v_4474@126.com>
Commit: Dewdrops <v_v_4474@126.com>

    add vim-compatible key bindings
---
 evil-exchange.el | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/evil-exchange.el b/evil-exchange.el
index 431bacf570..d99869a31b 100644
--- a/evil-exchange.el
+++ b/evil-exchange.el
@@ -146,5 +146,22 @@
   (define-key evil-normal-state-map evil-exchange-cancel-key 
'evil-exchange-cancel)
   (define-key evil-visual-state-map evil-exchange-cancel-key 
'evil-exchange-cancel))
 
+
+(defun evil-exchange/cx ()
+  (interactive)
+  (when (memq evil-this-operator '(evil-change evil-cp-change))
+    (setq evil-inhibit-operator t)
+    (define-key evil-operator-shortcut-map "c" 'evil-exchange-cancel)
+    (call-interactively #'evil-exchange)
+    (define-key evil-operator-shortcut-map "c" nil)))
+
+;;;###autoload
+(defun evil-exchange-cx-install ()
+  "Setting evil-exchange key bindings in a vim-compatible way"
+  (interactive)
+  (define-key evil-operator-state-map "x" 'evil-exchange/cx)
+  (define-key evil-visual-state-map "X" 'evil-exchange))
+
+
 (provide 'evil-exchange)
 ;;; evil-exchange.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]