How do I list all yanks in emacs?
The list of kills (i.e., the list of things you can yank) is called kill ring and stored in the variable kill-ring
, so you can view it (in a not very nice way) with C-h v kill-ring RET
.
The kill ring also appears in the menu, under “Edit / Paste from kill menu”. If you use a text mode Emacs or have turned the menu bar off, you can access the menu with M-x tmm-menubar
(bound to M-`
): type M-` e p
followed by the first letter of the item you want to paste (if it's a letter and it's unique, otherwise whatever character is indicated). If you don't want to paste anything, type M-` e p C-g
; the kills remain in the *Completions*
buffer. The kill texts are displayed truncated to yank-menu-length
characters.
To my knowledge, emacs doesn't support that feature out of the box.
If you're using a Debian or Ubuntu Linux distribution, you can install the emacs-goodies-el
package, which contains a browse-kill-ring
feature (bound to M-y
by default).
Alternatively, you can use the browse-kill-ring
ELisp package available here.
See also here for a nice article about this problem and other alternate solutions.
EmacsWiki has a satisfying list of solutions. A portable and intuitive solution uses the built-in popup.el to display a vertical list to choose from:
(global-set-key (kbd "C-c y") '(lambda ()
(interactive)
(popup-menu 'yank-menu)))