iam*_*ras 9 regex vim vim-plugin ripgrep
我最近将ripgrep添加到了我的vim 插件列表中,安装后,每当我加载 vim 时,我就开始收到此错误消息:
Error detected while processing /Users/my_macbook/.vim/plugged/vim-ripgrep/plugin/vim-ripgrep.vim:
line 149: E1208: -complete used without -nargs
Press ENTER or type command to continue
Run Code Online (Sandbox Code Playgroud)
打开有问题的文件并查看第 148-149 行可以发现:
148 command! -nargs=* -complete=file Rg :call s:Rg(<q-args>)
149 command! -complete=file RgRoot :call s:RgShowRoot()
Run Code Online (Sandbox Code Playgroud)
我真的超出了我的深度,特别是考虑到这个错误是通过简单安装插件生成的;我对底层文件 ( vim-ripgrep.vim
) 进行了 0 处更改。
有没有人在安装 ripgrep 后遇到类似的长期错误,如果是的话,你是如何解决的?
恭喜,您在 FOSS 程序中发现了一个错误。下一步是通过问题跟踪器通知维护人员,或者如果您知道如何修复它,请提交补丁。
举个例子,作者指定了一个完成方法,-complete=file
但:RgRoot
默认情况下不接受参数之类的自定义命令因此该命令按原样没有意义:如果无法传递参数,则无法完成参数。
它只需要一个-nargs=*
,就像它的楼上邻居一样,:Rg
就可以正常工作,并且错误消息非常清楚:
line 149: E1208: -complete used without -nargs
Run Code Online (Sandbox Code Playgroud)
请参阅:help -complete
、:help -nargs
,以及更一般地说,:help user-commands
。
正如另一个答案所述,这是该插件中的一个错误。目前有一个开放的拉取请求来修复此问题: https: //github.com/jremmen/vim-ripgrep/pull/58 不幸的是,该存储库目前尚未维护,因此不太可能很快被合并。 这个活跃的分叉页面可以帮助您识别新的维护者。
在 vim-ripgrep 出现新的维护者之前,我建议检查~/.vim/plugged/vim-ripgrep
目录中的该分支并重新打开 vim。