Utilizzare Ctrl + Backspace per eliminare la parola nella riga di comando di Windows?


Risposte:


5

CMD o Powershell non ha un collegamento nativo per eliminare la parola a sinistra o a destra. Ecco alcuni esempi di ciò che ogni piattaforma può fare. Quello che probabilmente potresti fare per renderlo un po 'più semplice è usare la scorciatoia per spostarti all'inizio o alla fine di una parola e iniziare a cancellare o backspacing per eliminare la parola.


Non sono più sicuro che questo sia più accurato. CTRL + Backspace cancella l'ultima parola in Powershell su Win10.
deed02392,

5

Codice AHK per replicare la funzionalità Ctrl + Backspace per eliminare la parola precedente. Ciò che fa è selezionare la parola precedente con Ctrl + Maiusc + Sinistra, quindi premere Elimina. Funziona abbastanza bene per me in Blocco note e altri programmi, anche se è un po 'traballante in Win7. Impossibile confermare per il terminale in questo momento.

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

4

prova questo invece:

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

ha modificato la risposta precedente inviando 500 eliminazioni dopo il posizionamento nella parola precedente. 500 possono essere eccessivi, ma che importa.

questo è per autohotkey ( http://www.autohotkey.com/ ) e funziona in una finestra cmd, l'ho messo nella mia sezione specifica della finestra cmd con il codice incolla come questo:

#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

Cosa succede se il cursore si trovava nel mezzo di una linea e ci sono più parole che seguono la parola precedente?
Codismo,

2

Lo desideravo da molto tempo! :) Volevo solo fare +1 sull'idea di usare AHK e suggerire un miglioramento alla sceneggiatura. Mi piace ^ W per la cancellazione delle parole, come nelle shell Linux, quindi sono contento di averlo trovato.

La prima sceneggiatura non ha funzionato per me in CMD (salta indietro di una parola e cancella il primo carattere, non l'intera parola). Il prossimo script sopra non era nemmeno l'ideale, quindi piuttosto che eseguire il loop, ad esempio, 500 volte l'invio di sequenze di tasti Del (che ho trovato a volte si rovescia e invia eliminazioni in un'altra finestra se si cambia lo stato attivo, eek), invece c'è la funzionalità F4 di CMD: Prompt per un personaggio ed elimina fino a quel personaggio. Quindi, salta indietro di una parola con Ctrl-Sinistra, quindi F4 seguito da Spazio, per eliminare fino a uno spazio. L'unico lato negativo è che (a) fa lampeggiare brevemente la finestra del prompt, e (b) le parole ripetute cancellano un mucchio di spazi (innocuo ma un po 'poco attraente). Volevo anche ^ U (cancella l'inizio della riga) e ^ A / ^ E / ^ F / ^ B movimento parola / carattere come shell Linux (anche se esistono già in CMD, Tocco il tipo quindi preferisco non allontanare le mani dalla tastiera principale). :) Ho anche tenuto in grande ^ V per incollare di David Hoppe.

Così:

#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


0

Penso che dovrebbe essere meglio se selezioni più Shift+ Left, perché può selezionare la backspce dopo / prima della parola. per esempio:

^w:: ;;Delete previous word
    Send ^+{Left}+{Left}
    Loop, 5 {
        Send {Del}
    }
Return
!d:: ;; Delete backward word
    Send ^+{Right}+{Rigt}
    Loop, 5 {
        Send {Backspace}
    }
Return
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.