Método abreviado de teclado para almacenar el comando escrito y limpiar la línea

12

Usted conoce la situación: está a medio camino de escribir un comando largo (por ejemplo, un mensaje de confirmación) y se da cuenta de que ha olvidado ejecutar algún comando de requisito previo que no se puede agregar &&. Normalmente, cuando eso me sucede, selecciono lo que he escrito con el mouse, lo copio al portapapeles, presiono Ctrl-U para borrar la línea, ejecuto mi comando de requisito previo y pego el portapapeles. ¿Pero tal vez hay una mejor manera, preferiblemente sin necesidad de usar el mouse? Estoy buscando soluciones para bash y / o zsh.

chiborg
fuente

Respuestas:

20

Después de haber usado CTRL-U, puede usar CTRL-Y para pegar lo que ha borrado. Funciona después de borrar una palabra o varias palabras con CTRL-W también.

Tenga en cuenta de esta manera que realmente no necesita copiar nada en el portapapeles o seleccionarlo con el mouse: CTRL-U en realidad tira de la línea a un portapapeles separado, por así decirlo.

Eduardo Ivanec
fuente
5

Agregue un '#' al comienzo de su línea actual. Presiona enter para agregar el comentario a tu historial. Ejecute el comando de requisito previo. Ir al comando anterior y eliminar el #.

Glenn Jackman
fuente
5

Esto se preguntó y discutió recientemente en el sitio Unix y Linux de SE. Mi respuesta explicó que si usa zsh como su shell, puede usar la función de línea de inserción para guardar su comando en progreso, ejecutar otra cosa, entonces su primer comando regresará y podrá finalizarlo. En .zshrc:

bindkey '^L' push-line

Luego use Ctrl+ Lpara suspender el comando actual y volver a él después de ejecutar otra cosa.

Se dieron varias otras respuestas, incluida la configuración de cómo hacer algo similar en bash y algunas versiones personalizadas de este incorporado en zsh.

Caleb
fuente
0

Puede hacerlo Shift-Alt-3para comentar la línea actual e ir a la siguiente. A continuación, se pulsa up, Ctrl-e, Dely tadam!

Minero
fuente