私の.zshrc
には
zstyle ':completion:*' menu select=20
私が打ったときこのように Tab 2回、完了メニューを受け取ります(少なくとも20から選択できると仮定します)。その後、を使用してナビゲートできます Up そして Down キー。私は期待します PgUp そして PgDown ページを上下にスクロールしますが、これはデフォルトの動作ではありません。
自然な考えは、bindkey
を使用してバインドすることです PgUp そして PgDown 適切なコマンドに。ただし、ドキュメントにはup-line-or-history
とdown-line-or-history
しかありませんが、それらのページの類似物は見つかりません。何が足りないのですか?
メニューを完了すると、 zsh/complist
モジュールからのメニュー選択コード が呼び出されます。このモジュールでは、コマンドの選択が制限されていますが、これには「マークを1画面上/下に移動する」ことも含まれます。奇妙なことに、キーをforward-Word
/backward-Word
またはそのバリアントの1つにバインドする必要があります。おそらく、メニュー選択コードは標準ウィジェットを再利用し、ページアップ/ダウン用の標準ウィジェットがないためですが、メニュー選択はそうではありません。そのような言葉はありません。
terminfo モジュールを使用して キーシーケンスを検索 PgUp そして PgDn 端末が送信するものを送信するか、ハードコーディングします。
zmodload zsh/complist
zmodload zsh/terminfo
bindkey -M menuselect $terminfo[kpp] backward-Word
bindkey -M menuselect $terminfo[knp] forward-Word