zsh: コマンドが見つかりません: {compinstall, compinit, compdef}

zsh: コマンドが見つかりません: {compinstall, compinit, compdef}

ページzshcompsys manの内容は次のとおりです。

初期化

システムが完全にインストールされている場合は、compinit初期化ファイルからシェル関数を呼び出すだけで十分です。次のセクションを参照してください。ただし、この機能は compinstallユーザーがシステムのさまざまな側面を構成するために実行できます。

zshしかし、コマンドが見つかりません。

genesis% compinit
zsh: command not found: compinit
genesis% compinstall
zsh: command not found: compinstall
genesis% echo $PATH
/home/ravi/bin:/home/ravi/.gem/ruby/2.4.0/bin:/home/ravi/bin:/home/ravi/.gem/ruby/2.4.0/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/local/heroku/bin:/home/ravi/.cabal/bin:/home/ravi/.local/share/fzf/bin:/usr/local/heroku/bin:/home/ravi/.cabal/bin
genesis%

私がこの質問をする理由は、始めると次のような結果がzsh得られるからです。

tmuxinator.zsh:20: command not found: compdef

zshこれらの完了コマンドをどのように見つけますか?

ベストアンサー1

これは私のMacで発生するのと同じ問題です。 zshシェルを使用しています。

Zsh Compdefエラー

Compdefは、デフォルトでzshがオートコンプリートをロードするために使用する機能です。完成システムを有効にする必要があります。次のようなものを使用している場合ああ、この問題はすでに解決されています。そうでない場合は、~/.zshrc に以下を追加する必要があります。

autoload -Uz compinit
compinit

完成関数は、この compdef と同様に compdef 関数を直接使用して手動で登録できます。ただし、compdefを使用する前に、コンパニットをコンテキストに自動的にロードする必要があります。

おすすめ記事