Comando vacío de alias en terminal

9

Me gustaría borrar mi terminal al presionar el envío de un comando vacío. En otras palabras, me gustaría llamar clearcuando Entertoque la línea vacía. ¿Es eso posible?

Entiendo que no es así como funciona el terminal, pero puede haber un buen truco, como vincular la tecla Intro y verificar el terminal o algo así.

Mikulas Dite
fuente

Respuestas:

12

Esta función debe hacer lo que quieras; todo lo hace para verificar si la entrada de solicitud actual ( $BUFFER) está vacía ( -z):

magic-enter () {
        if [[ -z $BUFFER ]]
        then
                zle clear-screen
        else
                zle accept-line
        fi
}

Definirlo como un widget con

zle -N magic-enter

y luego vincularlo a [ENTER]:

bindkey "^M" magic-enter

Si utiliza un enlace de teclas no estándar para [Enter], adapte la línea con zle accept-line. Puedes consultar con bindkey | grep "\^M".

mpy
fuente