让我发疯的问题是,当我在 Vim 中打开远程文件时,它无法检测文件类型,或者至少无法设置文件类型。当文件打开时,它的filetype=netrw,这是错误的。我经历过这个过程:
vim -u NONE -U NONE -N
# 不带插件启动 vim,:set nocompatible
。 # 设置不兼容:filetype plugin indent on
# 打开文件类型检测:syntax enable
# 启用语法:Explore
#“不是编辑器命令”只是证明 netrw 尚未加载:source /usr/share/vim/vim90/plugin/netrwPlugin.vim
# 现在,加载它。:Explore
# 只需探索我的本地主目录:set filetype
# 观察 filetype=perl:Explore scp://[email protected]/
# 探索远程主目录:set filetype
#观察文件类型=netrw之后我可以设置文件类型,一切都会好起来的,但是保存文件后文件类型可能会再次丢失。我的系统 Vim 在 macOS Sonoma 14.4.1(最新)上发生了这种情况。更新之前也出现过这种情况。它不仅适用于 Perl 文件,还适用于任何远程文件。
那么,这是系统Vim,我该如何删除它并重新安装呢?或者,如何定位netrw.vim中的问题?或者你有什么建议吗?
几个月前还不是这样的,在那之前它已经工作了好几年了。我不知道我可能做了什么改变或做了什么导致了这种情况。
谢谢你。
感谢您的评论,罗马!我查看并发现了上周的一个问题,该问题显示了一个补丁。
https://github.com/vim/vim/issues/14400
该补丁对我不起作用,但我将其编辑为如下所示:
if filereadable(expand("%")) || expand("%") =~# '^\w\+://'
这对我有用,至少一次。