1151 votes

Comment effacer/supprimer la ligne en cours dans le terminal ?

Si j'utilise un terminal et que je tape une ligne de texte pour une commande, existe-t-il un raccourci clavier ou un moyen d'effacer/supprimer cette ligne ?

Par exemple, si ma ligne/commande actuelle est quelque chose de très long, comme :

> git log --graph --all --blah..uh oh i want to cancel and clear this line <cursor is here now>

Existe-t-il un raccourci clavier ou une commande pour passer de l'option ci-dessus à :

>

?

En général, j'appuie sur le bouton et si ma ligne actuelle est une toute nouvelle ligne dans l'historique, cela l'effacera. Mais si je parcours l'historique de mes commandes via la touche et commencer à éditer ou à utiliser ces commandes, ne changera l'invite que pour la prochaine commande la plus récente dans l'historique, donc cela ne fonctionne pas ici à moins que j'appuie sur plusieurs fois.

11 votes

Raccourcis pour aller plus vite en ligne de commande Bash Cette page est plus illustrative et explique mieux, je pense.

1 votes

2158voto

kev Points 41855

Vous pouvez utiliser Ctrl + U pour aller jusqu'au début.

Vous pouvez utiliser Ctrl + W pour supprimer un seul mot.

Vous pouvez également utiliser Ctrl + C pour annuler.

Si vous voulez garder l'historique, vous pouvez utiliser Alt + Shift + # pour en faire un commentaire.


<a href="http://www.catonmat.net/blog/bash-emacs-editing-mode-cheat-sheet/" rel="noreferrer">Aide-mémoire sur le mode d'édition de Bash Emacs</a>

342 votes

La ligne supprimée par Ctrl-U peut être rappelée avec Ctrl-Y, également.

92 votes

Quoi ? Trop cool merci keks & kev, +U c'est supprimer tout avant le curseur, +K c'est supprimer tout après le curseur, +A c'est aller au début de la ligne. Donc techniquement +C est la meilleure solution pour la question.

4 votes

Alt-Shift-# ne fonctionne pas ? alors que les autres fonctionnent. Alt-Shift-# imprime un caractère > sur le terminal.

774voto

Trickster Points 1441

Pour résumer toutes les réponses :

  • Nettoyez la ligne : Vous pouvez utiliser Ctrl + U pour aller jusqu'au début.
  • Nettoyez la ligne : Ctrl + E Ctrl + U pour effacer la ligne en cours dans le terminal
  • Nettoyez la ligne : Ctrl + A Ctrl + K pour effacer la ligne en cours dans le terminal
  • Annule la commande/ligne en cours : Ctrl + C .
  • Rappelez-vous la commande supprimée : Ctrl + Y (alors Alt + Y )
  • Aller au début de la ligne : Ctrl + A
  • Allez jusqu'au bout de la ligne : Ctrl + E
  • Enlevez les mots avant, par exemple, si vous êtes au milieu de la commande : Ctrl + K
  • Supprimez les caractères à gauche, jusqu'au début du mot : Ctrl + W
  • Pour effacer toute votre invite de commande : Ctrl + L
  • Bascule entre le début de la ligne et la position actuelle du curseur : Ctrl + XX

11 votes

Note ctrl-k supprime tout ce qui se trouve entre le curseur et la fin de la ligne.

12 votes

Supprimez le mot suivant : Alt + D

2 votes

Alt + D ne fonctionne pas, c'est pourquoi je ne l'ai pas inclus :(

28voto

Spyros Mandekis Points 512

Ctrl + A , Ctrl + K pour effacer la ligne en cours dans le terminal. Vous pouvez ensuite la rappeler avec Ctrl + Y si vous en avez besoin.

17voto

bluTaz Points 78

Ou si vous utilisez le mode vi, tapez Esc suivi par cc

pour récupérer ce que vous venez d'effacer, Esc et ensuite p :)

6 votes

Vous pouvez activer le mode vi en echo 'set editing-mode vi' >> ~/.inputrc . Cela fonctionne également dans des endroits comme les invites de l'interpréteur python et certains clients SQL.

13voto

darkmist Points 2023

Une alternative à Ctrl + A , Ctrl + K es Ctrl + E , Ctrl + U .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X