2番目のコマンドまたはエイリアスの後にZshは完了しましたか?

2番目のコマンドまたはエイリアスの後にZshは完了しましたか?

OSを変更しました

proxychains4 wget [hit tab], will not come up with wget's options
proxychains4 gi[tab], will not come up with "git"

そして、zshはエイリアスの後のコマンドには適用されません。

alias proxy="http_proxy=http://127.0.0.1:12345"
proxy brew[hit tab], will not come up with brew's subcommands

コマンドとそのオプションは完了しません。どんなアイデアがありますか?ありがとうございます。

ベストアンサー1

デフォルトでは、zshは完了する前にエイリアスを拡張します。構成でこの機能を無効にした可能性があります。設定を解除して明示的に再度有効にできます。complete_aliasesオプション

unsetopt complete_aliases

このような外部コマンドの場合、proxychains4パラメーター自体がコマンドであることを宣言し、パラメーターは以下を完了して宣言します。_precommand。これは文書内で簡単には見つかりませんが、nohup実行して同様のコマンドの構成を観察できますecho $_comps[nohup]。これは「新しい」システムで実行されます(実行後compinit)。

compdef _precommand proxychains4

おすすめ記事