Comando alias empty no terminal

9

Eu gostaria de limpar meu terminal ao clicar em enviar um comando vazio. Em outras palavras, eu gostaria de ligar clearquando acertar Enterna linha vazia. Isso é possível?

Entendo que não é assim que o terminal funciona, mas pode haver um truque interessante, como vincular a tecla Enter e verificar o terminal ou algo assim.

Mikulas Dite
fonte

Respostas:

12

Esta função deve fazer o que você deseja; tudo o que é feito 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 vincule-o a [ENTER]:

bindkey "^M" magic-enter

Se você usar uma ligação de chave não padrão para [Enter], adapte a linha com zle accept-line. Você pode verificar com bindkey | grep "\^M".

mpy
fonte