5

我开始使用 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 windows 并且找不到具有Agfind兼容命令的方法(我想它适用于 mac/linux)任何说明将不胜感激。谢:)

4

3 回答 3

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
于 2013-06-30T06:22:41.713 回答
1

Ag(又名 Silver Searcher)是一个类似ack的实用程序,你可以在这里找到它,似乎还有一个专用的Windows 端口

或者,您可以尝试从unxutils 项目中找到GNU 的Windows 端口,或使用 Cygwin for Windows。

于 2013-06-29T10:35:36.527 回答
0

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

在每个 zip 中都有一个插件目录(例如 64 位):“vim74-kaoriya-win64-20150628.zip\vim74-kaoriya-win64\plugins\vimproc\autoload\” 无需编译即可在其中找到它。

如@Ingo Karkat 所说,对于ag 使用Windows 端口。

注意: ag 遭受超过 256 个字符的路径搜索(此时)。如果您遇到问题,请使用白金搜索器。

于 2015-07-27T07:54:41.833 回答