我喜欢输入:cd进入工作文件夹然后组合:e,:split和:vsplit以使我的工作设置正常运行。但是,由于我正在使用.tex文件,因此我的工作文件夹中的编译(.log,.aux等)中的.tex文件通常会生成不同的文件类型。
有没有办法强制VIM只列出包含某些扩展名的目录中的文件?例如,如果它只显示与编程语言相关的类型的文件,例如.tex,.cpp,.cs,。py,.json等,那将是很棒的。重点是我从未在VIM中打开某些文件类型(图像文件,pdf文件等),所以我不明白为什么它们应该出现在我的:e搜索中。
答案 0 :(得分:5)
您可以使用'wildignore'
设置一个文件模式列表,这些模式在扩展通配符和完成文件/目录名时会被忽略。
您可以使用'wildignore'
中的+=
:set
,将文件名模式添加到vimrc
。例如:
set wildignore+=*.o
set wildignore+=*.obj
set wildignore+=*.log
set wildignore+=*.aux
有关详细信息,请参阅:h 'wildingore'
。
您可能还有兴趣使用<c-d>
列出完成情况。这可以通过:e
,:sp
和朋友进行导航。请参阅:h c_CTRL-D
。
答案 1 :(得分:4)
Vim支持通过'wildignore'
和'suffixes'
选项排除和取消优先排序某些文件模式/扩展程序。
这是一个示例配置(您可以放入~/.vimrc
),完全忽略交换文件,图像,生成的文件和版本控制系统数据,并将备份文件放入完成的末尾候选:
:set wildignore=*.sw[ponm],*.gif,*.jpg,*.jpeg,*.png,*.pdf,tags,*.o,*.class,*.java.html,*.pyc,*.pyo,.bzr/,.git/,.hg/,.svn/
:set suffixes=.bak,.orig,~
请注意,您还可以为:edit
和类似命令指定文件glob ; <Tab>
然后会扩展它; <C-d>
将显示所有候选人。这允许快速自定义文件选择。