Les commandes les plus couramment utilisées en mode bash emacs par défaut , pour les claviers les plus couramment utilisés:
Mouvement
- Ctrl- p, ou Up: commande précédente
- Ctrl- n, ou Down: commande suivante
- Ctrl- b, ou Left: caractère précédent
- Ctrl- f, ou Right: caractère suivant
- Alt- b: mot précédent
- Alt- f: mot suivant
- Ctrl- a, ou Home: début de la commande
- Ctrl- e, ou End: fin de commande
Édition
- BkSpc: supprimer le caractère précédent
- Ctrl- d, ou Del: supprimer le caractère actuel
- Alt- BkSpc: supprimer le mot à gauche
- Alt- d: supprimer le mot à droite
- Ctrl- u: supprimer pour démarrer la commande
- Ctrl- k: supprimer jusqu'à la fin de la commande
- Ctrl- y: coller la dernière coupe
Miscellanea
- Cltr- /: annuler
- Cltr- r: recherche incrémentielle d'historique en arrière
bindkey [key] vi-backward-kill-word
Il y en a aussi
unix-filename-rubout
pourReadline
!la source
unix-filename-rubout
est la bonne réponse à la question posée car elle supprime la barre oblique ou les espaces blancs, alorsAlt-BkSpc
qu'elle s'arrêtera aux caractères comme le trait d'union, le trait de soulignement, le point, etc.Par défaut, bash (et je suppose que zsh) sera en mode emacs. Vous pouvez essayer quelque chose comme ceci:
Esc + bmettra le curseur en arrière d'un mot. Ctrl + ksera supprimé jusqu'à la fin de la ligne.
La plupart des shells modernes (comme bash) implémenteront des fonctionnalités avancées d'édition en ligne de commande. Ces commandes sont soit proches de l'édition emacs (Ctrl + A pour le début de la ligne, Ctrl + E pour la fin de la ligne, ...).
Si vous connaissez les éditeurs de type vi, vous pouvez essayer d'autoriser vi-mode.
set -o vi
Il donne à votre shell des modes de type vi (mode commande / mode insertion), et vous avez accès aux commandes standard (d pour supprimer, r pour remplacer, ...)
En mode Vi, voici comment vous feriez ce que vous avez décrit:
la source
db
dans ce scénario dans bash. J'ai également trouvévi-backward-kill-word
dans zsh ce que je veux, et c'est plus pratique que de définir vi-mode dans bash. Mais je veux toujours trouver un raccourci de mode emacs à cet effet dans bash.db
qui dans certains cas.