Unite.vim file_rec / async

时间:2013-06-29 01:41:35

标签: vim unite.vim

我开始使用vim一个星期了,很多东西对我来说还是新的。在研究期间,我发现Unite.vim非常棒。但是,我无法让这个命令工作:

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

我查看了doc文件并说明了以下内容:

  

file_rec / async与| unite-source-file_rec |相同,但是异步获取文件。

     

注意:此来源需要vimproc。

     

注意:此来源需要“ag”或“find”命令。

     

注意:不支持Windows“查找”命令。

我正在使用vim窗口并且找不到拥有Agfind兼容命令的方法(我猜它会用于mac / linux) 任何指示都将不胜感激。 Tks:)

3 个答案:

答案 0 :(得分:10)

所有这一切都假设你有cygwin,vim和病原体管理你的插件:

在使用file_rec/async命令之前,您需要拥有vimproc,因为Unite会在另一个进程中运行搜索,然后使用您的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

接下来,通过运行vi并保持命令模式并输入:

来确保它正常工作
:Unite -start-insert file_rec/async

如果可行,那么我建议您在~/.vimrc设置绑定,如下所示:

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

在您的计算机上获取ag可能很困难,因为文档指出它是“复杂的”并建议您为Windows和某些库安装包管理器:https://github.com/ggreer/the_silver_searcher/wiki/Windows

但是,如果您确实设法在您的计算机上获得ag,那么我在Unite.vim中使用~/.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

答案 1 :(得分:1)

Ag (又名Silver Searcher)是一个像 ack 这样的实用程序,你可以找到它here,似乎还有一个专用{{3} }}

或者,您可以尝试Windows port中的GNU 查找 Windows端口,或使用Cygwin for Windows。

答案 2 :(得分:0)

http://www.kaoriya.net/software/vim/获取vimproc neccesary dll。在网站上有32和64位版本下载。

每个zip内部都有一个插件目录(例如64位):&#34; vim74-kaoriya-win64-20150628.zip \ vim74-kaoriya-win64 \ plugins \ vimproc \ autoload \&#34;你可以在没有编译的情况下找到它。

对于ag使用windows port,正如@Ingo Karkat所说。

注意: ag在长于256个字符的路径上搜索(此时)。如果您遇到问题,请使用platinum searcher