2013-06-29 2 views
5

Ich fange an, vim für eine Woche zu benutzen und viele Dinge, die mir noch neu sind. Während der Recherche fand ich Unite.vim extrem gut. Allerdings kann ich verwalten, um diesen Befehl nicht funktioniert zu erhalten:Unite.vim file_rec/async

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

ich in doc-Datei gesucht und es sagt der folgende:

file_rec/Asynchron Same as | vereinigen-Source-file_rec |, sondern erhalten Dateien asynchron.

Hinweis: Diese Quelle benötigt vimproc.

Hinweis: Diese Quelle erfordert den Befehl "ag" oder "find".

Hinweis: Der Windows-Befehl "find" wird nicht unterstützt.

ich vim Fenster bin mit und finde den Weg nicht Ag oder find kompatible Befehle haben (ich denke, es ist für Mac/Linux wäre) Alle Anweisungen schätzen würden. Tks :)

+6

Ich bin Autor von unite.vim. Sie sollten dieses Problem in unite.vim-Problemen veröffentlichen. https://github.com/Shougo/unite.vim/issues Ich werde es überprüfen. –

Antwort

10

All dies vorausgesetzt, Sie haben Cygwin und vim mit Pathogen Plugins verwalten:

Bevor Sie verwenden, um die file_rec/async Befehl, müssen Sie vimproc haben, weil das, was passiert ist, vereinigen sich die Suche in einem anderen Prozess ausgeführt wird, und dann durchsucht die Ergebnisse mit Ihrem vim Prozess:

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 

Als nächstes sicher, dass es funktioniert, indem vi ausgeführt wird, und bleiben im Befehlsmodus und Eingabe:

:Unite -start-insert file_rec/async 

Wenn das funktioniert, dann würde ich Ihnen die Einrichtung beraten in ~/.vimrc wie dies Ihre Bindung:

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

Erste ag auf Ihrem Rechner könnte schwierig sein, da die Dokumentation besagt, dass es „Complicated“ und berät Sie installieren ein Paketmanager für Fenster und einige libs: https://github.com/ggreer/the_silver_searcher/wiki/Windows

wenn Sie jedoch ag auf Ihrer Maschine zu bekommen gelingen, hier ist die Konfiguration, die ich es mit Unite.vim mit in meinem ~/.vimrc zu arbeiten bekommen haben:

" 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, es ist genau das selbe wie Shougo (der Unite-Autor) hat mir neulich gezeigt;) – babygau

1

Ag (auch bekannt als das Silber Searcher) ein Dienstprogramm wie ack ist, können Sie finden es here, gibt es auch ein spezielles Windows port zu sein scheint.

Alternativ können Sie versuchen, die GNU finden Windows-Port von der unxutils project, oder Cygwin für Windows verwenden.

+0

Ich kann jetzt 'find command' dank cygwin verwenden. Allerdings stoße ich immer wieder auf diesen nervigen Fehler: 'Fehler in async_gather_candidates! Der Quellenname lautet file_rec/async'. Ich habe gerade herausgefunden, dass 'Unite.vim' nicht in der Lage ist, ein Windows-Verzeichnis zu lesen (ich weiß nicht, warum), und es könnte zu einem Grund führen, dass es nicht durchläuft. Ich weiß nicht, wie ich dieses Problem beheben kann, ich muss vielleicht zu 'CtrlP' zurückgehen :( – babygau

0

Get vimproc benötigte dll von http://www.kaoriya.net/software/vim/. Auf der Website gibt es 32 und 64-Bit Version Downloads.

Innerhalb jeder zip gibt es ein Plugin-Verzeichnis (zB mit 64 Bit): „vim74-kaoriya-win64-20150628.zip \ vim74-kaoriya-win64 \ Plugins \ vimproc \ autoload \ "wo Sie es ohne Kompilieren finden können.

Für eine Verwendung windows port als @Ingo Karkat sagt.

HINWEIS: ag leidet an Suchen auf Pfaden, die länger als 256 Zeichen sind (zu diesem Zeitpunkt). Verwenden Sie platinum searcher, wenn das in Ihrem Fall ein Problem ist.