summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Kadlcik <frostyx@email.cz>2022-04-26 15:11:22 -0400
committerYoumu <condy0919@gmail.com>2022-04-28 13:24:45 +0800
commit205d43f1a033cba85a7c4966c78143971386f88d (patch)
tree47b54dae8e8df7961ddd0bce1a9bb2fe264bdd75
parent694c1b4201dce70e7a98bdf6d95cd1a08107fc97 (diff)
vterm: add vterm-substitute and vterm-substitute-line
I baesd the implementation on `evil-substitute` and `evil-change-whole-line`.
-rw-r--r--modes/vterm/evil-collection-vterm.el15
1 files changed, 14 insertions, 1 deletions
diff --git a/modes/vterm/evil-collection-vterm.el b/modes/vterm/evil-collection-vterm.el
index 5999516..3681586 100644
--- a/modes/vterm/evil-collection-vterm.el
+++ b/modes/vterm/evil-collection-vterm.el
@@ -176,6 +176,17 @@ Save in REGISTER or in the kill-ring with YANK-HANDLER."
(evil-collection-vterm-delete-line beg end type register yank-handler)
(evil-collection-vterm-insert))
+(evil-define-operator evil-collection-vterm-substitute (beg end type register)
+ :motion evil-forward-char
+ (interactive "<R><x>")
+ (evil-collection-vterm-change beg end type register))
+
+(evil-define-operator evil-collection-vterm-substitute-line (beg end register yank-handler)
+ :motion evil-line-or-visual-line
+ :type line
+ (interactive "<r><x>")
+ (evil-collection-vterm-change beg end 'line register yank-handler))
+
;;;###autoload
(defun evil-collection-vterm-setup ()
"Set up `evil' bindings for `vterm'."
@@ -225,7 +236,9 @@ Save in REGISTER or in the kill-ring with YANK-HANDLER."
"I" 'evil-collection-vterm-insert-line
"u" 'vterm-undo
"c" 'evil-collection-vterm-change
- "C" 'evil-collection-vterm-change-line)
+ "C" 'evil-collection-vterm-change-line
+ "s" 'evil-collection-vterm-substitute
+ "S" 'evil-collection-vterm-substitute-line)
(evil-collection-define-key 'visual 'vterm-mode-map
"d" 'evil-collection-vterm-delete