我不确定这是否可以在 Linux/Unix 终端中完成,所以我想问一下。
对于某些程序(不幸的是,我想不出除了 bibtex
之外的任何程序,它在选项卡上自动“扩展”.aux 扩展名)当我完成输入时出它前面的文件名(减去点和扩展名),我注意到如果我点击 tab
它将“自动完成”点 + 文件扩展名。
这是您实际上可以以某种方式控制的东西吗?例如,如果我编写了一个仅适用于 *.tex 文件的 bash 脚本(我们称之为 compile.sh
),我可以执行以下操作:
$ ./compile.sh nameOfProgram -- tab and autocomplete .tex extension --
当然,它不是 bash 脚本本身固有的,而是通过其他一些方式识别我正在使用所述可执行文件。
有时,就像使用 LaTeX 时经常出现的情况一样,同一目录中有多个基本名称相同但扩展名不同的文件 - 我希望它只接受具有预定义扩展名的文件。
最佳答案
当然可以为 compile.sh
定义一个只匹配 *.tex
文件的自定义完成函数。编写一个好的完成函数是一项广泛的任务,但是您可以用
# Add to your .bashrc file to enable in every shell, not just
# the current shell
complete -G '*.tex' compile.sh
它只会将匹配 *.tex
的文件视为 compile.sh
的任何参数的有效补全。
关于linux - Bash - 选项卡上的预期文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39253217/