忽略 zsh 的 SVN 补全文件

忽略 zsh 的 SVN 补全文件

我设法配置zsh这样当我使用 emacs 的自动完成功能时它不会建议 LaTeX 临时文件,方法是将这一行添加到我的~/.zshrc

zstyle ':completion:*:*:emacs:*:*files' ignored-patterns '*?.aux' '*?.bbl' \
'*?.blg' '*?.out' '*?.log' '*?.toc' '*?.snm' '*?.nav' '*?.pdf' '*?.bak' '*\~'

现在,当我请求补全 .zsh 时,zsh 会忽略所有 LaTeX 临时文件emacs

我怎样才能实现同样的目标svn add

到目前为止我只发现完成起来svn相当复杂,甚至有一段时间被破坏了。在上面的例子中仅仅交换emacs是行不通的,因为我需要影响 的add参数的完成svn

答案1

这一行会给你你想要的:

zstyle ':completion:*:*:svn-add:*:*files' ignored-patterns '*?.aux' '*?.bbl' \
'*?.blg' '*?.out' '*?.log' '*?.toc' '*?.snm' '*?.nav' '*?.pdf' '*?.bak' '*\~'

http://zsh.sourceforge.net/Doc/Release/Completion-System.html:

该命令或特殊的上下文,仅出现在 #compdef 标记或 compdef 函数之后。具有子命令的命令的完成函数通常会修改此字段以包含命令名称,后跟减号和子命令。例如,当完成 add 子命令的参数时,cvs 命令的完成函数会将此字段设置为 cvs-add。

相关内容