Si j'utilise terminal et saisis 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>
Y a-t-il un raccourci clavier ou une commande pour aller de ce qui précède à:
>
?
Habituellement je vais appuyer sur le ↓ clé, et si ma ligne actuelle est une nouvelle sur l'histoire, ça va effacer. Mais si je consulte l’historique de mes commandes via le ↑ touchez et commencez à éditer ou à utiliser ces commandes, ↓ changera seulement l'invite à la prochaine commande la plus récente de l'histoire, donc cela ne fonctionnera pas ici à moins que j'appuie sur ↓ plusieurs fois.
Vous pouvez utiliser Ctrl+U pour effacer jusqu'au début.
Vous pouvez utiliser Ctrl+W supprimer juste un mot.
Vous pouvez aussi utiliser Ctrl+C annuler.
Si vous souhaitez conserver l'historique, vous pouvez utiliser Alt+Shift+# en faire un commentaire.
Juste pour résumer toutes les réponses:
J'ai la liste complète des raccourcis:
Ctrl+A, Ctrl+K pour effacer la ligne en cours dans le terminal. Vous pouvez alors le rappeler avec Ctrl+Y si tu as besoin.
ou si vous utilisez le mode vi, appuyez sur Esc suivi par cc
pour récupérer ce que vous venez d'effacer, Esc puis p :)
Une alternative à Ctrl+A, Ctrl+K est Ctrl+E, Ctrl+U.
Je ne sais pas si tu l'aimes mais j'utilise Ctrl+A (aller au début de la ligne) et Ctrl+K (pour supprimer la ligne) Je connaissais ces commandes d’emacs et je les ai découvertes accidentellement.
Ctrl+w: déplacer caractères et mots (multiples) laissés de votre curseur à un tampon en anneau
Ctrl+y: insère la dernière entrée de votre mémoire tampon et vous pouvez ensuite utiliser Alt+y faire pivoter votre tampon d'anneau. Appuyez plusieurs fois pour continuer avec l'entrée "précédente" dans le tampon de sonnerie.
CTRL+R et commencez à taper pour rechercher les commandes précédentes de l'historique. Montre les lignes complètes.
CTRL+R à nouveau pour faire du vélo.
Ajouter à la liste:
En mode Emacs, appuyez sur Esc, suivi par R, supprimera toute la ligne.
Je ne sais pas pourquoi, il arrive juste de le trouver. Peut-être qu'il n'est pas utilisé pour la suppression, mais qu'il a le même effet. Si quelqu'un le sait, merci de me le dire, merci :)
Fonctionne à Bash, mais pas à Fish.
Afin de nettoyer toute la ligne (2 façons différentes):
Pour supprimer la ligne entière où que se trouve le curseur, vous pouvez utiliser la commande kill-whole-line
, mais elle est non 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 d'initialisation Readline (habituellement ~/.inputrc
).
Remarques diverses:
Pour éviter de réaffecter accidentellement une séquence de touches déjà utilisée pour autre chose, vous pouvez vérifier toutes vos liaisons avec bind -P
. Vérifiez la liaison suggérée avec
bind -P | grep '\\e\\C-k'
INPUTRC
. S'il n'est pas défini, la valeur par défaut est ~/.inputrc
ou (si cela n'existe pas) /etc/inputrc
. Notez que si vous avez ~/.inputrc
, /etc/inputrc
sera ignoré.Ctrl + W effacera la Parole à gauche.