Supongamos que en bash de empezar a escribir un comando como:

$ rm -rf /foo/bar/really/long/path/here

y, a continuación, darse cuenta de que usted no desea ejecutar esta, después de todo. Hay una forma de borrar la entrada con uno o dos pulsaciones de teclas?

Lo que he estado haciendo últimamente está anteponiendo el eco y adjuntando la entrada en comillas (Ctrl+a, echo ", Ctrl+E, "), a continuación, pulsar intro. Es allí una manera más rápida?

  • O bien, supongamos que pegar un comando, y darse cuenta de que estaba equivocado-liner. La tecla de retroceso se hace realmente viejo después de cerca de 20 caracteres!
  • <kbd>Ctrl</kbd>-<kbd>C</kbd>, si desea mantener la historia consulte stackoverflow.com/a/9679852/6521116
InformationsquelleAutor user85509 | 2009-06-29

11 Comentarios

  1. 276
    1. Pulse CtrlU borrar todo antes de que el cursor. El borrado de comandos se almacenan en un búfer. Pulse CtrlY para pegar el borrado de comandos.

      (Opcional: Pulse Final o CtrlE para pasar a la final de la entrada de la primera.)

    2. Alternativamente, presione CtrlC para anular lo que está escribiendo.

    • Hay una advertencia: Ctrl-C va a matar a los de la petición actual, iniciar un nuevo símbolo del sistema, y establecer el código de retorno a 1.
    • No se acostumbran a eso, use Ctrl-U. Ctrl-C no es tan malo en bash, pero si usted tiene por ejemplo un cliente de mysql símbolo del sistema, Ctrl-C se desconectará del servidor que es realmente molesto.
    • Tenga en cuenta que en muchos sistemas, también hay una terminal de ‘matar’ personaje que mata a la entrada hasta ahora. A menudo, esto es control-X. Usted puede consultar con stty -a. Y que va a trabajar con cualquier programa que no está activamente la modificación de la terminal de controles.
    • Ctrl-a, seguido por un Ctrl-K también funciona. El ‘muerto’ de texto que se almacena y se puede pegar con Ctrl-Y. Estas pulsaciones de teclas en el hecho de venir de la línea de lectura de la biblioteca: cnswww.cns.cwru.edu/php/chet/readline/rluserman.html .. así que usted puede encontrar en cualquier herramienta de la interfaz de usuario utiliza la biblioteca (en Realidad, Emacs, bash, etc..). Usted puede personalizar su comportamiento, mediante la edición de el .inputrc archivo (echa un vistazo a el enlace de arriba para obtener más detalles).
  2. 93

    Probar Ctrl+U. Que borra la línea de entrada.

    • Gracias, casi me aceptan esto como la respuesta. Pero me he encontrado con que sólo se borra la entrada antes del cursor. En algunos casos, yo estoy en el medio de la edición del comando, así que prefiero recordar Ctrl+C en lugar de Ctrl+U simplemente como «descartar la entrada de corriente».
    • Si se utilizan bajo Zsh se borrará la línea 🙂
  3. 21

    CtrlU, CtrlK ¿el truco también.

    CtrlU borra todo, desde el comienzo de la línea hasta el cursor, CtrlK borra todo, desde el cursor hasta el final de la línea. (A veces es útil el uso de sólo uno de ellos.)

  4. 13

    Hay dos opciones para hacer esto

    ctrl+c – esto borra toda la línea, no importa donde se encuentra el cursor.

    ctrl+u – esta clara la línea desde la posición del cursor hasta el principio.

    • «Considerar que el uso de C-u (o C-e y luego C-u) se guarde lo que claro en un búfer de modo que usted puede pegar a continuación, más adelante, el uso de C-y». Markisisme un simple comando único es ctrl+_. stackoverflow.com/questions/1056440/… contestada por juan kug-sólo comenzó a stackoverflow no tiene suficientes puntos para agregar un comentario a la respuesta que.
  5. 9

    Un buen atajo está presionando Esc#. Se antepondrá un # carácter (lo que hace la línea en un comentario) y, a continuación, presione entrar. Si usted decide que usted todavía necesita el comando, usted todavía tiene en su historia 🙂

    • En la mayoría de los terminales, este es también el mismo que Alt+#, que hace de él uno (chorded) pulsación de tecla.
    • Un simple pero ingeniosa solución y creo que esta es la manera más sencilla de la cancelación de la orden. Exactamente lo que yo estaba buscando 🙂
  6. 9

    Pulsando Esc más Retroceso en 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 en blanco, caracteres de subrayado, …)

  7. 3

    Considerar que el uso de CtrlU (o CtrlE y, a continuación, CtrlU) se guarde lo que claro en un búfer de modo que usted puede pegar a continuación, más tarde con CtrlY.

  8. 3

    Esta es una expansión de knittl la respuesta que almacena la línea en la consola de la historia con el prefijo con un hash. La superación de los inconvenientes de los portapapeles, tales como la sobreescritura accidental o ser incapaz de ver el corte de la línea de referencia.

    Línea de comentario & Return New Símbolo de

    Utilizar cualquiera de las teclas de acceso directo:

    • Esc,#
    • Alt+#

    Un hash de carácter # se antepone a la línea, y, por tanto, en toda la línea en un comentario. También regresará de nuevo el mensaje, como si entrar fue presionado por el usuario. por ejemplo,

    $ #rm -rf /foo/bar/really/long/path/here
    $

    Recuperar La Línea Comentada

    Para recuperar la vieja línea de la consola de la historia utilice uno de los siguientes métodos abreviados de teclado:

    • Hasta
    • Ctrl+p

    De repetición de tecla de acceso directo hasta la línea deseada aparezca.


    Rápido Hash Prefijo De Eliminación De

    Para quitar la línea del hash # prefijo hay varias opciones disponibles:

    Quitar primer carácter e inmediatamente ejecutar el comando:

    • Esc,1,Esc,#
    • Alt+-, Alt+#

    Mover el cursor al inicio y quitar primer carácter, sin ejecutar el comando:

    • Inicio, Eliminar
    • Ctrl+un, Ctrl+d
  9. 2

    Si usted está usando Bash en vi el modo de (conjunto con set -o vi), a continuación, presione Esc para cambiar al modo normal de vi, y el tipo dd para borrar la línea actual!

Dejar respuesta

Please enter your comment!
Please enter your name here