我想为命名寄存器进行某种自动完成 如果我尝试访问一个(“或 CTRL + r ...)完成类似于行完成( CTRL <应该打开/ kbd> + l )。 对未使用/自由寄存器的一些很好的可视化也很不错。
对此有一个很好的解决方案吗?
答案 0 :(得分:2)
挂入内置命令(如“和 Ctrl + r )很难,因为Vim然后处于一个特殊的子-mode等待寄存器名称。我使用以下“ ”映射(通常是无操作)来刷新我的记忆:
" ["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>"
答案 1 :(得分:2)
我最近创建了插件https://github.com/imomaliev/registers.vim
使用您喜欢的插件管理器(如插件)安装它
Plug 'imomaliev/registers.vim'
之后,您可以在插入模式下执行<C-x><C-r>
,并且将调用带有寄存器的完成菜单。