Shell zsh密钥绑定:无法绑定到空密钥序列
对zsh的最新更新在Mac OS X Maverick上产生了以下错误:Shell zsh密钥绑定:无法绑定到空密钥序列,shell,zsh,oh-my-zsh,Shell,Zsh,Oh My Zsh,对zsh的最新更新在Mac OS X Maverick上产生了以下错误: /Users/[username]/.oh my zsh/lib/key bindings.zsh:bindkey:23:无法绑定到空密钥序列 相应的行是: bindkey "${terminfo[kpp]}" up-line-or-history # [PageUp] - Up a line of history bindkey "${terminfo[knp]}" down-line-or-history
/Users/[username]/.oh my zsh/lib/key bindings.zsh:bindkey:23:无法绑定到空密钥序列
相应的行是:
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]}为nil,条件代码应该是什么样子。有什么想法吗?这与$terminfo在不同平台上不一致有关,提交已恢复,有关详细信息,请参阅。如果安装了轮毂工具,则快速修复方法是:
cd ~/.oh-my-zsh
hub checkout https://github.com/robbyrussell/oh-my-zsh/pull/2625 terminfo_fix
然后重新装弹。如果没有集线器,您需要先为PR设置遥控器,然后从那里拔出。错误有点奇怪,因为无论您的键盘是否有键,终端都应该有一个键序列,它将识别为向上翻页或向下翻页。(例如,在Macbook Pro上,fn up arrow发送的键代码与具有该键的键盘上的Page up相同。)这是正确的。编辑文章。
print${(k)terminfo}
是否产生任何输出?我认为您需要运行zmodload zsh/terminfo
,以使terminfo
数组可用,尽管根据我的zsh
设置,它似乎不是必需的。确实需要。但是kpp
不是数组的一部分。terminfo密钥验证对我来说似乎比完全恢复要好一点。我添加了另一个请求2634。