116 votes

Bash : supprimer du curseur jusqu'à la fin de la ligne avec un raccourci clavier

Considérons l'invite bash suivante, où ^ indique l'emplacement de l'invite :

$ git commit -am "[bug 123456] Do this and that with the bug"
                               ^

Supposons que je veuille commit à nouveau au même bogue, avec un message commit différent. Existe-t-il un moyen de supprimer le texte depuis la position du curseur jusqu'à la fin de la ligne ?

181voto

Jon Points 1381

使用方法 Ctrl + K pour effacer du curseur jusqu'à la fin de la ligne.

使用方法 Ctrl + U pour effacer depuis le curseur jusqu'au début de la ligne.

54voto

Kevin Bowen Points 18646

Cela dépend si vous utilisez vi( set -o vi ) ou emacs( set -o emacs ) en mode édition dans votre Shell.

Par défaut, votre Shell passe généralement en mode d'édition emacs.

  • En mode emacs, la suppression jusqu'à la fin de la ligne peut être accomplie en utilisant la commande ctrl - k .

  • Cependant, si vous utilisez le mode d'édition vi dans votre commande Shell, le même résultat peut être obtenu en tapant Esc (qui vous placera en mode commande) suivi de d - $ (si vous voulez supprimer la ligne entière, entrez dd ).

Si vous n'êtes pas sûr du mode d'édition que vous utilisez actuellement dans votre Shell, entrez la commande set -o à partir de la ligne de commande et vous serez en mesure de déterminer le mode d'édition que vous utilisez actuellement :

set -o
...snip...
emacs           on
...snip...
vi              off

Pour changer de mode d'édition en ligne de commande, il suffit de taper l'un ou l'autre :

set -o vi

o

set -o emacs

5voto

Sridhar Sarnobat Points 1384

Si vous n'êtes familier qu'avec l'un des deux logiciels Zsh et Bash, voici les liaisons de touches équivalentes dont vous aurez (peut-être) besoin :

bash

bind '"\C-k"':kill-line

zsh

bindkey "\C-k"      vi-kill-eol

Autres informations pertinentes

Pour obtenir une liste de liaisons de touches :

# bash
bind -p

# zsh
bindkey

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X