Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell zsh密钥绑定:无法绑定到空密钥序列_Shell_Zsh_Oh My Zsh - Fatal编程技术网

Shell zsh密钥绑定:无法绑定到空密钥序列

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

对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     # [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。