Suponga que en bash comienza a escribir un comando como:
$ rm -rf /foo/bar/really/long/path/here
y luego te das cuenta de que no quieres ejecutar esto después de todo. ¿Hay alguna manera de borrar la entrada con una o dos pulsaciones de teclas?
Lo que he estado haciendo últimamente es anteponer eco y encerrar la entrada entre comillas (Ctrl + A echo "
,, Ctrl + E, "
) y luego presionar enter. ¿Hay una manera mas rápida?
Respuestas:
Presione Ctrl- Upara borrar todo antes del cursor. El comando eliminado se almacenará en un búfer. Presione Ctrl- Ypara pegar el comando eliminado.
(Opcional: presione Endo Ctrl- Epara saltar primero al final de la entrada).
Alternativamente, presione Ctrl- Cpara cancelar lo que está escribiendo.
fuente
stty -a
. Y eso funcionará con cualquier programa que no esté modificando activamente los controles del terminal.Prueba Ctrl+ U. Eso despeja la línea de entrada.
fuente
Encontré una breve referencia en http://www.ice2o.com/bash_quick_ref.html mientras buscaba .
ctrl+ e(si no está al final de la línea) más ctrl+ ulo hará.
fuente
Ctrl- U, Ctrl- Khace el truco también.
Ctrl- Uelimina todo desde el principio de la línea hasta el cursor, Ctrl- Kelimina todo desde el cursor hasta el final de la línea. (A veces es útil usar solo uno de ellos).
fuente
Hay dos opciones para hacer esto.
ctrl+ c- esto borra toda la línea, sin importar dónde esté el cursor.
ctrl+ u- esto borra la línea desde la posición del cursor hasta el comienzo.
fuente
Un buen atajo está presionando Esc#. Antepondrá un
#
carácter (haciendo de la línea un comentario) y luego presione Intro. Si luego decides que aún necesitas el comando, aún lo tienes en tu historial :)fuente
Al presionar Escmás Backspaceen bash se borrará todo hasta la posición del cursor.
(En Cygwin, esto borrará la entrada hasta la siguiente palabra. Las palabras están separadas por espacios, guiones bajos, ...)
fuente
Tenga en cuenta que usar Ctrl- U(o Ctrl- Ey luego Ctrl- U) almacenará lo que borre en un búfer para que luego pueda pegarlo usando Ctrl- Y.
fuente
Si está utilizando Bash en modo vi (configúrelo con
set -o vi
), presione Escpara cambiar al modo normal de vi y escribadd
para eliminar la línea actual.fuente
Esta es una expansión de la respuesta de knittl que almacena la línea en el historial de la consola con un hash como prefijo. Superar los inconvenientes del portapapeles, como sobrescribir accidentalmente o no poder ver la línea de corte como referencia.
Línea de comentarios y nuevo aviso
Use cualquiera de los atajos de teclado:
Un carácter hash
#
se antepondrá a la línea, convirtiendo así toda la línea en un comentario. También devolverá una nueva solicitud, como si el usuario hubiera presionado enter. p.ejRecuperar línea comentada
Para recuperar la línea anterior del historial de la consola, use uno de los siguientes accesos directos:
Repita el atajo de teclado hasta que aparezca la línea deseada.
Eliminación rápida de prefijo hash
Para eliminar el
#
prefijo hash de la línea, hay algunas opciones diferentes disponibles:Elimine el primer carácter e inmediatamente ejecute el comando:
Mueva el cursor para comenzar y eliminar el primer carácter, sin ejecutar el comando:
fuente
Para eliminar la línea actual, intente:
Ctrl- X, Ctrl-U
Como alternativa, puede usar:
Esc-D
que requiere en ~ / .inputrc:
ver: http://codesnippets.joyent.com/posts/show/1690
fuente
"\e\e": kill-whole-line
(debe presionar dos