【发布时间】:2014-04-20 02:04:48
【问题描述】:
zsh 的最新更新在 Mac OS X Maverick 上产生了以下错误:
/Users/[username]/.oh-my-zsh/lib/key-bindings.zsh:bindkey:23: cannot bind to an empty key sequence
对应的行是:
bindkey "${terminfo[kpp]}" up-line-or-history # [PageUp] - Up a line of history
bindkey "${terminfo[knp]}" down-line-or-history # [PageDown] - Down a line of history
Mac 键盘上没有 PageUp、PageDown、Home 和 End。 我想知道为什么正确的键码被 bindkey 视为 nil 或者如果 ${terminfo[kpp ]} 为零。有什么想法吗?
【问题讨论】:
-
这个错误有点奇怪,因为不管你的键盘有没有按键,终端应该仍然有一个按键序列,它会识别为向上翻页或向下翻页。 (例如,在 Macbook Pro 上,fn-up-arrow 发送的键代码与具有此类键的键盘上的 Page Up 相同。)
-
没错。编辑了帖子。
-
print ${(k)terminfo}是否产生任何输出?我认为您需要运行zmodload zsh/terminfo才能使terminfo数组可用,尽管根据我的zsh设置似乎没有必要。 -
确实如此。但是
kpp不是数组的一部分。