如何使用Vim-Plug加载用户名第二个字符为连字符的GitHub插件?
解决Vim-Plug加载含连字符GitHub用户名仓库的问题
我尝试在Neovim的init.vim中从GitHub仓库加载自定义.vimrc,实现跨环境统一配置,仓库路径为j-ace-svg/vimrc.vim(用户名包含连字符),遇到了两个问题:
Plug 'j-ace-svg/vimrc.vim'这一行的语法高亮异常,连字符似乎被转义,但echo命令无此问题,推测是Vim-Plug相关的语法识别问题- 忽略高亮问题运行后,目标插件未被成功注册
初始配置代码如下:
set runtimepath^=~/.vim runtimepath+=~/.vim/after let &packpath = &runtimepath call plug#begin(stdpath('config') . '/plugged') Plug 'j-ace-svg/vimrc.vim' call plug#end()
尝试过的无效操作:
- 手动转义连字符,插件仍无法注册
- 使用双引号包裹仓库路径,会被识别为注释
排查与解决过程
- 重装WSL Ubuntu环境下的Neovim后,将原代码复制回
init.vim,插件可正常安装使用,仅语法高亮异常的问题残留 - 问题重现后,最终定位根因:同时在
init.vim和.vimrc中调用了plug#begin()/plug#end()初始化插件系统,导致init.vim中的插件列表被.vimrc的配置覆盖,目标仓库因此未出现在有效插件列表中
解决方案
- 统一插件加载入口:只在一个配置文件(推荐
init.vim)中维护Plug命令列表,避免重复初始化插件系统 - 若
.vimrc中有其他自定义配置,可在init.vim中通过source ~/.vimrc命令引入,保留原有配置逻辑的同时,确保插件系统只初始化一次
内容的提问来源于stack exchange,提问作者John Montgomery
相关产品推荐
相关产品推荐

