有没有一种方法可以在Emacs中列出所有复制的文本?在Textmate中,您可以使用SPLAT+V来完成此操作。
编辑:我指的是最近删除的项目,可以复制这些项目。
可以抓取的列表(即可以拖动的内容)称为kill ring,存储在变量kill-ring
中,因此您可以使用C-h v kill-ring RET
查看它(以不太好的方式)。
剪切板还出现在菜单中,在“编辑/从剪贴菜单中粘贴”下。如果您使用文本模式Emacs或关闭了菜单栏,则可以使用M-x tmm-menubar
(绑定到M-`
)访问菜单:键入M-` e p
,然后是要粘贴的项目的第一个字母(如果它是字母并且唯一,否则是指示的任何字符)。如果您不想粘贴任何内容,请键入M-` e p C-g
;杀死仍保留在*Completions*
缓冲区中。杀死的文本被截断显示为yank-menu-length
个字符。
EmacsWiki有一个非常令人满意的解决方案列表。一个便携而直观的解决方案使用内建的popup.el来显示垂直列表以供选择:
(global-set-key (kbd "C-c y") '(lambda ()
(interactive)
(popup-menu 'yank-menu)))
kill-ring
,并使用完成功能提取其中的任何条目。默认情况下,在 Icicle 模式下,C-y 绑定到 icicle-yank-maybe-completing
。
这与 yank
相同,除非您给它一个负前缀参数(例如,C--)。在这种情况下,它允许您针对 kill-ring
进行完成。完成可以是前缀、适当(子字符串、正则表达式)或模糊匹配。
counsel-yank-pop
对我来说效果很好,特别是使用以下建议的绑定
http://pragmaticemacs.com/emacs/counsel-yank-pop-with-a-tweak/
(use-package counsel
:bind
(("M-y" . counsel-yank-pop)
:map ivy-minibuffer-map
("M-y" . ivy-next-line)))
C-y
从杀戮环中提取。 - phils