Como mapeio a combinação de teclas alt + enter
para fazer uma continuação de linha (sem executar o comando)?
Quero o seguinte resultado final:
> echo \
"hello"
Depois de digitar o comando echo, quero pressionar alt+enter
e fazer com que o shell insira a barra invertida e uma nova linha, para que eu possa continuar meu comando na próxima linha.
Descobri que isso bindkey "^[^M" self-insert-unmeta
insere uma nova linha, mas não a barra invertida...
Você precisa escrever uma função auxiliar simples, vamos chamá-la
insert-linebreak
e torná-la um widget zle (este é o editor de linha de comando do zsh ):$LBUFFER
é tudo na linha de comando à esquerda do cursor e aqui adicionamos um espaço em branco, uma barra invertida e uma nova linha.Agora, você pode atribuir este widget à combinação de teclas desejada: