Zsh:智能自动完成功能?

时间:2014-05-01 08:29:25

标签: zsh oh-my-zsh zsh-completion

我的~/.zshrc中有以下别名:

~ which pulseaudio-restart 
pulseaudio-restart: aliased to killall pulseaudio && pulseaudio --start

是否有可能以键入restart输出我pulseaudio-restart作为建议的方式配置Zsh,因为它包含字符串restart

目前,输入restart只会显示:

~ rest
restart        restore-trash

1 个答案:

答案 0 :(得分:2)

是的,这是可能的。为此,您必须为完成模块设置/修改matcher-list样式。这可以使用以下命令完成:

zstyle ':completion:*' matcher-list 'l:|=* r:|=*' 

这告诉完成在输入单词的左侧和右侧寻找完成(详细信息可以在zshcompwid(1)中找到)。

如名称matcher-list所示,可能有多个匹配规范,在这种情况下,'l:|=* r:|=*'是第一个匹配很重要。规范按照它们出现的顺序进行尝试,直到某些东西返回匹配为止。


对于oh-my-zsh matcher-listlib/completion.zsh中设置,它已包含所需的规范,但仅作为最后一个选项。您可以更改订单,也可以在加载~/.zshrc后在oh-my-zsh中添加自己的设置。