在zle reset-prompt之后,Zsh菜单完成会导致问题

Ryb*_*yba 10 linux shell zsh segmentation-fault

我的.zshrc中有以下代码:

TMOUT=1
TRAPALRM() { zle reset-prompt }
Run Code Online (Sandbox Code Playgroud)

触发菜单完成后,菜单中的所有项目,除了突出显示的项目在触发后消失,TRAPALRM并且我在短时间后继续在菜单zsh segvaults中导航

这有什么修复或解决方法吗?

编辑:Linux Mint 17上的zsh版本是5.0.2

编辑:我在Gentoo上的zsh版本5.0.7上观察到同样的事情

Dra*_*ill 12

我发现这个解决方法,基本上防止在菜单选择时调用"reset-prompt":

TRAPALRM() {
    if [ "$WIDGET" != "complete-word" ]; then
        zle reset-prompt
    fi
}
Run Code Online (Sandbox Code Playgroud)

请注意,您complete-word可能会有所不同; 我echo $WIDGETTRAPALRM通话中找到了它.

  • Maann!你救了我的一天!谢谢!我使用`fzf-completion`,所以在我的情况下这个条件有效:`if![["$ WIDGET"=〜^(完整字| fzf-completion)$]]; then` (2认同)