2013-06-29 11 views
5

Sto iniziando a utilizzare vim per una settimana e molte cose ancora nuove per me. Durante la ricerca, ho trovato Unite.vim è estremamente grande. Tuttavia, non riesco a ottenere questo comando funziona:Unite.vim file_rec/async

nnoremap <leader>f :<C-u>Unite -start-insert file_rec/async. 

ho guardato in file doc e dice il seguente:

file_rec/async Uguale | unire-source-file_rec |, ma ottenere file in modo asincrono.

Nota: questa fonte richiede vimproc.

Nota: questa fonte richiede il comando "ag" o "trova".

Nota: il comando "trova" di Windows non è supportato.

Sto utilizzando Windows Vim e non trovare il modo di avere Ag o find comandi compatibili (credo che sarebbe per Mac/Linux) non contiene indicazioni sarebbero apprezzare. Tks :)

+6

Sono autore di unite.vim. Dovresti pubblicare questo problema nei problemi di unite.vim. https://github.com/Shougo/unite.vim/issues Lo controllerò. –

risposta

10

Tutto questo a patto di avere cygwin, e vim con patogeno la gestione dei plug-in:

Prima di utilizzare il comando file_rec/async, è necessario disporre di vimproc, perché ciò che accade è Unite esegue la ricerca in un altro processo, e quindi ricerca attraverso i risultati con il processo di vim:

mkdir -p ~/.vim/bundle 
git clone https://github.com/Shougo/vimproc.vim.git ~/.vim/bundle/vimproc.vim 
cd ~/.vim/bundle/vimproc.vim 
make -f make_cygwin.mak # <-- This is directly from the vimproc readme 

Avanti, assicurarsi che funziona eseguendo VI, e rimanere in modalità di comando e digitando:

:Unite -start-insert file_rec/async 

Se funziona, allora io vi consiglio di impostare il tuo vincolante ~/.vimrc come questo:

nnoremap <C-u> :Unite file_rec/async<cr> 

Ottenere ag sulla propria macchina potrebbe essere difficile, in quanto la documentazione afferma che si tratta di "Complicated" e consiglia di installare un gestore di pacchetti per Windows e alcune librerie: https://github.com/ggreer/the_silver_searcher/wiki/Windows

Tuttavia, se si riesce a ottenere ag sulla vostra macchina, ecco la configurazione ho ottenuto per lavorare con Unite.vim con nel mio ~/.vimrc:

" Use ag for search 
if executable('ag') 
    let g:unite_source_grep_command = 'ag' 
    let g:unite_source_grep_default_opts = '--nogroup --nocolor --column' 
    let g:unite_source_grep_recursive_opt = '' 
endif 
+0

Tks @Nthalk, è esatto lo stesso di Shougo (l'autore di Unite) mi ha mostrato l'altro giorno;) – babygau

1

Ag (anche noto come l'argento Searcher) è un programma di utilità come ack, si può trovare here, ci sembra anche essere un apposito Windows port.

In alternativa, è possibile provare GNU trovare porta Windows da unxutils project o utilizzare Cygwin per Windows.

+0

Ora posso usare 'find comando' grazie a cygwin. Tuttavia, continuo a imbattersi in questo fastidioso bug: "Si è verificato un errore in async_gather_candidates! Il nome sorgente è file_rec/async'. Ho appena scoperto che 'Unite.vim' potrebbe non essere in grado di leggere alcune directory di Windows (non so perché), e potrebbe portare a una ragione che non gli permette di attraversare. Non so come risolvere questo problema, potrei dover tornare a 'CtrlP' :( – babygau

0

Ottieni vimproc neccesary dll da http://www.kaoriya.net/software/vim/. Sul sito Web sono disponibili download di versioni a 32 e 64 bit.

All'interno di ogni zip c'è una directory dei plugin (ad esempio con 64bits): "vim74-kaoriya-win64-20150628.zip \ vim74-kaoriya-Win64 \ plugins \ vimproc \ autoload \ "dove puoi trovarlo senza compilare.

Per uso agcome dice @Ingo Karkat.

NOTA: ag soffre di ricerche su percorsi di lunghezza superiore a 256 caratteri (in questo momento). Usa platinum searcher se questo è un problema nel tuo caso.