Digamos que escribí un comando en la terminal 'mv * .jpg .. \ photos' y, mientras escribo, me doy cuenta de que ya no quiero ejecutar este comando. Solo quiero eliminar toda la declaración. No quiero borrar toda la pantalla o borrar el historial de bash, solo quiero abortar la línea actual y borrarla.
¿Hay un atajo de teclado o tengo que eliminar cada carácter?
Muchos programas que esperan a que escriba una línea de comando y luego la ejecutan, incluido bash, toman Ctrl+ Cpara significar "Abortar la tarea actual y volver al indicador principal".
Algunos programas, incluido bash, toman Ctrl+ U( comando Borrar del terminal en OS X ) para significar "borrar el comienzo de la línea, hasta el cursor" (o "borrar toda la línea").
En bash, las diferencias observables entre Ctrl+ Cy Ctrl+ Uincluyen:
A veces, desea dejar de escribir un comando pero ingresarlo en el historial del shell para ejecutarlo más tarde. Un truco útil es poner un
#
al principio de la línea y ejecutarlo: dado que la línea ahora es un comentario, no hará nada. En bash, hay un atajo de una sola tecla: Alt+ #.fuente
Hay una
readline
función que probablemente no está vinculada a una pulsación de tecla llamadakill-whole-line
que matará toda la línea en lugar de solo matar la parte anterior al cursor (unix-line-discard
que es un nombre poco apropiado y está vinculado a Ctrl- u).Puede vincular eso a cualquier pulsación de tecla disponible. Me gusta ShiftAlt, Uya que es una función relacionada. Esa combinación de teclas puede estar vinculada, lo
do-lowercase-version
que significa que hace lo que haga la versión no modificada (en este casoupcase-word
). Como realmente no necesitamos dos claves para hacerlo, usemos esa.Puede probarlo en la línea de comando creando el enlace de esta manera:
o hacerlo persistente poniendo esta línea en su
~/.inputrc
archivo:Para deshacer un Ctrl- uo ShiftAlt- U(o cualquier operación que se pueda deshacer), presione Ctrl- Shift- _(guión bajo) o Ctrl- x Ctrl- u(dos pulsaciones de teclas). O puede volver a pegar (tirar) lo que mató presionando Ctrl, lo yque puede repetirse si desea varias copias de ese texto.
Por cierto, si desea eliminar el texto desde el cursor hasta el final de la línea, puede presionar Ctrl- k. Entonces, en lugar de hacer el enlace descrito anteriormente, puede eliminar una línea completa presionando Ctrl- u Ctrl- k. Solo la parte eliminada por la segunda de esas pulsaciones de teclas se guardará en el búfer de eliminación, pero aún puede deshacer dos veces para recuperarlos.
fuente