Utilisation de Ctrl ou Alt ET retour arrière pour supprimer le dernier mot dans Bash


17

Sous Linux, j'ai l'habitude d'appuyer sur Ctrl- Backspacepour supprimer le dernier mot mais je ne sais pas comment le faire dans le terminal Bash.

Dans OS XI, utilisez Alt- Backspacepour faire la même chose.

Existe-t-il un moyen de faire reconnaître à Bash la combinaison Ctrl- ou Alt- de Backspacetouches pour supprimer le dernier mot?

Sous Linux, j'utilise terminatorcomme émulateur de terminal, sous OSX j'utilise iTerm2.


1
Alt-⌫ alias Alt- ← alias Alt-Backspace fonctionne parfaitement bien pour moi. J'utilise Terminator 0.93.
Teddy

Réponses:


31

Vous pouvez toujours utiliser Ctrl- W. Il supprime le mot avant le curseur et fonctionne dans chaque Bash.

Voir ici pour une liste des raccourcis clavier Bash .


1
Wow, cela peut avoir changé la façon dont j'utilise le terminal pour toujours. Merci!
David

4
Cela ne répond pas à la question
Sel

5

Il vous suffit de définir Option comme clé Meta dans les préférences d'iTerm ( Profils »Clés ).

backward-kill-wordest lié à Meta-Rubout(c'est-à-dire Opt-Backspace) par défaut.

La même option existe (bien que moins flexible) dans Terminal.app d'Apple.


2
En fait, vous devez utiliser le paramètre "+ Esc". Le fait de le définir sur "agit comme: Meta" entraîne l' ?impression au lieu de supprimer le mot.
slhck

@slhck Pas pour moi. Mais comme les développeurs le recommandent quand même, cela ne peut pas être une mauvaise chose.
Daniel Beck

2

Dans terminator, vous pouvez utiliser le " plugin " suivant, avec

[keybindings]
    kill_word = <Control>BackSpace

dans votre fichier de configuration. Cela mappera Ctrl- Backspacevers ESCDEL, un autre raccourci pour supprimer le dernier mot.


Malheureusement, cela a cessé de fonctionner dans le terminateur 1.9. Pourriez-vous fournir un correctif par hasard?
Sel

1
Désolé, j'ai cessé d'utiliser terminator il y a longtemps ...
OlivierBlanvillain

2

Vous pouvez créer un fichier .inputrcdans votre répertoire personnel et ajouter ce contenu à l'intérieur:

"\C-h": backward-kill-word

1
Notez que ceci et C-wdans la réponse acceptée diffèrent par ce qui est considéré comme un "mot". C-wsupprimera de la position du curseur jusqu'à ce qu'il rencontre des caractères non-espace puis un espace (c'est-à-dire, "this is a/se=weird |test"où les |marques la position du curseur donnera "this is test"). En revanche, la C-hliaison ici (qui peut être liée à l'aide bind '"\C-h": backward-kill-word"de a .bashrc) donnerait "this is a/se= test", car elle délimite essentiellement des mots sur ce qu'une variable bash ferait, pas seulement des espaces.
jeremysprofile

0

Vous pouvez simplement utiliser Alt- DELau lieu de la normale Strg- DEL.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.