Antworten:
Dies hängt von Ihrer Shell und ihrem aktiven Befehlszeilen-Bearbeitungsmodus ab.
set -o emacsVerwenden Sie für eine Shell mit Emacs-Befehlszeilen-Bearbeitungsmodus ( in einigen Shells) Alt+D(dies funktioniert unter macOS aus irgendeinem Grund nicht, sondern druckt das Zeichen ∂, verwenden Sie Escdstattdessen).
set -o viVerwenden Sie für eine Shell mit Vi-Befehlszeilenbearbeitungsmodus ( in einigen Shells) Escdw(dies funktioniert auch unter macOS).
Löscht für die Disziplin tty line ^Wdas vorherige durch Leerzeichen getrennte Wort .
Im viEditor im Einfügemodus, ^Wlöscht rückwärts zu Beginn der ersten Sequenz von alnums oder nicht-alnums (auf foo-+-bar.. baz, es zuerst Löschungen baz, dann .., dann bar, dann -+-, dann foo).
Löscht im emacsEditor ^Wvon der Cursorposition bis zur Markierung (der, mit der Sie festgelegt haben Ctrl+Space).
Einige Zeileneditoren wie readline(verwendet von bash, gdb...), zle(verwendet von zsh), verhalten sich pdkshim viModus wie viin dieser Hinsicht und im emacsModus wie die tty-Zeilendisziplin (nicht emacs).
libedit(verwendet von BSD Schalen oder (optional) dash) tcsh, AT & T ksh, in emacsModus verhalten sich wie in emacsdem ^WLöschungen auf die Markierung (zunächst am Anfang des Puffers).
Um ein Wort vorwärts zu löschen, vitun Sie dies im Editor im Befehlsmodus ( normal ), dwindem Sie bis zum Anfang der nächsten Folge von Alnums oder Nicht-Alnums (oder bis zum Ende der Zeile) dWlöschen und bis zum löschen nächste Folge von Nicht-Leerzeichen (der Anhänger der ^WDisziplin der tty-Linie).
Im emacsZeileneditor, Meta-Dwürde zum Löschen Ende der nächsten Folge von alnum Zeichen. Die Wortbewegungsoperatoren ( Meta-B, Meta-F) verhalten sich ähnlich.
Befehlszeileneditoren viverhalten sich im Modus wie vi, aber im emacsModus haben Sie zwei Hauptschulen: die tcshSchule und die kshSchule.
Die kshSchule ( readline, ksh, yash) verhält sich meist wie emacs( fishs Verhalten in etwas anders ist , wie es behandelt nicht-alnum, Nicht-Leerzeichen in beide emacsund viModus).
In der tcshSchule ( tcsh, libedit, zsh) werden auf Wort Bewegungen basieren Leerzeichen getrennte Wörter sind so mit dem tty Linie Disziplin konsequent ^Win dieser Hinsicht.
In zshist das Verhalten mit verschiedenen Wortstilen für alle Wortbewegungs-Widgets anpassbar .
Für readline, können Sie die bekommen tcshSchule (und haben Meta-Ddie gleiche Art von Wort zu löschen , wie der Ctrl-WFall ist) , indem zu Ihrem ~/.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
Oder richten Sie sich andererseits ^Wan den anderen Wortbewegungs-Widgets aus (verhalten Sie sich wie Meta-Backscape) mit:
set keymap emacs
"\C-W": backward-kill-word
Was der MetaSchlüssel ist, finden Sie dort .
Versuchen Sie unter Linux Ctrl+kzu löschen, wo sich der Cursor am Ende des Wortes befindet.
Im Folgenden sind einige andere Verknüpfungen aufgeführt (funktioniert unter Linux):
Ctrl+e -> Nimmt den Cursor am Ende des Wortes.Ctrl+t -> Ändern Sie die Position der Alphabete.Ctrl+y -> fügt dem aktuellen Wort den Postfix "hh" hinzu.Ctrl+u -> Löscht die gesamte Zeile.Ctrl+o -> Funktioniert genauso wie die Eingabetaste.Ctrl+p -> Funktioniert genauso wie die Aufwärtspfeiltaste.Ctrl+a -> Bringt den Cursor an die Startposition des Befehls.Ctrl+d -> Schließt das Terminal.Ctrl+f -> Bewegt den Cursor um ein Zeichen vorwärts.Ctrl+h -> Funktioniert genauso wie die Rücktaste.Ctrl+j -> Funktioniert genauso wie die Eingabetaste.Ctrl+m -> Funktioniert genauso wie die Eingabetaste.Ctrl+b-> Funktioniert genauso wie die Rechtspfeiltaste. 14 Ctrl+4 -> Löscht das WortCtrl+kwird bis zum Ende der Zeile gelöscht . Ctrl+ulöscht die gesamte Zeile (wenn sich der Cursor am Ende befindet). Ctrl+dsendet EOF. Ctrl+egeht bis zum Ende der Zeile usw.
bashin -viModus können Sie verwenden ,dWdiejenigen löschen