bash - une - sed supprimer toutes les lignes avant



Comment effacer/supprimer la ligne actuelle dans le terminal? (8)

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

Par exemple, si ma ligne / commande actuelle est quelque chose de vraiment long:

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

Y at-il un raccourci clavier ou une commande pour aller de ce qui précède à:

>

?

Habituellement, je vais appuyer sur la touche ,, et si ma ligne actuelle est une nouvelle marque sur l'histoire, cela va l'effacer. Mais si je parcours l'historique de mes commandes avec la touche et que je commence à éditer ou à utiliser ces commandes, changera l'invite à la prochaine commande la plus récente de l'histoire, donc ça ne marche pas ici sauf si j'appuie sur plusieurs fois.


Answer #1

Ajouter à la liste:

En mode Emacs, appuyez sur Echap , suivi de R , pour supprimer toute la ligne.

Je ne sais pas pourquoi, juste arrive à le trouver. Peut-être que ce n'est pas utilisé pour la ligne de suppression, mais arrive à avoir le même effet. Si quelqu'un sait, s'il vous plaît dites-moi, merci :)

Fonctionne dans Bash, mais ne fonctionnera pas dans Fish.


Answer #2

J'ai la liste complète des raccourcis:

  1. Ctrl + a Déplacer le curseur au début de la ligne
  2. Ctrl + e Déplacer le curseur jusqu'à la fin de la ligne
  3. Ctrl + b Recule d'un caractère
  4. Alt + b Recule d'un mot
  5. Ctrl + f Avancer d'un caractère
  6. Alt + f Avancer d'un mot
  7. Ctrl + d Supprimer le caractère actuel
  8. Ctrl + w Couper le dernier mot
  9. Ctrl + k Couper tout après le curseur
  10. Alt + d Couper le mot après le curseur
  11. Alt + w Couper le mot avant le curseur
  12. Ctrl + y Colle la dernière commande supprimée
  13. Ctrl + _ Annuler
  14. Ctrl + u Couper tout avant le curseur
  15. Ctrl + x x Bascule entre la première position et la position actuelle
  16. Ctrl + l Effacer le terminal
  17. Ctrl + c Annuler la commande
  18. Ctrl + r Commande de recherche dans l'historique - tapez le terme de recherche
  19. Ctrl + j Termine la recherche à l'entrée de l'historique en cours
  20. Ctrl + g Annuler la recherche et restaurer la ligne d'origine
  21. Ctrl + n Commande suivante de l'historique
  22. Ctrl + p commande précédente de l'historique

Answer #3

Juste pour résumer toutes les réponses

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

Answer #4

Pour supprimer la ligne entière, peu importe où se trouve le curseur, vous pouvez utiliser la commande kill-whole-line , mais elle n'est pas liée par défaut. Il peut être lié, par exemple, à Ctrl + Alt + K en insérant

"\e\C-k": kill-whole-line

dans votre fichier init Readline (classiquement ~/.inputrc ).

Diverses remarques:

  • Pour éviter de réattribuer accidentellement une séquence de touches déjà utilisée pour quelque chose d'autre, vous pouvez vérifier toutes vos liaisons avec bind -P . Vérifiez la liaison suggérée avec

    bind -P | grep '\\e\\C-k'
    
  • Le nom du fichier init Readline est extrait de la variable shell INPUTRC . Si elle n'est pas définie, la valeur par défaut est ~/.inputrc , ou (si ce n'est pas le cas) /etc/inputrc . Notez que si vous avez ~/.inputrc , /etc/inputrc sera ignoré.
  • Pour recharger votre fichier d'initialisation Readline, vous pouvez utiliser Ctrl + X Ctrl + R.
  • Liens vers les sections manuelles pertinentes:

Answer #5

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

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

Vous pouvez également utiliser Ctrl + C pour annuler.

Si vous souhaitez conserver l'historique, vous pouvez utiliser Alt + Maj + # pour en faire un commentaire.

Bash Emacs Mode Édition Cheat Sheet


Answer #6

ou si vous utilisez le mode vi, appuyez sur Echap suivi de cc

pour récupérer ce que vous venez d'effacer, Echap puis p :)


Answer #7

Ctrl + W effacera le mot à gauche.


Answer #8

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





terminal