Por que o 'zsh' insere um '~' quando eu pressiono a tecla delete?

3

Eu configurei meu zsh para usar o estilo vim para edição de linhas de comando.

No entanto, quando eu uso a tecla Delete , ela insere um caractere ~ .

Eu configurei mal meu zsh ?

Como faço para desativar isso?

Preciso voltar a um modo de edição de comando diferente para zsh ?

Sou um pouco novo em zsh , e talvez as respostas a essa pergunta possam ajudar outros recém-chegados com a configuração inicial.

    
por Nathan Basanese 08.11.2015 / 05:43

1 resposta

4

Responder porque este foi o primeiro resultado de DDG a procurar o mesmo problema.

Primeiro, você precisa obter o código para a chave de exclusão.

Vá para o prompt do seu shell, por exemplo:

alec@su:~$

Execute o programa 'cat', que você usará para determinar qual código corresponde à sua chave 'delete'.

alec@su:~$ cat

Pressione 'delete' no seu teclado e o cat exibirá o código correspondente.

alec@su:~$ cat
^[[3~

Você pode precisar pressionar 'enter' para exibir o código. Eu não fiz.

Finalmente, pressione 'Ctrl + C' para enviar um sinal SIGTERM para o gato (ou seja, para sair da execução do programa)

alec@su:~$ cat
^[[3~^C
alec@su:~$ cat

Agora, você só precisa configurar o zsh.

Para mim, delete envia ^[[3~ , então posso colocar o seguinte no meu arquivo .zshrc:

bindkey "^[[3~" delete-char

Reinicie o zsh e você deve estar pronto! :)

    
por 19.05.2016 / 16:01