vim netrw 打开远程文件时无法检测或设置文件类型

问题描述 投票:0回答:1

让我发疯的问题是,当我在 Vim 中打开远程文件时,它无法检测文件类型,或者至少无法设置文件类型。当文件打开时,它的filetype=netrw,这是错误的。我经历过这个过程:

  1. vim -u NONE -U NONE -N
    # 不带插件启动 vim,
  2. :set nocompatible
    。 # 设置不兼容
  3. :filetype plugin indent on
    # 打开文件类型检测
  4. :syntax enable
    # 启用语法
  5. :Explore
    #“不是编辑器命令”只是证明 netrw 尚未加载
  6. :source /usr/share/vim/vim90/plugin/netrwPlugin.vim
    # 现在,加载它。
  7. :Explore
    # 只需探索我的本地主目录
  8. 将光标置于 Perl 文件上,然后按 Enter。 # 打开文件进行编辑
  9. :set filetype
    # 观察 filetype=perl
  10. :Explore scp://[email protected]/
    # 探索远程主目录
  11. 将光标置于 Perl 文件上,然后按 Enter。 # 打开文件进行编辑
  12. :set filetype
    #观察文件类型=netrw

之后我可以设置文件类型,一切都会好起来的,但是保存文件后文件类型可能会再次丢失。我的系统 Vim 在 macOS Sonoma 14.4.1(最新)上发生了这种情况。更新之前也出现过这种情况。它不仅适用于 Perl 文件,还适用于任何远程文件。

那么,这是系统Vim,我该如何删除它并重新安装呢?或者,如何定位netrw.vim中的问题?或者你有什么建议吗?

几个月前还不是这样的,在那之前它已经工作了好几年了。我不知道我可能做了什么改变或做了什么导致了这种情况。

谢谢你。

macos vim netrw
1个回答
0
投票

感谢您的评论,罗马!我查看并发现了上周的一个问题,该问题显示了一个补丁。

https://github.com/vim/vim/issues/14400

该补丁对我不起作用,但我将其编辑为如下所示:

if filereadable(expand("%")) || expand("%") =~# '^\w\+://'

这对我有用,至少一次。

© www.soinside.com 2019 - 2024. All rights reserved.