¿Hay alguna manera de usar ctrl-r después de escribir parte del comando en bash?
13
En bash, el comando Ctrl+ res muy útil, escribo Ctrl+ rwhatevery busca en mi historial comandos que contengan la palabra whatever. Pero si escribo whatevery me doy cuenta de que me gustaría buscar esa palabra y presionar Ctrl+ rno pasa nada.
¿Hay alguna manera de presionar una tecla y hacer que se comporte como si hubiera escrito Ctrl+ en rwhateverlugar de whateverCtrl+ r?
Tengo lo siguiente en mi .inputrc:
"\C-p": history-search-backward
pero esto solo funciona si el comienzo de la línea es el mismo.
Puede buscar el historial de bash usando lo que ya ha escrito fácilmente.
Supongamos que acaba de escribir curl -I http://superuser.comy olvidó escribir Ctrl+ rprimero:
$ curl -I http://superuser.com
Si desea hacer una búsqueda i en su historial, primero vaya al principio de la línea ( Ctrl+ a), ingrese i-search ( Ctrl+ r) y escriba Ctrl+ y. Esto debería buscar utilizando el contenido de todo el texto que ya escribió:
No estoy seguro de si es un problema con mi configuración, pero después de c-rescribir c-y, no pego nada allí. Si escribo c-ypor sí solo Pega el texto, por lo que no es posible combinar los dos comandos ...
skeept
¿Vas al principio de la línea primero? (Ca)
hso
1
Tienes razón, no iba a principio de línea. ¡Ahora tengo en mi .inputrc "\C-xr": "\C-a\C-r\C-y"y funciona muy bien! Gracias por esta respuesta
guardado el
¡Creo que es la tercera vez que busco en Google esto control+a control+r control+y! Gracias esta respuesta siempre está aquí! :)
Dr Beco
2
Ahorre cuatro golpes:
Evite un segundo Ctrl-Ragregando a su .bashrc(o a su .inputrcsi lo prefiere):
Todavía no me queda claro por qué Cy pega el comando en el campo de búsqueda (se supone que Ca no es un comando de "copia", ¿verdad?) Y por qué Cw pega solo la primera palabra.
marcus
sí, C-ano solo se mueve, sino que memoriza (copia) el contenido movido.
Dr Beco
No puedo confirmar ese comportamiento (solo prueba Ca Cy), creo que es más probable que Cr tenga algunos casos especiales incorporados, pero no sé dónde están documentados.
c-r
escribirc-y
, no pego nada allí. Si escriboc-y
por sí solo Pega el texto, por lo que no es posible combinar los dos comandos ..."\C-xr": "\C-a\C-r\C-y"
y funciona muy bien! Gracias por esta respuestacontrol+a control+r control+y
! Gracias esta respuesta siempre está aquí! :)Ahorre cuatro golpes:
Evite un segundo
Ctrl-R
agregando a su.bashrc
(o a su.inputrc
si lo prefiere):Esto asignará ALT-R a CTR-A CTR-R CTR-Y CTR-R
Descripción:
\C-xr
( CTR-X CTR-R )fuente
C-a
no solo se mueve, sino que memoriza (copia) el contenido movido.