2009-04-12 14 views
48

Vorrei avere la seguente ricerca in Vim troppoCome si effettua la ricerca nella cronologia dei comandi di vim?

(reverse-i-search)`': 

Inserisci una parola del comando precedente, e si ottiene il comando completo.

so lo strumento cronologico la storia in Vim

q: 

Tuttavia, non è che utile come la ricerca inversa.

Come si può avere una ricerca inversa simile in Vim come nel terminale?

+0

@Masi: perché non è così utile? puoi ancora cercare in quella cronologia in modo da rendere più potente l'implementazione di un'imitazione per la ricerca inversa: in realtà l' – sumek

+0

è piuttosto semplice, controlla la mia risposta qui sotto. –

risposta

62

Immettere le prime lettere del comando precedente e premere < Freccia su > (o Ctrl + p).

:set li<up> 
:set lines=75 

Non dimenticare di controllare l'opzione storia e impostarla sul valore abbastanza grande

:set history=1000 
+0

Se hai un Visor su Mac, prova: set lines = 48, invece. Per qualche ragione, la finestra si espande troppo con 75 linee. –

+0

75 è solo per lo scopo ma grazie per Visor. Non lo sapevo, anche se non ne ho mai avuto bisogno. Ma mi piace! –

+0

Io non uso un terminale Vim ma MacVim. –

11

Ecco i documenti per Vim's commandline history, vedere anche questa parte dei documenti su Vim's commandline history che copre i collegamenti dei tasti mentre si trova nella cronologia. Sembra che tu possa dire :foo e poi premere la freccia su per trovare l'ultimo comando che è iniziato con foo.

58

Tipo q: nella modalità normale finestra di comandi per aprire. Puoi cercare/modificare qui usando i normali comandi di vim. Si inizia in modalità normale. Premere per eseguire un comando.

Questo approccio consente di eseguire ricerche nell'intero comando, non solo all'inizio della riga.

+3

Ora so perché talvolta ottengo la cronologia dei comandi invece di uscire da un buffer o da vim stesso. – sargas

5

che cercavo questo pure (finalmente dopo chiedendo il motivo per cui non è stata costruita in per qualche tempo) e ha deciso di non ho potuto resistere fustigazione un'implementazione, così qui si va: https://github.com/goldfeld/ctrlr.vim

E ' dovrebbe funzionare come gli shell's - beh ci sono ancora un paio di cose di base mancanti (come premere^R di nuovo per saltare alla prossima partita), ma tutto ciò che uso è in questa prima versione, e ho intenzione di aggiungere il resto nel le prossime settimane man mano che avrò tempo.

Problemi correlati