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://ergoemacs.org/emacs/emacs_paste_or_paste_previous.html' Version 2017-07-25" (interactive) (progn (when (and delete-selection-mode (region-active-p)) (delete-region (region-beginning) (region-end))) (if current-prefix-arg (progn (dotimes ($i (prefix-numeric-value current-prefix-arg)) (yank))) (if (eq real-last-command this-command) (yank-pop 1) (yank)))))
Emacs paste command is named
and paste previous command is named
[see Emacs: Copy/Paste and kill-ring History]
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 Keys]
Enhanced Editing Commands Topic
- Select Line, between Quotes, Extend Selection
- Copy/Cut Current Line If No Selection
- Copy/Cut All or Selection
- Paste or Paste Previous
- Delete Whitespace around Cursor
- Move Cursor to Beginning of Line/Paragraph
- Move Cursor by Text Block
- Move Cursor to Bracket/Quote
- Move Cursor to Punctuation
- Delete Text Block
- Toggle Comment Current Line
- Insert Date Time