如何在粘贴之前轻松列出寄存器的内容?


10

我经常使用寄存器进行复制/粘贴,但是我总是忘记我的内容在哪个寄存器中。

有没有一种方法可以在粘贴之前显示寄存器?

理想情况下,在选择我们想要的寄存器时,它将在屏幕上保留该寄存器。

Answers:


14

这个peekaboo插件非常适合预览寄存器。在正常模式下或插入模式下按"@时,ctrl-r将打开一个拆分以向您显示寄存器的内容。

从插件仓库预览:

躲猫猫


这个插件将是一个很大少讨厌如果键绑定将是用户可配置的。绑定到正常模式"@在正常模式下将中断几乎所有使用寄存器的宏。FWIW。
佐藤桂2016年

嗯,即使使用了寄存器,我也不会遇到我倾向于使用的递归宏的问题。当使用播放宏时,插件会禁用自身@。自述文件指出,非递归映射会引起问题。我同意,如果可以将其配置为仅查看寄存器,那就太好了。
汤米

以下是一些琐碎的事情::%g/text/ normal "Ayy
Sato Katsura

该插件已更新为使用可配置的前缀。 github.com/junegunn/vim-peekaboo/pull/41
Tommy A

6

我组成了此映射以显示寄存器列表并选择要粘贴的一个:

nnoremap "p :reg <bar> exec 'normal! "'.input('>').'p'<CR>

这将显示寄存器列表:reg并执行普通命令

"Xp 

X的结果在哪里input()


2

我建议使用

:reg

它将显示所有寄存器的内容(您可以使用j和k滚动浏览)。

如果只想显示一个寄存器的内容,则可以进入命令模式并键入

: Ctrl + r

然后是寄存器,例如x寄存器

x

它将寄存器的内容粘贴到命令行中。然后,您可以在查看注册信息后退出命令行。


:dis和之间有什么区别:reg?我总是使用前者。
菲利普·基恩斯

无::help :dis->:di[splay] [arg] Same as :registers. {not in Vi}
Boldewyn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.