Robię Ctrl+W
w terminalu mac, aby usunąć słowo (usuwa miejsce, w którym znajduje się kursor na początku słowa)
Jak zrobić odwrotnie - usuwa miejsce, w którym znajduje się kursor do końca słowa?
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).
bash
wvi
trybie, można użyćdW
do usunięcia tychW 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 najpierwbaz
, potem..
, potembar
, potem-+-
, potemfoo
).W
emacs
edytorze^W
usuwa z pozycji kursora do znaku (ustawionego za pomocą Ctrl+Space).Niektóre edytory liniowe, takie jak
readline
(używane przezbash
,gdb
...),zle
(używane przezzsh
)pdksh
„s, gdy wvi
trybie, jak zachowywaćvi
się w tym względzie, a kiedy wemacs
trybie zachowuje się jak dyscypliny linii tty (nieemacs
).libedit
(stosowany pociskami BSD (opcjonalnie)dash
)tcsh
, AT & Tksh
, wemacs
trybie pracy zachowują się jakemacs
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) idW
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ę takvi
, ale wemacs
trybie masz dwie główne szkoły:tcsh
szkołę iksh
szkołę.ksh
Szkoła (readline
,ksh
,yash
) zachowuje się głównie jakemacs
(fish
„s zachowanie jest nieco inny, w jaki traktuje non-alnum, znaki inne niż białe znaki zarównoemacs
ivi
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
:Lub, z drugiej strony, dopasuj
^W
do innych wyrazów widgetów ruchu (zachowaj się jak Meta-Backscape) za pomocą:Jeśli chodzi o Metaklucz, zobacz tam .
źródło
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. 14Ctrl+4
-> Usuwa słowoźródło
Ctrl+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.