Bash: efface le mot devant le curseur

64

Prenez en compte l'invite bash suivante, où ^ indique l'emplacement de l'invite:

svn commit -m very/long/path/to/some/file "[bug 123456] Fix the pixel issue"
              ^

Je voudrais commettre un fichier différent avec le même message. Comment puis-je supprimer le mot actuel, de l'emplacement du curseur à l'espace suivant? Existe-t-il également un raccourci pour la suppression en arrière, formez le curseur en arrière vers le premier espace?

Mise à jour: ctrl + w efface en arrière, mais quel raccourci efface un mot en avant?

    
posée Adam Matan 08.04.2013 - 17:12
la source

2 réponses

47

J'ai répondu à une question similaire ici: lien :

  

Bash a des commandes readline qui ne sont pas liées par défaut. Tu peux trouver   les à la référence:    lien

     

La commande que vous recherchez s'appelle "shell-backward-kill-word". Toi   devez d'abord sélectionner le raccourci. Utilisons Crtl + p, car il est "précédent   commande "- identique à la flèche vers le haut.

bind '"\C-p": shell-backward-kill-word'

La seule différence est que vous devez utiliser la commande "shell-kill-word" à la place, car vous souhaitez supprimer le transfert.

Il y a aussi une commande "kill-word" avec un raccourci Meta + d (essayez Esc + d si vous n'avez pas de clé Meta). Il ne supprimera qu'une partie du chemin à la fois.

    
réponse donnée Nykakin 10.04.2013 - 18:04
la source
6

Test des deux esc + d et alt / opt + d sur OSX Mavericks et ils travaillent là aussi.

    
réponse donnée visyoual 30.11.2015 - 17:24
la source

Lire d'autres questions sur les étiquettes