zsh: メニュー補完の PageUp

zsh: メニュー補完の PageUp

私の中には.zshrc私がいます。

zstyle ':completion:*' menu select=20

これにより、ダブルクリックするとTab完了メニューが表示されます(選択する項目が少なくとも20個あると仮定)。その後、Upキーを使ってナビDownゲートできます。ページを上下PgUpにスクロールしたいのですが、PgDownこれはデフォルトの動作ではありません。

自然なアイデアは、bindkeyバインディングPgUpPgDown適切なコマンドを使用することです。ただし、ドキュメントでのみ、およびup-line-or-historyそのページの類似アイテムを見つけることができますが、見つけることはできません。down-line-or-history私は何を見逃していますか?

答え1

メニュー完了通貨zsh/complistモジュール内メニュー選択コード。このモジュールでは制限されたコマンドの選択のみが許可されていますが、これには「1画面上/下へのマーカーの移動」が含まれます。奇妙なことに、キーをforward-word/またはそのバリアントの1つにバインドする必要がありますbackward-word。おそらく、メニュー選択コードが標準ウィジェットを再利用し、ページの上/下に移動する標準ウィジェットがなく、メニュー選択にはこの単語がないためです。

あなたはそれを使用することができます用語情報モジュールキーシーケンスの検索その後、PgUp送信するPgDnか端末が送信する内容をハードコードします。

zmodload zsh/complist
zmodload zsh/terminfo
bindkey -M menuselect $terminfo[kpp] backward-word
bindkey -M menuselect $terminfo[knp] forward-word

関連情報