zsh 完成: 個々のタブを持つメニューと明示的なプレフィックス?

zsh 完成: 個々のタブを持つメニューと明示的なプレフィックス?

私があるフォルダには次のファイルが含まれています。

aaa1  aaa2  aaa3  bbb1  bbb2  bbc1  bbc2

cd aプロンプトで入力しました。今、

  • Tab「完了」をタップします。cd aaa
  • その後、別のTabメニューが表示されます(aaa1/ aaa2/ aaa3/)。
  • ついに3回目がTab終わったcd aaa1/
  • メニューを介した後続のキー入力の循環

最初と2番目を組み合わせて次のことをしたいと思いますTab

  • Tab「完了」をタップします。cd aaa そしてメニューを読み込む
  • Tab完了するには別のボタンを押してください。cd aaa1/
  • その後のキーストロークは通常どおりメニューを循環します。

または

  • Tab「完了」をタップします。cd aaa
  • 別のボタンを押すとTabメニューが表示されますそして完了cd aaa1/
  • その後のキーストロークは通常どおりメニューを循環します。

これを達成できる組み合わせ(un)setoptや方法はありますか?zstyle

ベストアンサー1

まあ、この方法は「aaa1」を直接選択し、メニュー項目ループモードにあるようです。

exec zsh -f
zmodload zsh/complist
autoload -U compinit; compinit
bindkey "^I" menu-select
cd a

オプションも同様ですmenucomplete

exec zsh -f
autoload -U compinit; compinit
setopt menucomplete
cd a

オプションはありますが、目的のオプションではなく、入力したautolistオプションのみが一覧表示されます。よく!これはどうですか:cd aaacd a

exec zsh -f
autoload -U compinit; compinit
setopt nolistambiguous
cd a

これでcd aaa"aaa*" ディレクトリが完了して表示されます。

おすすめ記事