Réponses:
Cela dépend de votre shell et de son mode d'édition en ligne de commande actif.
Pour un shell avec le mode d'édition de ligne de commande Emacs ( set -o emacsdans certains shells), utilisez Alt+D(cela ne fonctionne pas sur macOS pour une raison quelconque, mais imprime le caractère ∂, utilisez à la Escdplace).
Pour un shell avec le mode d'édition de ligne de commande Vi ( set -o vidans quelques coquilles), l' utilisation Escdw(ce fait le travail sur macOS aussi).
Pour la discipline de ligne tty, ^Wsupprime le mot précédent délimité par des espaces blancs .
Dans l' viéditeur en mode insertion, ^Wsupprime en arrière jusqu'au début de la première séquence d'alnums ou de non-alnums (activé foo-+-bar.. baz, il supprime d'abord baz, puis .., puis bar, puis -+-, puis foo).
Dans l' emacséditeur, ^Wsupprime de la position du curseur à la marque (celle que vous définissez avec Ctrl+Space).
Certains éditeurs de ligne comme readline(utilisé par bash, gdb...), zle(utilisé par zsh), pdkshsont en vimode, se comportent comme vià cet égard et lorsqu'ils sont en emacsmode se comportent comme la discipline de ligne tty (pas emacs).
libedit(utilisé par les shells BSD ou (en option) dash), tcshAT&T ksh, en emacsmode, se comportent comme emacsoù ^Wsupprime la marque (initialement au début du tampon).
Pour supprimer un mot en avant, dans l' viéditeur, vous le feriez en mode commande ( normal ) avec dwpour supprimer au début de la prochaine séquence d'alnums ou de non-alnums (ou à la fin de la ligne) et dWpour supprimer à la séquence suivante de non-blancs (le pendant de la ^Wdiscipline de la ligne tty).
Dans l' emacséditeur de ligne, Meta-Dsupprimerait jusqu'à la fin de la prochaine séquence de caractères d'alnum. Le mot opérateurs de mouvement ( Meta-B, Meta-F) se comporte de la même manière.
les éditeurs de ligne de commande, lorsqu'ils sont en vimode, se comportent comme vi, mais en emacsmode, vous avez deux écoles principales: l' tcshécole et l' kshécole.
L' kshécole ( readline, ksh, yash) se comporte comme la plupart du temps emacs( fishle comportement « est légèrement différent dans la façon dont elle traite non alnum, les caractères non-blancs dans les deux emacset le vimode).
Dans l' tcshécole ( tcsh, libedit, zsh), les mouvements de mots sont basées sur des mots séparés par des espaces sont donc compatibles avec la ligne TTY discipline de ^Wà cet égard.
Dans zsh, le comportement est personnalisable avec différents styles de mots pour tous les widgets de mouvement de mot.
Pour readline, vous pouvez obtenir l' tcshécole (et avoir Meta-Dsupprimé le même type de mot que le Ctrl-Wfait) en ajoutant à votre ~/.inputrc:
set keymap vi-move
"\e[EMACS~": emacs-editing-mode
set keymap emacs
"\e[VI~": vi-movement-mode
"\ed": "\e[VI~dW\e[EMACS~"
"\ef": vi-fWord
"\eb": vi-bWord
Ou d'un autre côté, alignez-vous ^Wsur les autres widgets de mouvement de mot (comportez-vous comme Meta-Backscape) avec:
set keymap emacs
"\C-W": backward-kill-word
En ce qui concerne la Metaclé, voyez- y .
Sous Linux, essayez Ctrl+kde supprimer l'emplacement du curseur jusqu'à la fin du mot.
Il existe quelques autres raccourcis répertoriés ci-dessous (fonctionnant sous Linux):
Ctrl+e -> Prend le curseur à la fin du mot.Ctrl+t -> Inter-changez la position des alphabets.Ctrl+y -> ajoute le suffixe "hh" au mot actuel.Ctrl+u -> Supprime toute la ligne.Ctrl+o -> Fonctionne comme la touche Entrée.Ctrl+p -> Fonctionne comme le bouton flèche vers le haut.Ctrl+a -> Amène le curseur à la position de départ de la commande.Ctrl+d -> Ferme le terminal.Ctrl+f -> Déplace le curseur d'un caractère vers l'avant.Ctrl+h -> Fonctionne comme la touche Retour arrière.Ctrl+j -> Fonctionne comme la touche Entrée.Ctrl+m -> Fonctionne comme la touche Entrée.Ctrl+b-> Fonctionne comme la touche flèche droite. 14 Ctrl+4 -> Supprime le motCtrl+ksupprime jusqu'à la fin de la ligne . Ctrl+usupprime la ligne entière (si le curseur est à la fin). Ctrl+denvoie EOF. Ctrl+eva jusqu'au bout de la ligne , etc.
bashinvi, vous pouvez utiliserdWpour les supprimer