Bash别名自动完成仅考虑* .foo文件

时间:2013-08-28 10:13:43

标签: bash autocomplete

每当我想通过启动(例如命令vim pdeOptAff.tex)来开始编辑我的 LaTeX 源时,我发现bash(tab) - 自动完成仍然很乏味,因为该文件夹通常包含一堆具有相同名称但结尾不同的文件:

$ ls

pdaeOptAff.aux  pdaeOptAff.out         pdaeOptAff.tex.latexmain
pdaeOptAff.bbl  pdaeOptAff.pdf         pdaeOptAff.toc
pdaeOptAff.blg  pdaeOptAff.synctex.gz
pdaeOptAff.log  pdaeOptAff.tex

由于我总是想要打开~.tex文件,我希望有一个过滤器,使自动完成功能只展开~.tex文件。

此外,我还定义了一个别名:alias g='gvim --remote-silent'。所以这个过滤器应该适用于别名。

1 个答案:

答案 0 :(得分:2)

尝试:

complete -f -X '!*.tex' g

然后,您可以输入:

g <TAB>

获得完成。注意:这不完整目录。其他人可能会使用compgen获得更好的解决方案。

The Linux Documentation Project也有一个有用的自动填充指南。