Bash / zsh选项卡的自动完成功能:给定初始命令,请忽略具有自动完成功能的目录中的某些文件

hlin117

我要问的是一些特定的内容,可能与Unix Stackexchange上的其他自动完成问题有所不同。

假设我有一个看起来像这样的目录

-rw-r--r-- 1 hlin117 staff 1.1K Sep 19 13:05 doc.aux
-rw-r--r-- 1 hlin117 staff  26K Sep 19 13:05 doc.log
-rw-r--r-- 1 hlin117 staff 177K Sep 19 13:05 doc.pdf
-rw-r--r-- 1 hlin117 staff  13K Sep 19 13:01 doc.tex

尝试这样做几乎没有任何意义vim doc.pdf,在通常情况下,我不会这样做vim doc.logvim doc.aux相反,我经常会

vim doc.tex

不幸的是,制表符自动完成功能会向我建议所有4个文件,而不是仅建议doc.tex

有没有一种方法可以输入vim \t,而这会忽略目录中的某些文件?

更一般而言,我可以键入command X \t,并编写一些设置,使键入commandX会忽略目录中的文件吗?

仅供参考:我使用zsh。不确定bash和zsh是否会有类似的解决方案。

吉勒斯“别再邪恶了”

在zsh中,使用“新”完成系统(即,如果您拥有compinit的话.zshrc),请使用file-patternsstyle

zstyle ':completion:*:*:vim:*' file-patterns '^*.(aux|log|pdf):source-files' '*:all-files'

如果没有其他方式,则与模式匹配的文件*.(aux|log|pdf)将仅在vim命令行上完成。

您可以使用模式作为命令名称,特别是*要匹配除明确匹配的命令以外的所有命令。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档