aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjixiuf <jixiuf@qq.com>2021-01-21 22:00:41 +0800
committerGitHub <noreply@github.com>2021-01-21 22:00:41 +0800
commit0ce562b26c42ab234925d0b60c58556722236725 (patch)
tree815730dee54074fe5264a28ed71a9c6a7715d945
parentfa8e831410b0f5ab0f72f0561bbb9b36c906d721 (diff)
parentbd04098d52ef7c98f4b51e63e2599327b0ef30e8 (diff)
Merge pull request #485 from JimDBh/fix_xterm
Fix xterm-paste in vterm.
-rw-r--r--vterm.el10
1 files changed, 9 insertions, 1 deletions
diff --git a/vterm.el b/vterm.el
index 14cdcea..b4c0c78 100644
--- a/vterm.el
+++ b/vterm.el
@@ -539,6 +539,14 @@ Exceptions are defined by `vterm-keymap-exceptions'."
unless (member key exceptions)
collect key))))
+(defun vterm-xterm-paste (event)
+ "Handle xterm paste EVENT in vterm."
+ (interactive "e")
+ (with-temp-buffer
+ (xterm-paste event)
+ (kill-new (buffer-string)))
+ (vterm-yank))
+
(defvar vterm-mode-map
(let ((map (make-sparse-keymap)))
(vterm--exclude-keys map vterm-keymap-exceptions)
@@ -576,7 +584,7 @@ Exceptions are defined by `vterm-keymap-exceptions'."
(define-key map [C-end] #'vterm--self-insert)
(define-key map [escape] #'vterm--self-insert)
(define-key map [remap yank] #'vterm-yank)
- (define-key map [remap xterm-paste] #'vterm-yank)
+ (define-key map [remap xterm-paste] #'vterm-xterm-paste)
(define-key map [remap yank-pop] #'vterm-yank-pop)
(define-key map [remap mouse-yank-primary] #'vterm-yank-primary)
(define-key map (kbd "C-SPC") #'vterm--self-insert)