¿Usar Ctrl + Retroceso para eliminar la palabra en la línea de comando de Windows?


Respuestas:


5

CMD o Powershell no tienen un acceso directo nativo para eliminar la palabra a la izquierda o la derecha. Aquí hay algunos ejemplos de lo que puede hacer cada plataforma. Lo que probablemente podría hacer para que sea un poco más fácil es usar el atajo para moverse al principio o al final de una palabra y comenzar a eliminar o retroceder para eliminar la palabra.


Ya no estoy seguro de que esto sea exacto. CTRL + Retroceso elimina la última palabra en Powershell en Win10.
deed02392

5

Código AHK para replicar la funcionalidad Ctrl + Retroceso para eliminar la palabra anterior. Lo que esto hace es seleccionar la palabra anterior con Ctrl + Shift + Izquierda, y luego presiona eliminar. Funciona lo suficientemente bien para mí en el bloc de notas y otros programas, aunque es un poco inestable en win7. No puedo confirmar la terminal en este momento.

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

4

intente esto en su lugar:

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

modificó la respuesta anterior enviando 500 eliminaciones después de posicionarse en la palabra anterior. 500 puede ser excesivo, pero ¿y qué?

esto es para autohotkey ( http://www.autohotkey.com/ ) y funciona en una ventana cmd, lo puse en la sección específica de mi ventana cmd con el código de pegar de esta manera:

#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

¿Qué pasa si el cursor estaba en el medio de una línea y hay más palabras después de la palabra anterior?
Codismo

2

He estado esperando esto por mucho tiempo! :) Solo quería hacer +1 en la idea de usar AHK, y sugerir una mejora para el script. Me gusta ^ W para borrar palabras, como en los shells de Linux, así que me alegro de haberlo encontrado.

El primer guión no me funcionó en CMD (salta una palabra y luego borra el primer carácter, no toda la palabra). El siguiente script anterior tampoco era del todo ideal, por lo que en lugar de hacer un bucle, por ejemplo, 500 veces enviando pulsaciones de teclas Del (que encontré a veces se desborda y envía eliminaciones a otra ventana si cambia el foco, eek), en cambio, está la funcionalidad F4 de CMD: mensajes para un personaje y elimina hasta ese personaje. Entonces, retroceda una palabra con Ctrl-Izquierda, luego F4 seguido de Espacio, para borrar hasta un espacio. Los únicos inconvenientes menores son que (a) muestra brevemente el cuadro de aviso y (b) los borrados repetidos de palabras dejan una pila de espacios (inofensivo pero poco atractivo). También quería ^ U (borrar hasta el inicio de la línea) y ^ A / ^ E / ^ F / ^ B movimiento de palabra / char como conchas de linux (aunque ya existen en CMD, Toco escribir, así que prefiero no alejar las manos del teclado principal). :) También mantuve en el gran ^ V de David Hoppe para pegar.

Así:

#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

Creo que debería ser mejor si selecciona más Shift+ Left, porque puede seleccionar el espacio de respaldo después / antes de la palabra. por ejemplo:

^w:: ;;Delete previous word
    Send ^+{Left}+{Left}
    Loop, 5 {
        Send {Del}
    }
Return
!d:: ;; Delete backward word
    Send ^+{Right}+{Rigt}
    Loop, 5 {
        Send {Backspace}
    }
Return
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.