Perché `zsh` inserire un` ~ `quando premo il tasto delete?

Ho impostato il mio zsh per utilizzare lo stile vim per la modifica delle righe di command.

Tuttavia, quando utilizzo la chiave Delete , inserisce un ~ carattere.

Ho misconfigurato il mio zsh ?

Come posso distriggersrlo?

Devo tornare ad una diversa modalità di modifica dei comandi per zsh ?

Sono un po 'nuovo per zsh , e forse le risposte a questa domanda potrebbero aiutare altri nuovi arrivati ​​con la configuration iniziale.

Rispondendo perché questo è stato il primo risultato DDG nella ricerca della stessa problematica.

In primo luogo, è necessario get il codice per la chiave di eliminazione.

Andare al prompt della shell, ad esempio:

 [email protected]:~$ 

Esegui il programma 'gatto', che userai per determinare quale codice corrisponde al tuo tasto 'delete'.

 [email protected]:~$ cat 

Premere 'delete' sulla tastiera e il gatto visualizzerà il codice corrispondente.

 [email protected]:~$ cat ^[[3~ 

Potrebbe essere necessario premere 'enter' per visualizzare il codice. Io no.

Infine, premere 'Ctrl + C' per submit un segnale SIGTERM al gatto (cioè per uscire dall'esecuzione del programma)

 [email protected]:~$ cat ^[[3~^C [email protected]:~$ cat 

Ora, devi solo configurare zsh.

Per me, elimina invia ^[[3~ , quindi posso mettere le seguenti nel mio file .zshrc:

 bindkey "^[[3~" delete-char 

Riavviare zsh e dovresti essere bravo ad andare! 🙂