如何使Vim在通过命令行/shell打开文件时忽略文件扩展名?
考虑以下目录树:如何使Vim在通过命令行/shell打开文件时忽略文件扩展名?,vim,Vim,考虑以下目录树: root/include/file.hpp root/source/file.cpp root/images/file.png 命令行位于目录root中 在vimrc文件中,有set-wildignore=*.png 如果在文件夹root中打开Vim并运行:next*/file.*,它将仅打开file.hpp和file.cpp 但是,如果使用Vim*/file.*从命令行启动Vim,它将打开所有三个文件 因此,在向其提供文件名时,它首先加载文件,然后加载vimrc?当通过命令
root/include/file.hpp
root/source/file.cpp
root/images/file.png
命令行位于目录root
中
在vimrc
文件中,有set-wildignore=*.png
如果在文件夹root
中打开Vim并运行:next*/file.*
,它将仅打开file.hpp
和file.cpp
但是,如果使用Vim*/file.*
从命令行启动Vim,它将打开所有三个文件
因此,在向其提供文件名时,它首先加载文件,然后加载vimrc?当通过命令行使用Vim打开文件时,有没有忽略扩展名的方法?或者,在执行
:next*/file.
操作时,要先让Vim加载vimrc
,Vim会从Vim内部展开通配符并通过wildignore进行筛选。在shell中执行vim*/file.*
时,shell展开通配符,并将所有三个文件传递给vim
根据您的shell,这可能会起作用:
vim +"args */file.*"
在第一个场景中,glob扩展由Vim完成,因此遵循
vimrc
中的规则
在第二个场景中,glob扩展由shell完成,没有理由期望它遵守vimrc
中的规则
您可以执行类似于$vim-c“next*/file.*.
”的操作,这实际上是在没有文件名的情况下打开vim并执行next*/file.*
或者您可以直接在shell中排除该模式。假设您已经设置了
extglob
,那么可以在bash中使用$vim!(file.png)
哦,这就解释了。非常感谢。