0

我想对命名寄存器进行某种自动完成。
如果我尝试访问一个("CTRL+ ...),则应打开r类似于行完成(CTRL+ )的完成。l未使用/空闲寄存器的一些漂亮的可视化也会很好。

有一个很好的解决方案吗?

4

2 回答 2

2

挂钩到内置命令(如"Ctrl+ r)是困难的,因为 Vim 处于等待寄存器名称的特殊子模式。我使用以下""映射(通常是无操作的)来刷新我的记忆:

" ["x][N]""         List contents of the passed register / [N] named
"                   registers / all registers (that typically contain
"                   pasteable text).
nnoremap <silent> <expr> "" ':<C-u>registers ' . (v:register ==# '"' ? (v:count ? strpart('abcdefghijklmnopqrstuvwxyz', 0, v:count1) : '"0123456789abcdefghijklmnopqrstuvwxyz*+.') : v:register) . "<CR>"
于 2013-06-20T12:57:30.747 回答
2

我最近创建了插件https://github.com/imomaliev/registers.vim

使用您最喜欢的插件管理器(如 Plug)安装它

Plug 'imomaliev/registers.vim'

Аnd 之后,您可以<C-x><C-r>在插入模式下进行操作,并且将调用带有寄存器的完成菜单。

于 2016-05-08T04:18:31.333 回答