2010-07-13 17 views
17

Qual è il modo più veloce per trovare e aprire un file con MacVim? NERDtree è un ottimo plugin, ma devo ancora navigare (a volte molto profondo) nelle directory tree per arrivare al file che voglio raggiungere. C'è qualche funzionalità che mi permette di cercare una sottostringa di un nome di file e mostrarmi un set di risultati su cui posso fare clic?C'è un modo rapido con il plugin macvim/NERDtree per trovare un file?

risposta

13

Dato che qui sono elencate tutte le alternative, Command-T è un altro plug-in fuzzyfinder che tenta di imitare la funzione di ricerca del compagno di testo.

Documenti disponibili here.

+0

Sto usando comando-T per una coppia mesi in MacVim, e giuro su di esso! Anche se, sono disposto a dare a fuzzyfinder uno scatto – rossipedia

+0

adoro il 7-eleven – z8000

7

Io uso fuzzyfinder.vim per quasi due anni e lo amo molto.

Supporta trovare il file in modo confuso, ad esempio per trovare il file foobar.rb, puoi semplicemente inserire 'fb' per ottenere il file foobar.rb abbinato, per la navigazione dei file, puoi aggiungere "** /" davanti del nome del file per trovare un file in qualsiasi livello profondo. Fornisce più modalità per trovare dir, file aperti recenti, comando vim recente, tag ecc. In modo sfumato, è possibile anche definire la propria modalità.

Se ti piace la modalità TextMate, puoi leggere this post per ulteriori dettagli.

2

Lungo le stesse linee di fuzzyfinder è PeepOpen. Lo uso da alcuni mesi e lo preferisco su fuzzyfinder ora. È rigorosamente mac e richiede Snow Leopard.

13

È inoltre necessario controllare il comando incorporato :find.

Innanzitutto, è necessario definire quali directory cercare. Se si desidera aggiungere ricorsivamente le sottodirectory di /path/to/progetto al vostro percorso di ricerca, l'uso:

:set path=/path/to/project/**

È possibile quindi aprire ad esempio /path/to/project/then/some/random/subdirectory/filename.ext mediante l'emissione di:

:find filename.ext

Per aprire il risultato della ricerca in una nuova scheda o split-screen, prova :tabfind o :sfind invece.

Modifica

Ho appena notato che siete in cerca di sfocata corrispondenza dei file, nel qual caso non credo :find è all'altezza del compito. Potresti essere interessato alla funzione :Find definita in this vimtip.

+0

Questo è stato estremamente utile, non lo sapevo supportato trovare! Fantastico, la mia vita è molto più facile ora. Avere un upvote –

1

Ho aggiunto il seguente plug-in che integra Nerdtree grep come una delle opzioni del menu Nerdtree:

https://gist.github.com/masaakif/414375

sembra funzionare abbastanza bene, è equivalente a "grep -r" e si può anche selezionare il risultato e modificare il file mostrato.

+0

Come usare questo? Solo: g in modalità normale? Non ha funzionato per me. – chamibuddhika

+1

Durante la navigazione dell'albero in NERDTree, posiziono il cursore sulla directory (secondaria) che desidero cercare, quindi premo semplicemente "m" per il menu NERDTree, quindi viene visualizzato il menu e l'ultima opzione è (g) directory rep, quindi premi "g" per cercare. Stesse regole si applicano per citare il testo con ad es. spazi e caratteri speciali come in grep. BTW la gente di Square ha messo il proprio setup Vim preferito in un repository chiamato [Maximum Awesomeness] (http://corner.squareup.com/2013/08/fly-vim-first-class.html) che include il plugin . –

3

Ho utilizzato il fuzzyfinder per un lungo periodo di tempo prima di trovare ctrp (https://github.com/kien/ctrlp.vim) È possibile creare un comando di ricerca personalizzato che funzioni su linux e window. Esistono alcune impostazioni possibili di ctrlp - Ignora tipi di file o directory - Ignora i file di sistema di controllo versione (es .: .git, hg, ..) - Usa comando esterno per creare un elenco di file (es: comando 'trova' in linux) - cache filelist ...

E non è correlato al plug NERDtree che si stava parlando, ma penso che si dovrebbe dare un'occhiata ...

Problemi correlati