我想对命名寄存器有某种自动完成功能。
如果我试图访问一个("或CTRL+r…)完成类似于行完成(CTRL+l)应该打开。对未使用的/空闲的寄存器进行一些很好的可视化也会很好。
有一个很好的解决方案吗?
连接到内置命令(如"和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>"
我最近创建了一个插件https://github.com/imomaliev/registers.vim
用你最喜欢的插件管理器(比如Plug)安装
Plug 'imomaliev/registers.vim'
Аnd之后,您可以在插入模式下执行<C-x><C-r>
,并且将调用带有寄存器的补全菜单。