ページ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シェルを使用しています。
Compdefは、デフォルトでzshがオートコンプリートをロードするために使用する機能です。完成システムを有効にする必要があります。次のようなものを使用している場合ああ、この問題はすでに解決されています。そうでない場合は、~/.zshrc に以下を追加する必要があります。
autoload -Uz compinit
compinit
完成関数は、この compdef と同様に compdef 関数を直接使用して手動で登録できます。ただし、compdefを使用する前に、コンパニットをコンテキストに自動的にロードする必要があります。
答え2
リクエストに応じて質問に回答
次のコマンドを実行してこれらのコマンドにアクセスします。
$ autoload -Uz compinstall && compinstall
起動ウィザードをロードして選択するとすぐに終了しますSave and exit
。
その後、シェルを再ロードします。
$ exec zsh
もっと一般的な答え
新しいユーザー設定が実行されていないようです。
実行してください:
$ autoload -Uz zsh-newuser-install && zsh-newuser-install -f
答え3
私は同じ問題に直面しました。
私は次のことをしました。
- 現在の端末を閉じる
brew doctor
Brew パッケージの問題を解決するには、コマンドを実行します。- 最後にコマンドを実行します。
rm -f ~/.zcompdump; compinit