Não tem certeza do que você quer dizer, mas com zsh
:
accept-line() {: "${BUFFER:="my-aliased-command"}"; zle ".$WIDGET"}
zle -N accept-line
Pressionar Enter em um buffer vazio rodará my-aliased-command
Isso está redefinindo o widget accept-line
como uma função. Nos widgets zle
(editor de linhas zsh), $BUFFER
contém o conteúdo da linha de comandos até o momento. Então, aqui estamos definindo-o como my-aliased-command
se ele estava vazio anteriormente e, em seguida, executamos o widget accept-line
incorporado ( .accept-line
).
Observe que my-aliased-command
será adicionado ao histórico de comandos.
Se você não quiser, outra abordagem poderia ser:
accept-line() {
if [[ -z $BUFFER ]]; then
zle -I
my-aliased-command
else
zle ".$WIDGET"
fi
}
zle -N accept-line
Se $BUFFER
estiver vazio, invalide o prompt (não é necessário fazer isso se o comando não gerar nada) e execute o my-aliased-command
. Execute o accept-line
incorporado de outra forma.