Zsh 从 zsh/sched 调用中清除命令行

Zsh 从 zsh/sched 调用中清除命令行

我尝试以下操作:

clear-cmdline() {
    zle && zle kill-buffer
    sched +3 clear-cmdline
}
sched +3 clear-cmdline

运行此代码后,我在提示时输入几个字母,然后等待。什么都没发生。除非我继续输入,否则命令行将被清除。如何在命令行中获得刚刚清除的预期效果?

答案1

它确实有效。只是提示直到您下次输入内容时才会重新绘制。添加zle -R重画提示符:

clear-cmdline() {
  zle && zle kill-buffer && zle -R
  sched +3 clear-cmdline
}
sched +3 clear-cmdline

相关内容