我想在点击提交空命令时清除终端。换句话说,我想clear
在点击Enter空行时调用。这可能吗?
我明白终端不是这样工作的,但可能会有一个很好的破解方法,比如绑定 Enter 键并检查终端等。
答案1
此函数应该执行您想要的操作;它所做的就是检查当前提示输入 ( $BUFFER
) 是否为空 ( -z
):
magic-enter () {
if [[ -z $BUFFER ]]
then
zle clear-screen
else
zle accept-line
fi
}
将其定义为小部件
zle -N magic-enter
然后将其绑定到[ENTER]
:
bindkey "^M" magic-enter
如果您使用 的非标准键绑定[Enter]
,请使用 调整该行zle accept-line
。您可以使用 进行检查bindkey | grep "\^M"
。