ZSH:明示的ではなくても、最初のタブに完成を挿入しますか?

ZSH:明示的ではなくても、最初のタブに完成を挿入しますか?

現在初めてタブをクリックすると、ZSHは完了が不明なメニューを表示します。したがって、コマンドプロンプトに「cd」と入力してTabキーを押すと、他の利用可能な完成品が表示されます。タブをもう一度クリックすると、最初に使用可能な完成が選択されます。

Tabキーを押すためにこれら2つのステップを組み合わせたいです。したがって、「cd」にある状態でTabを押すと、ZSHが最初に利用可能な一致(不明瞭な場合)を挿入してメニューを表示し、最初の一致が私のディレクトリではない場合、Tabを介して精神的に選択できます。 。

ZSH設定ツールは、私のシェルの動作に影響を与える場合に備えて、それを私の.zshrcに入れます。

zstyle ':completion:*' Completer_expand _complete _ignored
zstyle ':completion:*'リストカラー''
zstyle ':completion:*' リストのプロンプト %SAt %p: 詳細については、Tab キーを押すか、挿入する文字 %s を入力してください。
zstyle ':completion:*' matcher-list 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' '' 'm:{[:lower:] [:upper:]}={[:upper:][:lower:]}'
zstyle ':completion:*' メニュー選択=5
zstyle ':completion:*' 選択プロンプト %SScrolling Activity: 現在の選択は %p%s にあります。
zstyle:compinstall ファイル名'/home/robb/.zshrc'

答え1

次の行を次の項目に追加します~/.zshrc

setopt menu_complete

man zshoptions詳細より。

答え2

元の質問の.zshrcにはないがcompinstallプロセスを完了した場合は、完了オプションに「_list」がないことを確認してください。

zstyle ':completion:*' completer _expand _complete _ignored _correct _approximate _prefix

_listを使用すると、最初のタブの完了要求で可能な完了リストのみを取得でき、いくつかのソリューションをオーバーライドします。

答え3

以下を設定していないことを確認してください_list

私は持っています:

zstyle ':completion:*' completer _list _expand _complete _ignored _match _correct _approximate _prefix

削除する_listとすぐに拡張されます。

関連情報