Vim注册完成

时间:2013-06-20 12:35:54

标签: vim autocomplete vim-registers

我想为命名寄存器进行某种自动完成 如果我尝试访问一个( CTRL + r ...)完成类似于行完成( CTRL <应该打开/ kbd> + l )。 对未使用/自由寄存器的一些很好的可视化也很不错。

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

2 个答案:

答案 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>,并且将调用带有寄存器的完成菜单。