pum.vim:原生弹出式补全菜单框架库

pum.vim:原生弹出式补全菜单框架库

pum.vimOriginal popup completion menu framework library项目地址:https://gitcode.com/gh_mirrors/pu/pum.vim

项目介绍

pum.vim 是一个用于实现自定义弹出式补全菜单的框架库,它支持在插入模式和命令行模式下工作。这个项目特别设计来增强 Vim 和 Neovim 的补全体验。对于那些追求高级补全功能的Vim爱好者来说,pum.vim提供了一个灵活的平台,允许开发者或用户自定义其完成菜单的行为和外观。要求环境为 Neovim 0.8.0 或更高版本,以及 Vim 9.0.1276+,确保了与最新编辑器特性的兼容性。

项目快速启动

要开始使用pum.vim,首先你需要通过Git克隆仓库或者直接下载ZIP包到你的.vim/bundle目录(如果你是Vim传统方式管理插件的话),或者如果是Neovim并且使用Plug等现代插件管理器,可以添加以下到你的配置文件中:

Plug 'Shougo/pum.vim'

接着,重新加载你的Vim配置或重启Vim。为了立即体验到效果,你可以设置一些基本的快捷键来控制补全,例如在你的.vimrc或对应的Neovim配置文件中加入以下映射:

" 向下选择下一个补全项
inoremap <C-n> <Cmd>call pum#map#insert_relative(+1)<CR>
" 向上选择上一个补全项
inoremap <C-p> <Cmd>call pum#map#insert_relative(-1)<CR>
" 确认选中的补全项
inoremap <C-y> <Cmd>call pum#map#confirm()<CR>
" 取消补全
inoremap <C-e> <Cmd>call pum#map#cancel()<CR>
" 分页上下移动补全项
inoremap <PageDown> <Cmd>call pum#map#insert_relative_page(+1)<CR>
inoremap <PageUp> <Cmd>call pum#map#insert_relative_page(-1)<CR>

保存配置并重载,现在你已经有了基本的补全交互功能。

应用案例和最佳实践

在实际开发中,结合[pum.vim]与其他如ddc-vim动态补全引擎一起使用,可以极大提升编码效率。例如,配置ddc-vim后,通过自定义触发关键字和补全源,可以在编写代码时获得智能提示,比如文件路径、函数名自动补全等。

let g:ddc#source#_priority = ['buffer', 'filename', 'omni']
call ddc#custom#patch('DefaultSources', 'sources', ['ddc-source-buffer', 'ddc-source-filename', 'nvim_lsp'])

这段配置添加了一些基础的补全源,并优先考虑缓冲区内的词和文件名补全。

典型生态项目

  • [ddc-vim]: 作为pum.vim的强力伙伴,ddc-vim是一个动态补全系统,与pum.vim协同工作,提供了丰富的补全源和高度可定制性。
  • [neosnippet.vim]: 虽不是直接与pum.vim相关,但通过集成neosnippet,你可以利用它的高级代码片段功能进一步丰富你的补全选项。
  • [vim-lsp-settings]: 当与语言服务器协议(LSP)客户端配合时,pum.vim能够展示由LSP提供的代码补全信息,提高开发准确性。

记住,优化你的pum.vim体验,关键在于调整配置以适应你的具体需求,探索各种补全源和服务的集成,将极大地改善你的编程流程。


以上就是关于pum.vim的基本介绍、快速启动指南、应用实例及生态系统概览。记得持续关注其更新和社区的贡献,以获取更多高级功能和最佳实践。

pum.vimOriginal popup completion menu framework library项目地址:https://gitcode.com/gh_mirrors/pu/pum.vim

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梅昆焕Talia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值