全局别名的Zsh补全
有没有办法在zsh中完成全局别名的制表符?定义为:全局别名的Zsh补全,zsh,zsh-completion,zsh-alias,Zsh,Zsh Completion,Zsh Alias,有没有办法在zsh中完成全局别名的制表符?定义为: % alias -g zshplugins=~/.zshplugins %nvim zshpl[选项卡]无法完成选项卡 我使用全局别名主要是为了不必输入文件路径,也不必将自己限制在单个命令中(例如,alias zshplugin=“nvim~/.zshplugins”) 我知道这些代码也可以在任意的单行程序中使用(例如,| grep-I的全局别名),在每个制表符笔划上提出建议是没有意义的,但是如果有一些解决方法可以在目录/文件完成中包含这些代
% alias -g zshplugins=~/.zshplugins
%nvim zshpl[选项卡]
无法完成选项卡
我使用全局别名主要是为了不必输入文件路径,也不必将自己限制在单个命令中(例如,alias zshplugin=“nvim~/.zshplugins”
)
我知道这些代码也可以在任意的单行程序中使用(例如,
| grep-I
的全局别名),在每个制表符笔划上提出建议是没有意义的,但是如果有一些解决方法可以在目录/文件完成中包含这些代码,那就太好了。将zshpl[tab]
在行首完成(不包括nvim)?这就是我应该做的。别名不能用作文件名的快捷方式。Shell变量可以用于后者(并且它们也有一个完成)。我建议你定义一下
zshplugins=~/.zshplugins
然后呢
nvim $zshpl[tab]
您应该使用shell变量,但不能使用全局别名 但如果您愿意,可以将以下代码添加到
zshrc
_complete_alias() {
[[ -n $PREFIX ]] && compadd -- ${(M)${(k)galiases}:#$PREFIX*}
return 1
}
zstyle ':completion:*' completer _complete_alias _complete _ignored