从 Fedora 38 升级到 39 后,vim
忽略其位于 的主运行时目录/usr/share/vim/vim90/
。
即使最简单的:help
命令也会失败E149: Sorry, no help for help.txt
,因为其内容是/usr/share/vim/vim90/doc/help.txt
。
我曾尝试忽略我~/.vimrc
的-u NONE -U NONE -N
,--clean
并且-N -u /dev/null
也尝试过--noplugin
,但都无济于事。
我也尝试过VIMRUNTIME
,将其设置为仅/usr/share/vim/vim90
,并使用选项'runtimepath'
,但没有任何帮助。
我可以说问题在于vim
忽略了该目录,因为如果我尝试从那里使用插件,例如NoMatchParen
,我会收到错误(在这种特定情况下,E492: Not an editor command: NoMatchParen
),而插件(和文档)/usr/share/vim/vimfiles
工作正常。
该错误似乎与 Fedora 39 无关,而是我电脑上的问题,因为我有其他 Fedora 39 机器(这些是从 37 升级的),vim
运行良好。
我很困惑。我该如何调试此类问题vim
?
编辑1
vim -V
显示了一些对有问题的目录的引用并且没有错误,但无论从那里获取什么,在实际运行的命令上都是不可用的:
fchdir() to previous dir
sourcing "/usr/share/vim/vim90/plugin/matchparen.vim"
finished sourcing /usr/share/vim/vim90/plugin/matchparen.vim
chdir(/usr/share/vim/vim90/plugin)
强制vim
读取插件:runtime plugin/matchparen.vim
不会返回任何错误,但也是无效的(即:NoMatchParen
仍然找不到)
编辑2
嗯,实际上读取了 中的一些内容vim90
。特别是,那里的配色方案可用于:colorscheme
。
此外,下面的序列工作正常,所以我不再那么确定会vim90
被忽略。但是,如果读取(按照) ,为什么NoMatchParen
在开始时不起作用?vim
vim -V
:unlet g:loaded_matchparen
:runtime plugin/matchparen.vim
:NoMatchParen
编辑3
该文件本/usr/share/vim/vim90/doc/tags
应由软件包提供vim-common.x86_64
,但它并不存在于出现故障的系统中。https://stackoverflow.com/questions/19145819/vim74-e149-sorry-no-help-for-help-txt,我可以自己生成,但如果以 root 身份运行,我就不想这样做。
编辑4
这似乎是一个错误...降级后vim-common-2:9.0.1927-1.fc39.x86_64
它又可以正常工作了。我会尝试打开一个错误报告。
答案1
而且...这是一个错误:
https://bugzilla.redhat.com/show_bug.cgi?id=2250722
我会暂时将问题/答案保留在网站上,以防其他人遇到这个问题(我在谷歌上搜索没有找到任何东西,只是在我准备提交新的问题时才发现了这个错误)。