在VIM中使用:e命令

时间:2018-01-10 15:05:58

标签: vim

我喜欢输入:cd进入工作文件夹然后组合:e,:split和:vsplit以使我的工作设置正常运行。但是,由于我正在使用.tex文件,因此我的工作文件夹中的编译(.log,.aux等)中的.tex文件通常会生成不同的文件类型。

有没有办法强制VIM只列出包含某些扩展名的目录中的文件?例如,如果它只显示与编程语言相关的类型的文件,例如.tex,.cpp,.cs,。py,.json等,那将是很棒的。重点是我从未在VIM中打开某些文件类型(图像文件,pdf文件等),所以我不明白为什么它们应该出现在我的:e搜索中。

2 个答案:

答案 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>将显示所有候选人。这允许快速自定义文件选择。