5

使用制表符完成时,我不断收到有关 .svn 文件的建议,因此,使用ls,我的输出如下所示:

[spaceplace]$ ls src/
main/ .svn/ 
[spaceplace]$ ls src/
main/ .svn/ 
[spaceplace]$ ls src/
main/ .svn/ 
[spaceplace]$ ls src/main/
java/      resources/ .svn/      
[spaceplace]$ ls src/main/
java/      resources/ .svn/   

.svn 文件在我使用时不显示ls,所以我不知道为什么当我使用 tab complete 时它们会出现。这个问题似乎只存在于 .svn 文件中,没有其他隐藏文件,这看起来很奇怪。当我使用选项卡完成时,如何让这些文件不显示?

4

3 回答 3

9

我找到了一种方法;在我的 .bashrc 中,我添加了这一行bind 'set match-hidden-files off'。现在所有以“。”开头的文件。除非您明确指定,否则不会显示。

于 2013-06-03T19:20:15.407 回答
3

Bash 允许根据扩展名指定在选项卡补全中要忽略的文件或目录,例如忽略所有名为的文件或目录*.svn

$ export FIGNORE=$FIGNORE:.svn

根据您的文件通常如何命名,这不应该有太多冲突(至少它对我来说效果很好)。

于 2013-06-03T19:25:52.453 回答
0

选项卡补全不排除隐藏文件。它正在按预期运行。如果您这样做ls -a,它将显示隐藏文件。

值得注意的是,任何以 . 是隐藏文件。命令行假定您将需要访问这些文件,这就是它在自动完成中建议它们的原因。

于 2013-06-03T19:09:04.667 回答