diff options
| author | Thomas de Beauchêne <thomas.de.beauchene@sap.com> | 2018-11-19 11:39:09 +0100 |
|---|---|---|
| committer | Lukas Fürmetz <fuermetz@mailbox.org> | 2018-11-21 20:58:22 +0100 |
| commit | 018e81c6ca9dca8cde2ccfb6889c6b72b7fab532 (patch) | |
| tree | 0aded85f9ae1e4a7a45b5be48d47cb638de2ba6d | |
| parent | 8be9316156be75a685c0636258b2fec2daaf5ab5 (diff) | |
enable yanking (pasting from clipboard / kill-ring)
| -rw-r--r-- | vterm.el | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -45,7 +45,7 @@ :type 'number :group 'vterm) -(defcustom vterm-keymap-exceptions '("C-c" "C-x" "C-u" "C-g" "C-h" "M-x" "M-o" "C-v" "M-v") +(defcustom vterm-keymap-exceptions '("C-c" "C-x" "C-u" "C-g" "C-h" "M-x" "M-o" "C-v" "M-v" "C-y") "Exceptions for vterm-keymap. If you use a keybinding with a prefix-key, add that prefix-key to @@ -169,6 +169,7 @@ for different shell. " (define-key vterm-mode-map [end] #'vterm--self-insert) (define-key vterm-mode-map [escape] #'vterm--self-insert) (define-key vterm-mode-map [remap self-insert-command] #'vterm--self-insert) +(define-key vterm-mode-map [remap yank] #'vterm-yank) (define-key vterm-mode-map (kbd "C-c C-c") #'vterm-send-ctrl-c) ;; Function keys and most of C- and M- bindings @@ -207,6 +208,17 @@ for different shell. " (interactive) (vterm-send-key "c" nil nil t)) +(defun vterm-yank () + "Implementation of `yank' (paste) in vterm." + (interactive) + (vterm-send-string (current-kill 0))) + +(defun vterm-send-string (string) + "Send the string STRING to vterm." + (when vterm--term + (dolist (char (string-to-list string)) + (vterm--update vterm--term (char-to-string char) nil nil nil)))) + ;;;###autoload (defun vterm () "Create a new vterm." |
