La cuestión
Utilizo mucho el autocompletado del historial, ya sea con up-arrow
o escribiendo las primeras letras y completando todo el comando incluyendo todos los argumentos (opciones y otros) con right-arrow
.
A menudo tengo que ejecutar el mismo comando varias veces en el mismo archivo pero con diferentes opciones. Sin embargo, al pulsar up-arrow
o right-arrow
, completo a la fin del comando y es más rápido escribirlo todo manualmente que llevar el cursor a las opciones, editar y volver a introducir.
Básicamente, me gustaría saber si hay alguna forma de utilizar el autocompletado para volver a introducir un comando desde el historial pero devuelve el cursor a la primera opción/argumento . Alternativamente, un atajo de teclado para rellenar los argumentos restantes como anteriormente después de escribir uno diferente.
Por ejemplo
Opción 1
Escribo y entro:
$ command -opt1 reallyverylongindeedarg1
Al pulsar la flecha hacia arriba se produce $ command -opt1 reallyverylongindeedarg1
con mi cursor al final de la línea.
Me gustaría tener un atajo de teclado diferente que me haga tener el cursor en algún lugar alrededor de -opt1
así que puedo cambiarlo por -differntopt2
y volver a ejecutar el comando que ahora se leerá:
$ command -differntopt2 really.verylong.indeed.arg1
O bien, habiendo tecleado y ejecutado previamente:
$ command -opt1 really.verylong.indeed.arg1
Escribir en comman
y luego golpear right-arrow
completa el comando completo $ command -opt1 reallyverylongindeedarg1
(de nuevo con el cursor al final de la línea). Me gustaría saber si hay un atajo de teclado para saltar al primer argumento/opción cuando se autocompleta.
Opción 2
Otro método sería que mi escribiera $ command -differntopt2
luego presione la flecha derecha para rellenar el argumento really.verylong.indeed.arg1
como la última vez que ejecuté este comando. El resultado es:
$ command -differntopt2 really.verylong.indeed.arg1
¿Qué tal si sólo navegas con el teclado y saltas hacia atrás por palabras?
Bueno, en primer lugar, eso está lejos de ser lo ideal, ya que los argumentos tienen muchos signos de puntuación, por lo que cada uno lleva varias (y diferentes números de) pulsaciones de teclas y es lento retroceder el número correcto de palabras cada vez para llegar a la opción que quiero editar.
En segundo lugar, no encuentro la forma de configurar los atajos de teclado normales para navegar hacia adelante y hacia atrás por palabra.
En iTerm2 he probado:
Secuencias de escape como [1;5D
, [1;5C
, \033b
, \033f
etc.
Escribir manualmente Esc
, F
y Esc
, B
funciona pero es muy lento. Ctrl + A
para ir al principio de la línea selecciona todo. Ctrl + <-
y Ctrl + ->
sólo producir [D
y [C
.
tl;dr
- ¿Cómo puedo autocompletar y terminar con el cursor en el primer argumento en lugar de al final de la línea?, o,
- ¿Cómo puedo configurar atajos de teclado para saltar hacia adelante y hacia atrás por argumento en iTerm2?