branch: elpa/evil-exchange
commit 328370e8986a9702cfed71108610f5ffa51648ea
Merge: 47c017cc9a 5b0c4ab07c
Author: Dewdrops <[email protected]>
Commit: Dewdrops <[email protected]>

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

diff --git a/evil-exchange.el b/evil-exchange.el
index 1dceacbffd..7fc8154bee 100644
--- a/evil-exchange.el
+++ b/evil-exchange.el
@@ -168,5 +168,21 @@
   (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