2009-04-12 18 views
48

me gustaría tener la siguiente búsqueda en Vim demasiado¿Cómo buscas a través del historial de comandos de vim?

(reverse-i-search)`': 

Introduzca una palabra de la orden anterior, y se obtiene el comando completo.

sé la herramienta historia cronológica en Vim

q: 

Sin embargo, no es tan útil como la búsqueda hacia atrás.

¿Cómo se puede tener una búsqueda inversa similar en Vim que en la terminal?

+0

@Masi: ¿por qué no es tan útil? aún puede buscar en ese historial, por lo que es más poderoso – sumek

+0

la implementación de una imitación de búsqueda inversa en realidad es bastante simple, consulte mi respuesta a continuación. –

Respuesta

62

Ingrese las primeras letras de su comando anterior y presione <Arriba> flecha (o Ctrl + p).

:set li<up> 
:set lines=75 

No se olvide de comprobar la opción de la historia y la puso a un valor lo suficientemente grande

:set history=1000 
+0

Si tiene un Visor en Mac, intente: establecer líneas = 48, en su lugar. Por alguna razón, la ventana se expande demasiado con 75 líneas. –

+0

75 es solo por ejemplo, pero gracias por Visor. No sabía sobre esto aunque nunca necesito uno. ¡Pero me gusta! –

+0

No uso un terminal Vim sino MacVim. –

11

Aquí están los documentos para Vim's commandline history, también vea esta parte de los documentos en Vim's commandline history que cubre los enlaces de teclas mientras está en el historial. Parece que puedes decir :foo y luego presionar la flecha hacia arriba para encontrar el último comando que comenzó con foo.

58

Tipo q: en el modo normal para abrir la ventana de comandos. Puede buscar/editar aquí usando comandos vim regulares. Comienzas en modo Normal. Presione Enter para ejecutar un comando.

Este enfoque le permite buscar en todo el comando, no solo al principio de la línea.

+3

Ahora sé por qué a veces obtengo el historial de comandos en lugar de salir de un buffer o vim. – sargas

5

que estaba buscando para esto también (por fin después de preguntarse por qué no fue incorporado desde hace algún tiempo) y decidió que no podía resistir a azotar encima de una puesta en práctica, así que aquí vamos: https://github.com/goldfeld/ctrlr.vim

Se debería funcionar igual que el intérprete de comandos, bueno, todavía faltan algunas cosas básicas (como presionar^R nuevamente para saltar a la próxima coincidencia), pero todo lo que uso está en este primer lanzamiento, y planeo agregar el resto en el próximas semanas a medida que tenga tiempo.

Cuestiones relacionadas