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 emacs
dans 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 vi
dans quelques coquilles), l' utilisation Escdw(ce fait le travail sur macOS aussi).
Pour la discipline de ligne tty, ^W
supprime le mot précédent délimité par des espaces blancs .
Dans l' vi
éditeur en mode insertion, ^W
supprime 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, ^W
supprime 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
), pdksh
sont en vi
mode, se comportent comme vi
à cet égard et lorsqu'ils sont en emacs
mode se comportent comme la discipline de ligne tty (pas emacs
).
libedit
(utilisé par les shells BSD ou (en option) dash
), tcsh
AT&T ksh
, en emacs
mode, se comportent comme emacs
où ^W
supprime 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 dw
pour supprimer au début de la prochaine séquence d'alnums ou de non-alnums (ou à la fin de la ligne) et dW
pour supprimer à la séquence suivante de non-blancs (le pendant de la ^W
discipline 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 vi
mode, se comportent comme vi
, mais en emacs
mode, 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
( fish
le comportement « est légèrement différent dans la façon dont elle traite non alnum, les caractères non-blancs dans les deux emacs
et le vi
mode).
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 ^W
sur 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+k
de 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+k
supprime jusqu'à la fin de la ligne . Ctrl+u
supprime la ligne entière (si le curseur est à la fin). Ctrl+d
envoie EOF. Ctrl+e
va jusqu'au bout de la ligne , etc.
bash
invi
, vous pouvez utiliserdW
pour les supprimer