Dirección de búsqueda de texto en Vim

10

Después de buscar "foo" haciendo "? Foo", puedo buscar hacia adelante por "n" o hacia atrás por "N", sin embargo, a veces las direcciones n / N se invierten en el medio de la búsqueda. Si reinicio Vim, está bien nuevamente. ¿Qué secuencia de teclas puedo haber presionado para causar esto? ¿Cómo volver al modo normal?

No recuerdo haberme encontrado con esto en el viejo Vi.

EDITAR: no es la tecla Bloq Mayús. Gracias por la sugerencia sin embargo.

grokus
fuente
¿Supongo que no es solo la envoltura al final / principio del archivo? ¿O tal vez escribiste * o algo que invierte la búsqueda? Sé que involuntariamente lo hago mucho tiempo.
Dave Vogt el
@Dave Vogt, no es solo el final / comienzo del archivo. Acabo de probar " ", tienes razón, si presiono " " Puedo cambiar / corregir la dirección de búsqueda. Si pones una respuesta, la votaré y la aceptaré. Gracias.
grokus

Respuestas:

11

Esto puede suceder si comenzaste a buscar hacia atrás ?foobary presionaste /en el medio. Ahora estás buscando hacia adelante , entonces, ny Ncambias en relación con lo que solías tener. Lo mismo sucederá si comenzaste /y presionaste ?en el medio.

Nathan Fellman
fuente
Señor, tienes razón. Acabo de probar lo que dijiste. ¿Podría decirme qué papel desempeña "*" en este medio?
grokus
1
@grokus: *significa buscar hacia adelante cualquier palabra debajo del cursor.
Daenyth
@Daenyth, gracias. Siempre pensé que no era tan malo con Vim. (Podría hacer las cosas) Hoy estoy reconsiderando mi posición.
grokus
y para seguir a @Daenyth, puede buscar hacia atrás cualquier palabra que esté debajo del cursor usando #. Estos coincidirán solo en la palabra completa. Para buscar la palabra debajo del cursor, incluso dentro de otras palabras, useg*
Nathan Fellman el
3

Suena estúpido, pero ¿revisaste Caps-Lock?

Chen Levy
fuente
Sí, lo hice. Estaba en la posición "apagado". He visto este comportamiento muchas veces, así que finalmente estaba harto y decidí llegar al fondo de esto.
grokus
0

Nathan ya ha contestado por qué sucede esto, pero si se utiliza ambas direcciones con regularidad y desea nque siempre mirar hacia adelante y Npara siempre mirar hacia atrás, no importa la forma que ha buscado, se puede poner esto en su .vimrc:

nmap n /<CR>
nmap N ?<CR>

/y ?sin parámetros, realice la última búsqueda, en sus respectivas direcciones (absolutas).

Fondo de la demanda de Mónica
fuente