如何配置VIM使:e命令仅展示指定扩展名的文件?
在Vim中过滤目录文件,只显示指定扩展名的文件
当然可以!我太懂你这种编译TeX后目录里堆满临时文件的烦恼了——每次用:e或者分屏打开文件时,一堆.log、.aux混在里面找起来特别麻烦。Vim原生就有办法帮你过滤文件,只显示你关心的编程相关类型,下面给你几个实用方案:
方法一:用wildignore忽略不需要的文件(原生推荐)
这是最直接的原生方法,通过设置wildignore告诉Vim哪些文件/后缀名要忽略,这样在使用:e、:split、:vsplit打开文件时,这些文件就不会出现在补全列表里了。
你只需要把下面的配置加到你的~/.vimrc(Linux/macOS)或者_vimrc(Windows)里:
" 先忽略TeX编译生成的临时文件 set wildignore+=*.log,*.aux,*.out,*.toc,*.lof,*.lot " 再忽略你不想看到的非编程文件类型 set wildignore+=*.pdf,*.png,*.jpg,*.jpeg,*.gif,*.bmp,*.svg " 如果还有其他要排除的,继续加就行,用逗号分隔
如果你想只显示特定扩展名的文件(而不是排除不需要的),可以用反向思路:先把所有文件加入忽略,再把需要的类型从忽略列表移除。比如:
" 先忽略所有文件 set wildignore=* " 再移除你想显示的类型 set wildignore-=*.tex,*.cpp,*.cs,*.py,*.json
这样设置后,不管你用:e还是分屏命令打开文件,补全列表里就只有你指定的那些类型了。
方法二:用:args配合通配符快速筛选
如果你只是临时想筛选特定文件,不想改配置,可以用:args命令直接指定扩展名:
:args *.tex *.cpp *.cs *.py *.json
执行后,你可以用:next、:prev在这些文件之间切换,也可以用:split args:分屏打开列表里的文件,临时用很方便。
方法三:借助插件增强文件浏览(可选)
如果你经常需要更直观的文件树浏览,可以装个像NERDTree或者NvimTree(针对Neovim)的插件,这些插件都支持自定义文件过滤规则。比如在NERDTree里,你可以加下面的配置到.vimrc:
let NERDTreeIgnore = ['\.log$', '\.aux$', '\.pdf$', '\.png$']
这样NERDTree的文件树里就会自动隐藏这些后缀的文件,只显示你需要的类型。
内容的提问来源于stack exchange,提问作者Patrick Da Silva
相关产品推荐
相关产品推荐

