Considérez la ligne de commande bash suivante, où ^ indique l'emplacement du curseur:
svn commit -m very/long/path/to/some/file "[bug 123456] Fix the pixel issue"
^
J'aimerais créer un fichier différent avec le même message. Comment puis-je supprimer le mot actuel, de l'emplacement du curseur à l'espace suivant? Y at-il également un raccourci pour la suppression en arrière, forme le curseur vers le premier espace en arrière?
Mise à jour: ctrl+w efface en arrière, mais quel raccourci efface un mot en avant?
J'ai répondu à la même question sur unix.stackexchange.com :
Bash a des commandes readline qui ne sont pas liées par défaut. Vous pouvez les trouver à la référence: http://www.gnu.org/software/bash/manual/html_node/Bindable-Readline-Commands.html#Bindable-Readline-Commands
La commande que vous recherchez s'appelle "Shell-backward-kill-Word". Vous devez d'abord sélectionner un raccourci. Utilisons Crtl + p, puisqu'il s'agit de "commande précédente" - 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 en avant.
Il existe également une commande "kill-Word" avec Meta+d raccourci (essayez Esc+d si vous n'avez pas de clé méta). Il ne supprimera qu'une partie du chemin à la fois.
Testé à la fois esc+d et alt/opt+d sur OSX Mavericks et ils y travaillent également.