10.9上的ZSH:只有在ZLE处于活动状态时才能调用小部件。

16

我是ZSH的新手,一直在使用oh-my-zsh在OSX 10.9上运行ZSH。我一直在尝试利用一个历史插件,但是当调用任何与历史相关的命令时,我得到了这个错误信息:“widgets can only be called when ZLE is active.” 我已经寻找解决办法,但是还没有找到一个解决方案。


在shell中运行zmodload命令,并检查是否列出了zsh/zle。如果没有列出,你需要在oh-my-zsh插件之前加载它。你可以在~/.zshrc文件中的source oh-my-zsh之前加入以下代码:zmodload zsh/zle - simont
4
zmodload 的结果显示 zle 已经被加载,但我仍然收到相同的错误提示:“widgets can only be called when ZLE is active.”,那么除此之外,我该如何激活 ale? - user1836430
1个回答

4

这是一个与oh-my-zsh有关的错误。要解决此问题,请在您的.zshrc文件中添加以下内容:

TRAPWINCH() {
  zle && { zle reset-prompt; zle -R }
}

解释:

当没有选项和参数时,只有返回状态将被设置。如果 ZLE 正在活动并且小部件可以使用此内置命令调用,则返回值为零,否则为非零。请注意,即使返回非零状态,zle 仍可能作为完成系统的一部分处于活动状态;这不允许直接调用 ZLE 小部件。


3
我将你的代码添加到了我的.zshrc文件中,并进行了源代码加载,但是我仍然遇到了一个错误信息,显示“zle:widgets can only be called when ZLE is active”。zmodload显示zle已经被加载。 - politicus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接