Supongamos que tengo lo siguiente en mi terminal:
> cp my_file_name originals/#
Donde #
representa el cursor.
¿Hay una combinación de teclas para insertar my_file_name
en la posición del cursor, para que no tenga que volver a escribirla? Soy consciente de ALT+ .para obtener el último argumento del comando anterior, ¡pero quiero el argumento anterior del comando actual!
cp myfile orginals/
hace exactamente lo mismo quecp myfile originals/myfile
?copy-prev-shell-word
:(Respuestas:
Una forma de hacerlo es mediante la expansión de llaves :
fuente
Puede usar Ctrl+ Wpara cortar el argumento y almacenarlo en su portapapeles, y luego Ctrl+ Ypara pegarlo nuevamente:
fuente
Uso complicado, pero configuración más simple:
Puede vincular una pulsación de tecla (usaré Ctrl- Q) a la
readline
copy-backward-word
función y hacer esto:Alt- 2 Ctrl- Q Ctrl- y Ctrl- Alt-h
Eso significa:
digit-argument
copy-backward-word
(copie las dos palabras anteriores)yank
(pegar)backward-kill-word
(deshacerse de la palabra extra)Para enlazar la pulsación de tecla en la línea de comando:
o agregue esto a su
~/.inputrc
:Uso más simple, pero configuración más complicada:
Usted puede hacer que secuencia de teclas de largo en una macro provocada por un golpe de teclado (utilizaré Alt- qaquí y hacer uso de la Ctrl- qunión de la anterior):
En un indicador de shell:
o en tu
~/.inputrc
:Recuerde, también deberá vincular Ctrl, qcomo se indicó anteriormente.
Ahora para copiar la palabra antes de la actual, todo lo que necesita presionar es Alt- q.
fuente
Hazlo asi:
! # es la línea actual,: 1 es el primer argumento.
fuente
Aquí hay otra forma, aunque no estoy seguro de por qué está buscando hacer lo que está tratando de hacer, ya que el nombre del archivo está implícito en su ejemplo de comando cp (y funcionaría como se esperaba).
Esto podría expandirse también para cambiar el nombre del archivo:
fuente
Podrías probar esto:
cp my_file_name
Ctrl+ WCtrl+ Y
originals/
Ctrl+YPero eso no funciona cuando ya estás al final de la línea. Quizás algo similar podría funcionar sin embargo. (y con copia, no cortada)
Editar: Trate Alt+ B, Ctrl+ W, Ctrl+ Y, End, Ctrl+ Y - un poco de una solución desordenado sin embargo!
fuente
Tengo esto en mi
~/.inputrc
:!#
es la línea actual,:$
es la última palabra y\e^
eshistory-expand-line
.fuente