短い紹介
zshと入力すると、<tab>
最初の完成候補が強調表示されます。まもなく<tab>
リストに焦点を当てるために2番目のクリックを要求する代わりに。
はい
次のディレクトリ構造があるとします。
Projects/
|
+-- FooAwesome/
|
+-- FooAwesomeThings/
|
+-- FooBar/
入力してProjects/
入力すると、cd Foo<tab>
zshは親切にオプションのリストを提供します。
ただし、リスト内で選択項目を取得するには、<tab>
最初の候補が強調表示される前にもう一度クリックする必要があります。
最初にクリックしたときに最初の選択を強調表示するにはどうすればよいですか<tab>
?
現在の構成
zstyle ':completion:*' completer _expand _complete _ignored _correct _approximate
zstyle ':completion:*' expand prefix
zstyle ':completion:*' matcher-list '' 'm:{[:lower:]}={[:upper:]}' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'r:|[._-]=* r:|=*'
zstyle ':completion:*' menu select=2
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' file-list all
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' group-name ''
zmodload zsh/complist
bindkey -M menuselect 'h' vi-backward-char
bindkey -M menuselect 'k' vi-up-line-or-history
bindkey -M menuselect 'j' vi-down-line-or-history
bindkey -M menuselect 'l' vi-forward-char
bindkey -M menuselect '^xi' vi-insert
zstyle :compinstall filename '/Users/ashton/.zshrc'
autoload -Uz compinit
compinit
私はプラグインマネージャoh-my-zsh
やそのようなものを使用しません。可能であれば、私は素晴らしいカスタムパッケージ、または何もない純粋なzsh構成である「一般的な」ソリューションを好みます。
答え1
構成から削除すると、setopt menu_complete
最初の項目に移動が停止します。setopt no_list_ambiguous
これも並行しなければならないと思います。zshoptions(1)
説明する:
MENU_COMPLETE (-Y)
完了がわからない場合は、可能性を一覧表示したりビープ音を鳴らすのではなく、最初の一致をすぐに挿入してください。その後、要求が再び完了すると、最初の一致が削除され、2番目の一致が挿入されるように進みます。これ以上一致するものがない場合、最初の一致が再び返されます。
reverse-menu-complete
異なる方向にリストを繰り返すために使用できます。このオプションは無視されますAUTO_MENU
。