Risposte:
Ciò dipende dalla shell e dalla modalità di modifica della riga di comando attiva.
Per una shell con la modalità di modifica della riga di comando di Emacs ( set -o emacs
in alcune shell), usa Alt+D(questo non funziona su macOS per qualsiasi motivo, ma stampa il carattere ∂
, usa Escdinvece).
Per un guscio con modalità Vi riga di comando di modifica ( set -o vi
in alcune shell), uso Escdw(questo fa lavoro su MacOS pure).
Per la disciplina tty line, ^W
elimina la parola delimitata da spazi bianchi precedente .
Nell'editor vi
in modalità inserimento, ^W
elimina all'indietro all'inizio della prima sequenza di alnum o non-alnum (on foo-+-bar.. baz
, prima elimina baz
, quindi ..
, quindi bar
, quindi -+-
, quindi foo
).
Nell'editor emacs
, ^W
elimina dalla posizione del cursore al segno (quello impostato con Ctrl+Space).
Alcuni editor di linee come readline
(usato da bash
, gdb
...), zle
(usato da zsh
), pdksh
quando sono in vi
modalità, si comportano come vi
al riguardo e quando in emacs
modalità si comportano come la disciplina delle tty line (non emacs
).
libedit
(utilizzato dalle shell BSD o (facoltativamente) dash
) tcsh
,, AT&T ksh
, in emacs
modalità, si comportano come emacs
dove vengono ^W
eliminati dal segno (inizialmente all'inizio del buffer).
Per eliminare una parola in avanti, vi
nell'editor, lo faresti in modalità di comando ( normale ) con dw
per eliminare all'inizio della sequenza successiva di alnum o non-alnum (o la fine della riga) e dW
per eliminare il prossima sequenza di non-spazi (il pendente della ^W
disciplina della linea tty).
Nell'editor di emacs
riga, Meta-Deliminerebbe fino alla fine della sequenza successiva di caratteri alnum. Le parole operatori di movimento ( Meta-B, Meta-F) si comportano in modo simile.
gli editor da riga di comando, quando in vi
modalità, si comportano come vi
, ma in emacs
modalità, hai due scuole principali: la tcsh
scuola e la ksh
scuola.
La ksh
scuola ( readline
, ksh
, yash
) si comporta in gran parte come emacs
( fish
's comportamento è leggermente diverso nel modo in cui tratta non alnum, caratteri non spazi bianchi in entrambi emacs
e vi
modalità).
Nella tcsh
scuola di ( tcsh
, libedit
, zsh
), i movimenti di parole si basano su parole da spazi delimitati in modo sono coerenti con la linea di tty disciplina di ^W
al riguardo.
In zsh
, il comportamento è personalizzabile con diversi stili di parole per tutti i widget di movimento delle parole.
Per readline
, puoi ottenere la tcsh
scuola (e Meta-Dcancellare lo stesso tipo di parola Ctrl-W) aggiungendo al tuo ~/.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
O d'altra parte, allineati ^W
ai widget di movimento dell'altra parola (comportati come Meta-Backscape) con:
set keymap emacs
"\C-W": backward-kill-word
Per quanto riguarda la Metachiave, vedere qui .
In Linux prova Ctrl+k
a cancellare da dove si trova il cursore alla fine della parola.
Ci sono alcune altre scorciatoie elencate di seguito (che funzionano in Linux):
Ctrl+e
-> Prende il cursore alla fine della parola.Ctrl+t
-> Cambia la posizione degli alfabeti.Ctrl+y
-> aggiunge il postfisso "hh" alla parola corrente.Ctrl+u
-> Elimina l'intera riga.Ctrl+o
-> Funziona come il tasto Invio.Ctrl+p
-> Funziona come il pulsante freccia su.Ctrl+a
-> Porta il cursore nella posizione iniziale del comando.Ctrl+d
-> Chiude il terminale.Ctrl+f
-> Sposta il cursore in avanti di un carattere.Ctrl+h
-> Funziona come il tasto Backspace.Ctrl+j
-> Funziona come il tasto Invio.Ctrl+m
-> Funziona come il tasto Invio.Ctrl+b
-> Funziona come il tasto freccia destra. 14 Ctrl+4
-> Elimina la parolaCtrl+k
cancella fino alla fine della riga . Ctrl+u
elimina l'intera riga (se il cursore si trova alla fine). Ctrl+d
invia EOF. Ctrl+e
va alla fine della linea , ecc.
bash
invi
modalità, è possibile utilizzaredW
per eliminare coloro