在vim中自动补全隐藏文件

6
在vim中,当我使用像:e这样的命令打开文件时,它不会自动补全隐藏前缀为.的文件。例如,当尝试编辑一个.gitignore文件时,我必须输入完整的名称,而不能只是输入:e .giti<Tab>。如果我只输入:e <Tab>,vim只会列出非隐藏文件。
我注意到即使使用:FufFileWithCurrentBufferDir命令,FuzzyFinder也无法显示隐藏文件。
有没有办法启用此功能?

1
FYI,我可以毫无问题地使用 e .<Tab>(Vim 7.4 1-944,ArchLinux)。 - VanLaser
1
检查 wildignore。verbose set wildignore? - FDinoff
@VanLaser 在 Vim 7.4 1-52 和 Linux Mint 中,e .<Tab> 命令似乎只列出了隐藏目录,而没有列出隐藏文件。 - Sunjay Varma
@FDinoff 更改 wildignore 似乎有效。请添加一个答案,以便我可以接受它。 - Sunjay Varma
1个回答

4
Vim使用wildignore来过滤扩展通配符时的完成列表。确保.gitignore不匹配该列表中的文件模式。 :help 'wildignore'如下所示:
'wildignore' 'wig' 字符串(默认为""),全局,Vi不支持,如果没有+ wildignore功能,则不可用
文件模式的列表。当扩展通配符,完成文件或目录名称时,与这些模式之一匹配的文件将被忽略,并且会影响expand()、glob()和globpath()的结果,除非传递一个标志来禁用此功能。该模式像:autocmd一样使用,参见autocmd-patterns。也请参阅'suffixes'。例如: set wildignore=*.o,*.obj
添加或删除列表中的模式时,推荐使用:set+=和:set-=。这避免了当未来版本使用其他默认值时出现问题。
要找出最后设置wildignore的位置,可以使用:verbose set wildignore?

这似乎会让隐藏的点文件和隐藏的点文件夹通过:set wildignore+=.* 但要小心,这会影响所有插件,它们必须处理此设置。 - Eric Leschinski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接