Supposons que dans bash vous commencez à écrire une commande comme:
$ rm -rf /foo/bar/really/long/path/here
puis réalisez que vous ne voulez pas exécuter cela après tout. Existe-t-il un moyen d'effacer l'entrée avec une ou deux frappes?
Ce que j'ai fait ces derniers temps, c'est d'ajuster l'écho et de placer l'entrée entre guillemets (Ctrl + A`` echo "
Ctrl + E, "
) puis d'appuyer sur Entrée. Y at-il un moyen plus rapide?
Réponses:
Appuyez sur Ctrl- Upour tout supprimer avant le curseur. La commande supprimée sera stockée dans un tampon. Appuyez sur Ctrl- Ypour coller la commande supprimée.
(Facultatif: appuyez sur Endou Ctrl- Epour passer d'abord à la fin de l'entrée.)
Sinon, appuyez sur Ctrl- Cpour annuler ce que vous tapez.
la source
stty -a
. Et cela fonctionnera avec n'importe quel programme qui ne modifie pas activement les commandes du terminal.Essayez Ctrl+ U. Cela efface la ligne d'entrée.
la source
Une brève référence a été trouvée sur http://www.ice2o.com/bash_quick_ref.html lors de la recherche .
ctrl+ e(sinon à la fin de la ligne) plus ctrl+ le ufera.
la source
Ctrl- U, Ctrl- Kfait aussi l'affaire.
Ctrl- Usupprime tout du début de la ligne jusqu'au curseur, Ctrl- Ksupprime tout du curseur à la fin de la ligne. (Il est parfois utile de n'en utiliser qu'un seul.)
la source
Il existe deux options pour ce faire
ctrl+ c- cela efface toute la ligne, peu importe où se trouve le curseur.
ctrl+ u- cela efface la ligne de la position du curseur jusqu'au début.
la source
Un joli raccourci est pressé Esc#. Il ajoutera un
#
caractère avant (faisant ainsi de la ligne un commentaire), puis appuyez sur Entrée. Si vous décidez ensuite que vous avez toujours besoin de la commande, vous l'avez toujours dans votre historique :)la source
En appuyant sur EscplusBackspace dans bash pour tout effacer jusqu'à la position du curseur.
(Dans Cygwin, cela effacera l'entrée jusqu'au mot suivant. Les mots sont séparés par des espaces, des traits de soulignement, ...)
la source
Considérez que l'utilisation de Ctrl- U(ou Ctrl- Eet ensuite Ctrl- U) stockera ce que vous effacez dans une mémoire tampon afin que vous puissiez ensuite le coller plus tard en utilisant Ctrl- Y.
la source
Si vous utilisez Bash en mode vi (définissez-le avec
set -o vi
), appuyez sur Escpour passer au mode normal de vi, et tapezdd
pour supprimer la ligne actuelle!la source
Ceci est une extension de la réponse de Knittl qui stocke la ligne dans l'historique de la console en préfixant avec un hachage. Surmonter les inconvénients du presse-papiers, tels que l'écrasement accidentel ou l'impossibilité d'afficher la ligne de coupe pour référence.
Ligne de commentaire et nouvelle invite de retour
Utilisez l'un des raccourcis clavier:
Un caractère de hachage
#
sera ajouté à la ligne, transformant ainsi la ligne entière en commentaire. Il renverra également une nouvelle invite, comme si l'utilisateur avait appuyé sur Entrée. par exempleRécupérer la ligne commentée
Pour récupérer l'ancienne ligne de l'historique de la console, utilisez l'un des raccourcis suivants:
Répétez le raccourci clavier jusqu'à ce que la ligne souhaitée apparaisse.
Suppression rapide du préfixe de hachage
Pour supprimer le hachage de la ligne
#
préfixe de plusieurs options sont disponibles:Supprimez le premier caractère et exécutez immédiatement la commande:
Déplacez le curseur pour démarrer et supprimer le premier caractère, sans exécuter la commande:
la source
Pour supprimer la ligne actuelle, essayez:
Ctrl- X, Ctrl-U
Comme alternative, vous pouvez utiliser:
Esc-D
ce qui nécessite dans ~ / .inputrc:
voir: http://codesnippets.joyent.com/posts/show/1690
la source
"\e\e": kill-whole-line
(il faut cependant appuyer deux fois sur la touche esc)