Emacs: Paste or Paste Previous 🚀
Here's a command that paste text, and if repeated, paste the previous item.
If a numerical argument is given, paste that many times.
(defun xah-paste-or-paste-previous () "Paste. When called repeatedly, paste previous. This command calls `yank', and if repeated, call `yank-pop'. When `universal-argument' is called first with a number arg, paste that many times. URL `http://xahlee.info/emacs/emacs/emacs_paste_or_paste_previous.html' Version 2017-07-25 2020-09-08" (interactive) (progn (when (and delete-selection-mode (region-active-p)) (delete-region (region-beginning) (region-end))) (if current-prefix-arg (progn (dotimes (_ (prefix-numeric-value current-prefix-arg)) (yank))) (if (eq real-last-command this-command) (yank-pop 1) (yank)))))
Emacs paste command is named
yank 【Ctrl + y】,
and paste previous command is named
yank-pop 【Alt + y】.
[see Emacs: Copy/Paste, kill-ring]
xah-paste-or-paste-previous command combines them, so now you only need one key, instead of 2 keys for 2 commands.
You can set the yank key for it, like this:
(global-set-key (kbd "C-y") 'xah-paste-or-paste-previous)
[see Emacs: How to Define Keybinding]
- Select Text (mark and region)
- Copy/Paste, kill-ring
- Setup Standard Copy Cut Paste Keys
- Copy Current Line If No Selection 🚀
- Copy Buffer or Selection 🚀
- Paste or Paste Previous 🚀
- Show kill-ring (Show Copy History) 🚀