Comment puis-je effacer/effacer la ligne courante dans le terminal?
Si je suis en utilisant le terminal et en tapant une ligne de texte pour une commande, est-il un raccourci clavier ou de tout moyen de l'effacer/supprimer cette ligne?
Par exemple, si ma ligne de commande est quelque chose de vraiment long comme:
> git log --graph --all --blah..uh oh i want to cancel and clear this line <cursor is here now>
Est-il un raccourci clavier ou une commande à passer de la ci-dessus pour:
>
?
Habituellement je vais appuyer sur la touche ↓ clé, et si ma ligne est une nouvelle marque sur l'histoire, c'est clair. Mais si je vais à travers mon historique des commandes via le ↑ clés et commencer à éditer ou à l'aide de ces commandes, ↓ ne fait que changer l'invite à la prochaine nouveau commandement de l'histoire, de sorte qu'il ne fonctionne pas ici, sauf si j'appuie sur ↓ plusieurs fois.
- Raccourcis pour aller plus Vite dans la Ligne de Commande Bash Cette page est plus illustratif et explique mieux, je pense
- FYI Comment puis-je effacer la ligne actuelle de l'invite de commande de Windows?
- Double Possible de En bash, comment effacer l'entrée actuelle?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser Ctrl+U pour effacer jusqu'au début.
Vous pouvez utiliser Ctrl+W pour supprimer 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 En Mode Feuille De Triche
<kbd>...</kbd>
balise pour afficher les touches de dans la.U
/A
etY
est plus comme un coupe-pâte. Essayez de faireCtrl
+Y
plusieurs fois.CTRL
+r
), ou de remplacer les deux derniers mots derrière le curseur (ESC
+t
).Ctrl+U
et puis recommencer avecCtrl+Y
, je peux le faire à nouveau et je reçois le double...Juste pour résumer toutes les réponses:
Alt + D
Alt
+D
ne fonctionne pas c'est pourquoi je n'ai pas l'inclure 🙁CTRL + L
efface l'écran, mais conserve ce qui a été tapé dans la ligne de commande courante.Ctrl + Alt + >
se déplace à la fin de l'entrée de l'histoire qui est parfait si vous souhaitez annuler la recherche de l'histoire.bind
ou votre~/.inputrc
; danszsh
outcsh
, utilisezbindkey
. Google "<shell> raccourcis clavier" pour un tas d'infos.J'ai l'intégrale liste des raccourcis:
CTRL
+L
(16.) préserve le contenu de la ligne de commande courante.Ctrl
+h
: supprimer le caractère avant le curseurCtrl+Un, Ctrl+K pour essuyer la ligne courante dans le terminal. Vous pouvez ensuite rappeler avec Ctrl+Y si vous avez besoin d'.
ou si votre utilisation de vi le mode, appuyez sur Esc suivi de cc
pour reprendre ce que vous venez de effacées, Esc, puis p 🙂
echo 'set editing-mode vi' >> ~/.inputrc
. Fonctionne également dans des endroits comme interpréteur python invites et certains clients SQLJe ne sais pas si vous l'aimez, mais j'utilise Ctrl+Un (pour aller au début de la ligne) et Ctrl+K (pour supprimer la ligne), j'ai été familiarisé avec ces commandes d'emacs, et compris leur accidentellement.
Une alternative à l' Ctrl+Un, Ctrl+K est Ctrl+E, Ctrl+U.
Ctrl+w: déplacer des personnages et des (multiples) les mots à gauche du curseur de votre souris sur un tampon en anneau
Ctrl+y: insérer la dernière entrée de votre tampon en anneau et ensuite, vous pouvez utiliser Alt+y pour faire tourner dans votre anneau de la mémoire tampon. Appuyez plusieurs fois pour continuer à "précédent" entrée dans l'anneau de la mémoire tampon.
CTRL+R et commencez à taper à la recherche pour les commandes précédentes dans l'histoire. Va afficher toutes les lignes.
CTRL+R nouveau cycle.
Ctrl + W efface le mot à gauche.
Ajouter à la liste:
En mode Emacs, appuyez sur Esc, suivi par R, permet de supprimer l'ensemble de la ligne.
Je ne sais pas pourquoi, arrive juste à le trouver. Peut-être qu'il n'est pas utilisé pour supprimer une ligne, mais arrive à avoir le même effet. Si quelqu'un sait, dites-le moi, merci 🙂
Travaille en Bash, mais ne fonctionne pas dans le Poisson.
revert-line
readline commande: "Annuler toutes les modifications apportées à cette ligne". Elle est liée, par défaut, àM-r
(Méta-R), qui peut être à la fois Alt-R ou de l'Esc R. Cela signifie qu'il n'est pas fait de la suppression de la ligne, seulement quand il est vide pour commencer; si vous retournez dans votre historique des commandes et de modifier une commande, puis le problèmerevert-line
, il va revenir à la commande qu'il était à l'origine et de ne pas supprimer la ligne.Pour supprimer l'ensemble de la ligne, peu importe où se trouve le curseur, vous pouvez utiliser le
kill-whole-line
de commande, mais il est indépendant par défaut. Il peut être lié, par exemple, Ctrl+Alt+K en insérantdans votre Readline fichier init (classiquement
~/.inputrc
).Diverses remarques:
Pour éviter accidentellement ré-affectation d'une séquence de touches qui est déjà utilisé pour autre chose, vous pouvez vérifier toutes vos liaisons avec
bind -P
. De vérifier la suggestion de liaison avecINPUTRC
. Si elle n'est pas définie, 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é.bind
builtinAfin de nettoyer l'ensemble de la ligne (2 façons différentes):