zsh:菜单补全中的 PageUp

zsh:菜单补全中的 PageUp

在我的.zshrc我有

zstyle ':completion:*' menu select=20

这样,当我点击Tab两次时,我会收到一个完成菜单(假设至少有 20 个可供选择)。然后我可以使用UpDown键进行导航。我希望向上/向下PgUp滚动PgDown页面,但这不是默认行为。

一个自然的想法是使用bindkey绑定PgUpPgDown适当的命令。但是,我只能在文档中找到up-line-or-history和,但找不到它们的页面类似物。down-line-or-history我缺少什么?

答案1

菜单完成调用zsh/complist模块中的菜单选择代码。该模块仅允许有限的命令选择,但这确实包括“向上/向下移动标记一屏”。奇怪的是,您必须将键绑定到forward-word/backward-word或其变体之一 - 大概是因为菜单选择代码重用标准小部件,并且没有用于向上/向下翻页的标准小部件,而菜单选择没有这样的单词。

您可以使用术语信息模块到查找按键序列然后PgUp发送PgDn,或者对终端发送的内容进行硬编码。

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

相关内容