Je fais Ctrl+W
dans le terminal mac pour supprimer un mot (supprime l'endroit où se trouve le curseur jusqu'au début du mot)
Comment faire l'inverse - supprime l'endroit où se trouve le curseur à la fin du mot?
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).
bash
invi
, vous pouvez utiliserdW
pour les supprimerPour 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'abordbaz
, puis..
, puisbar
, puis-+-
, puisfoo
).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é parbash
,gdb
...),zle
(utilisé parzsh
),pdksh
sont envi
mode, se comportent commevi
à cet égard et lorsqu'ils sont enemacs
mode se comportent comme la discipline de ligne tty (pasemacs
).libedit
(utilisé par les shells BSD ou (en option)dash
),tcsh
AT&Tksh
, enemacs
mode, se comportent commeemacs
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 ) avecdw
pour supprimer au début de la prochaine séquence d'alnums ou de non-alnums (ou à la fin de la ligne) etdW
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 commevi
, mais enemacs
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 tempsemacs
(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 deuxemacs
et levi
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
:Ou d'un autre côté, alignez-vous
^W
sur les autres widgets de mouvement de mot (comportez-vous comme Meta-Backscape) avec:En ce qui concerne la Metaclé, voyez- y .
la source
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. 14Ctrl+4
-> Supprime le motla source
Ctrl+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.