Pourquoi `zsh` insère-t-il` ~ `lorsque j'appuie sur la touche de suppression?

J'ai configuré mon zsh pour utiliser le style vim pour modifier les lignes de commande.

Cependant, lorsque j'utilise la touche Delete , il insère un ~ caractère.

Est-ce que j'ai mal configuré mon zsh ?

Comment puis-je éteindre cela?

Dois-je revenir à un mode d'édition de commande différent pour zsh ?

Je suis un peu nouveau pour zsh , et peut-être que les réponses à cette question pourraient aider d'autres nouveaux arrivants avec la configuration initiale.

Répondant parce que ce fut le premier DDG à rechercher le même problème.

Tout d'abord, vous devez obtenir le code de la touche de suppression.

Accédez à votre invite shell, par exemple:

 alec@su:~$ 

Exécutez le programme 'chat', que vous utiliserez pour déterminer quel code correspond à votre clé 'delete'.

 alec@su:~$ cat 

Appuyez sur 'supprimer' sur votre clavier et le chat affichera le code correspondant.

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

Vous devrez peut-être appuyer sur 'enter' pour afficher le code. Je n'ai pas.

Enfin, appuyez sur 'Ctrl + C' pour envoyer un signal SIGTERM au chat (c.-à-d. Pour quitter l'exécution du programme)

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

Maintenant, il vous suffit de configurer zsh.

Pour moi, supprimez les envois ^[[3~ , donc je peux mettre ce qui suit dans mon fichier .zshrc:

 bindkey "^[[3~" delete-char 

Redémarrez zsh et vous devriez être prêt à partir! 🙂