Control-marcha atrás R-i-búsqueda en bash: ¿cómo “reset” en la búsqueda de Cygwin?

StackOverflow https://stackoverflow.com/questions/549810

  •  23-08-2019
  •  | 
  •  

Pregunta

Pregunta: ¿Cómo se le dice a Ctrl + r Reverse-i-búsqueda de "reiniciar en sí" y empieza a buscar desde el fondo de su historial cada vez?

Antecedentes: Cuando se utiliza revertir-i-búsqueda en Bash, que siempre se queda bloqueado una vez que se termine de buscar a través de la historia y no puedo encontrar más partidos. A veces me golpeo Esc y volver a invocar Ctrl + r una segunda vez, esperando que iniciar una nueva búsqueda fresca desde el fondo de mi historia . Sin embargo el "puntero" todavía parece estar en el lugar anterior en que se detuvo en mi historia.

El problema es, por lo general no quiero que este comportamiento. Si lo golpeo Esc , y luego volver a invocar Ctrl + r , me gustaría que para indicar que debe volver a empezar desde el fondo de nuevo y trabajar su camino hacia arriba.

Actualización:. Creo que debería haber mencionado que estoy usando Cygwin en Windows, ya que ninguno de los llamados ahora mencionado trabajo soluciones

Actualización: Esta pregunta fue marcado como un potencial pregunta duplicado . Esta pregunta no es un duplicado por las siguientes razones:

  • La pregunta alternativo no se ocupa de Cygwin.
  • La pregunta alternativo no se ocupa de cómo restablecer la búsqueda a su estado inicial (en lugar simplemente se trata de ir hacia atrás en búsqueda, así como hacia adelante).
¿Fue útil?

Solución

Nunca he intentado hacer este defecto al golpear escapar, pero Bash emplea readline para la entrada, que acepta combinaciones de teclas al estilo Emacs por defecto, por lo que puede ir a la parte inferior con M-> (por lo general, ya sea mediante la combinación de Meta / Alt y > o siguiendo la tecla escape con >).

Si M-> no funciona debido a su terminal no le permite entrar en eso, tratar ^G (Control y G al mismo tiempo). Esa es la carrera "cancelar" en Emacs y por lo general trabaja con readline también.

Otros consejos

Mi fiesta trabaja como usted está esperando. Tal vez de pulsar "Ctrl + C" en lugar de "esc" pueden ayudar.

Además, puede buscar hacia adelante usando la tecla "Ctrl + s"

editar : obras ctrl + s si no envía un "stop" a su terminal, es decir, si "-a stty" da "-ixon". Puede cambiarlo por "-ixon stty". Gracias a @Phil para el recordatorio.

¿Tienes una respuesta a esta pregunta confirmado.

Para restablecer ctrl-r, las emacs habituales tecla ctrl-g pueden hacer. Si quieres de nuevo para invertir Ctrl-R en un paso, en lugar de continuar hacia arriba desde la parte inferior, puede utilizar Ctrl-s . El truco es ctrl-s también se utiliza para hacer una pausa en el terminal. Por lo que tendría que asignar a otra tecla. Por ejemplo, el siguiente configurará pausa para ctrl-w (y mantener "hoja de vida" con ctrl-q).

$ stty STOP ^w

Alternativamente, también se puede desactivar totalmente XON / XOFF (hoja de vida / pausa) fluir caracteres de control por

$ stty -ixon -ixoff

Esto también libres en marcha ctrl-s. Para volver a activar la pausa / reanudar, puede hacerlo

$ stty ixon ixoff
M-> ... moves to end of history
M-< ... moves to start of history

Su tecla alt izquierda es más probable su clave Meta.

El hombre readline readline para buscar más directivas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top