Esta função deve fazer o que você quer; tudo o que faz para verificar se a entrada de prompt atual ( $BUFFER ) está vazia ( -z ):
magic-enter () {
if [[ -z $BUFFER ]]
then
zle clear-screen
else
zle accept-line
fi
}
Defina-o como um widget com
zle -N magic-enter
e, em seguida, vinculá-lo a [ENTER] :
bindkey "^M" magic-enter
Se você usar uma vinculação de chave não padrão para [Enter] , adapte a linha com zle accept-line . Você pode verificar com bindkey | grep "\^M" .