Verwenden Sie Strg + Rücktaste, um ein Wort in der Windows-Befehlszeile zu löschen.

9

Wie kann ich das ganze Wort mit Strg-Rücktaste in der Windows XP-Befehlszeile löschen? Ist das überhaupt möglich?

altern
quelle

Antworten:

5

CMD oder Powershell haben keine native Verknüpfung zum Löschen des Wortes links oder rechts. Hier sind einige Beispiele dafür, was jede Plattform leisten kann. Was Sie wahrscheinlich tun könnten, um es ein wenig einfacher zu machen, ist, die Verknüpfung zu verwenden, um zum Anfang oder Ende eines Wortes zu gelangen und mit dem Löschen oder dem Zurücksetzen zu beginnen, um das Wort zu löschen.

ngen
quelle
Ich bin mir nicht sicher, ob das mehr stimmt. STRG + Rücktaste löscht das letzte Wort in Powershell unter Win10.
deed02392
5

AHK- Code zum Replizieren der Strg + Rücktaste zum Löschen des vorherigen Wortes. Dadurch wird das vorherige Wort mit Strg + Umschalt + Links ausgewählt und anschließend auf Löschen gedrückt. Funktioniert gut genug für mich in Notepad und anderen Programmen, ist aber in Win7 etwas wackelig. Ich kann das Terminal derzeit nicht bestätigen.

^BackSpace:: ;;Delete previous word
    Send ^+{Left}{Del}
 Return
Vijay
quelle
4

Versuchen Sie dies stattdessen:

^BackSpace:: ;;Delete previous word
Send ^+{Left}
Loop, 500 {
    Send {Del}
}
Return

Die vorherige Antwort wurde geändert, indem 500 Löschungen gesendet wurden, nachdem das vorherige Wort positioniert wurde. 500 kann übertrieben sein, aber na und.

Dies ist für Autohotkey ( http://www.autohotkey.com/ ) und funktioniert in einem Cmd-Fenster. Ich füge es in meinen cmd-Fensterspezifischen Abschnitt mit dem folgenden Einfügecode ein:

#IfWinActive ahk_class ConsoleWindowClass
; Paste in command window
^V::
Send !{Space}ep
return

^BackSpace:: ;;Delete previous word
Send ^+{Left}
Loop, 500 {
    Send {Del}
}
Return

#IfWinActive
David Hoppe
quelle
Was ist, wenn sich der Cursor in der Mitte einer Zeile befindet und dem vorherigen Wort weitere Wörter folgen?
Codism
2

Wollte das schon lange! :) Ich wollte nur +1 Idee von AHK haben und eine Verbesserung des Skripts dafür vorschlagen. Ich mag ^ W zum Löschen von Wörtern, wie in Linux-Shells, also bin ich froh, dies gefunden zu haben.

Das erste Skript hat bei mir in CMD nicht funktioniert (springt ein Wort zurück und löscht dann das erste Zeichen, nicht das ganze Wort). Das nächste obige Skript war auch nicht ganz ideal. Statt 500-malige Schleifen von Del-Tastenanschlägen (die ich manchmal gefunden habe und die Löschvorgänge in ein anderes Fenster senden, wenn Sie den Fokus ändern, eek) zu senden, gibt es stattdessen die F4-Funktionalität von CMD: Eingabeaufforderungen für einen Charakter und löscht bis zu diesem Zeichen. Springen Sie also ein Wort mit Strg-Links, dann F4 gefolgt von Leerzeichen zurück, um bis zu einem Leerzeichen zu löschen. Die einzigen kleinen Nachteile sind, dass (a) das Eingabeaufforderungsfeld kurz blinkt und (b) wiederholte Wortlöschungen einen Stapel Leerzeichen hinterlassen (harmlos, aber etwas unattraktiv). Ich wollte auch ^ U (Löschen zum Zeilenanfang) und ^ A / ^ E / ^ F / ^ B Wort- / Zeichenbewegung wie Linux-Shells (obwohl sie bereits in CMD existieren, Ich berühre den Typ und ziehe es daher vor, meine Hände nicht von der Haupttastatur wegzubewegen. :) Ich habe auch in David Hoppes großartigem ^ V für Paste gehalten.

Somit:

#IfWinActive ahk_class ConsoleWindowClass
; Paste in command window
^V::
Send !{Space}ep
return

; was ^BackSpace, I prefer ^W a la linux
^W:: ;;Delete previous word
Send ^+{Left}
Send {F4}{Space}
Return

^U::   ;;erase to start of line
Send ^{Home}
Return

^A::   ;;move to start of line
Send {Home}
Return

^E::   ;;move to end of line
Send {End}
Return

^F::   ;; move one char forward
Send {Right}
Return

^B::   ;;move one char back
Send {Left}
Return
#IfWinActive
Andrew Burt
quelle
0

In der Windows-Eingabeaufforderung ist dies nicht nativ möglich.

Matthieu Cartier
quelle
0

Ich denke, es sollte besser sein, wenn Sie mehr Shift+ auswählen Left, da es das Backspce nach / vor dem Wort auswählen kann. zum Beispiel:

^w:: ;;Delete previous word
    Send ^+{Left}+{Left}
    Loop, 5 {
        Send {Del}
    }
Return
!d:: ;; Delete backward word
    Send ^+{Right}+{Rigt}
    Loop, 5 {
        Send {Backspace}
    }
Return
Marslo
quelle