Odpowiedzi:
Zależy to od powłoki i jej aktywnego trybu edycji wiersza poleceń.
W przypadku powłoki z trybem edycji wiersza poleceń Emacsa ( set -o emacs
w niektórych powłokach), użyj Alt+D(to nie działa na macOS z jakiegokolwiek powodu, ale drukuje znak ∂
, użyj Escdzamiast tego).
W przypadku powłoki z trybem edycji wiersza poleceń Vi ( set -o vi
w niektórych powłokach) użyj Escdw( działa to również w systemie macOS).
W przypadku dyscypliny linii tty ^W
usuwa poprzednie słowo rozdzielane spacjami .
W vi
edytorze w trybie wstawiania ^W
usuwa wstecz do początku pierwszej sekwencji alnums lub non-alnums ( foo-+-bar.. baz
najpierw usuwa najpierw baz
, potem ..
, potem bar
, potem -+-
, potem foo
).
W emacs
edytorze ^W
usuwa z pozycji kursora do znaku (ustawionego za pomocą Ctrl+Space).
Niektóre edytory liniowe, takie jak readline
(używane przez bash
, gdb
...), zle
(używane przez zsh
) pdksh
„s, gdy w vi
trybie, jak zachowywać vi
się w tym względzie, a kiedy w emacs
trybie zachowuje się jak dyscypliny linii tty (nie emacs
).
libedit
(stosowany pociskami BSD (opcjonalnie) dash
) tcsh
, AT & T ksh
, w emacs
trybie pracy zachowują się jak emacs
w którym ^W
Usuwa na znak (na początku na początku bufora).
Aby usunąć słowo do przodu, w vi
edytorze, zrobiłbyś to w trybie komend ( normalnym ) z, dw
aby usunąć na początku następnej sekwencji alnum lub nie-alnum (lub na końcu wiersza) i dW
usunąć do kolejna sekwencja niepustych znaków (wisiorek ^W
dyscypliny linii tty).
W emacs
edytorze linii Meta-Dusuwałby do końca następnej sekwencji znaków alnum. Operatory ruchu słowa ( Meta-B, Meta-F) zachowują się podobnie.
edytory wiersza poleceń, gdy są w vi
trybie, zachowują się tak vi
, ale w emacs
trybie masz dwie główne szkoły: tcsh
szkołę i ksh
szkołę.
ksh
Szkoła ( readline
, ksh
, yash
) zachowuje się głównie jak emacs
( fish
„s zachowanie jest nieco inny, w jaki traktuje non-alnum, znaki inne niż białe znaki zarówno emacs
i vi
tryb).
W tcsh
szkole ( tcsh
, libedit
, zsh
), wnioski są oparte na słowo białych słów oddzielonych więc są zgodne z tty linia dyscyplina użytkownika ^W
w tym zakresie.
W zsh
zachowanie można dostosować za pomocą różnych stylów słów dla wszystkich widżetów ruchu słów.
Dla readline
można uzyskać tcsh
w szkole (i mają Meta-Dusunąć samego rodzaju słowa jak Ctrl-Wrobi), dodając do swoich ~/.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
Lub, z drugiej strony, dopasuj ^W
do innych wyrazów widgetów ruchu (zachowaj się jak Meta-Backscape) za pomocą:
set keymap emacs
"\C-W": backward-kill-word
Jeśli chodzi o Metaklucz, zobacz tam .
W systemie Linux spróbuj Ctrl+k
usunąć z miejsca, w którym kursor znajduje się na końcu słowa.
Istnieje kilka innych skrótów wymienionych poniżej (działających w systemie Linux):
Ctrl+e
-> Pobiera kursor na końcu słowa.Ctrl+t
-> Zmień pozycję alfabetów.Ctrl+y
-> dodaje postfiks „hh” do bieżącego słowa.Ctrl+u
-> Usuwa całą linię.Ctrl+o
-> Działa tak samo jak klawisz Enter.Ctrl+p
-> Działa tak samo jak przycisk strzałki w górę.Ctrl+a
-> Ustawia kursor w pozycji początkowej polecenia.Ctrl+d
-> Zamyka terminal.Ctrl+f
-> Przesuwa kursor o jeden znak do przodu.Ctrl+h
-> Działa tak samo jak klawisz Backspace.Ctrl+j
-> Działa tak samo jak klawisz Enter.Ctrl+m
-> Działa tak samo jak klawisz Enter.Ctrl+b
-> Działa tak samo jak klawisz strzałki w prawo. 14 Ctrl+4
-> Usuwa słowoCtrl+k
usuwa się do końca linii . Ctrl+u
usuwa całą linię (jeśli kursor znajduje się na końcu). Ctrl+d
wysyła EOF. Ctrl+e
idzie na koniec linii itp.
bash
wvi
trybie, można użyćdW
do usunięcia tych