我要问的是一些特定的内容,可能与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.log
或vim doc.aux
。相反,我经常会
vim doc.tex
不幸的是,制表符自动完成功能会向我建议所有4个文件,而不是仅建议doc.tex
。
有没有一种方法可以输入vim \t
,而这会忽略目录中的某些文件?
更一般而言,我可以键入command X \t
,并编写一些设置,使键入commandX
会忽略目录中的文件吗?
仅供参考:我使用zsh。不确定bash和zsh是否会有类似的解决方案。
在zsh中,使用“新”完成系统(即,如果您拥有compinit
的话.zshrc
),请使用file-patterns
style。
zstyle ':completion:*:*:vim:*' file-patterns '^*.(aux|log|pdf):source-files' '*:all-files'
如果没有其他方式,则与模式匹配的文件*.(aux|log|pdf)
将仅在vim
命令行上完成。
您可以使用模式作为命令名称,特别是*
要匹配除明确匹配的命令以外的所有命令。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句