Unite是什么?

Unite可以在一个项目中快速浏览文件。但是它不仅限于文件,其他任何可以列出的东西都可以很好的被显示和搜索。这个开放式的特性很可能是人们找到它的原因(原文:This open-ended nature is probably what people find confusing about it.)

Unite不局限于搜索文件或者缓冲区--它可以很容易的处理文件和缓冲区,甚至更多。其他Vim插件的作者可以通过Unite提供的API扩展它,以用来支持其他数据源。

用法

Unite命令采用的格式为:Unite source,其中"source"是buffer,file和file_rec其中之一。

  • buffer: 浏览当前打开的buffer列表
  • file: 浏览当前目录的文件列表
  • file_rec: 递归的列出当前目录的文件

当一个命令被使用,一个新的水平分割窗口会被打开。比如,命令:Unite file将会显示当前目录的文件列表。在这个窗口中,标准的Vim命令模式下的命令可以使用--你可以使用“j”和“k”浏览该列表,可以使用“/”来查询。如果你在一个文件上按下enter键,Unite将会打开它。如果光标是在一个目录上,Unite将会进入该目录,并且更新该文件列表。

模式

如果你在Unite窗口进入插入模式,光标将会移到该窗口的最上方,并显示“>”提示符。输入字符会搜索该列表--这里和FuzzyFinder相似。和常规vim一样,按<ESC>键可以退出插入模式回到命令模式。

命令模式和插入模式都有相应的快捷键映射。比如在命令模式下,当光标在一个文件上,按下a,Unite会显示一个可以操作该文件命令的列表。这个命令列表被称为actions,这个列表可以像Unite其他部分一样被搜索和调用。

actions可以组合通配符。如果输入:Unite file, 然后按下*将会标记所有文件,再输入a将会列出所有actions,最后选择above,Unite将会打开所有被标记的文件。

其他特性

Unite也支持其他操作和浏览文件的方式,比如, :UniteBookmarkAdd会添加一个文件到书签列表中。书签通过:Unite bookmark来搜索和操作。

Unite没有附带任何映射键,但是你可以很容易的添加。下面的设置会调用:Unite file 当按下“<Leader>f”:

nnoremap f :Unite file    ==>  应该是 nnoremap <leader>f :Unite file

如果你仅仅只是想让Unite的功能和ctrlp.vim或者FuzzyFinder相似,这样你可以通过下面的映射键来实现:

nnoremap f :Unite -start-insert file    ==>  应该是  nnoremap <leader>f :Unite -start-insert file

Unite可以使用选项参数,比如,“-start-insert”会引起Unite打开提示窗口,在该窗口输入将会引起Unite搜索文件。

在VIM里,如果你不确定<Leader>是那个键,可以通过":help <Leader>"来查看。它一般是命名空间的快捷键,所以你应该输入“\f”来调用上面的例子。

结论

希望该篇文章说明白了Unite的主要特性,我觉得Unite是个非常有趣和常用的vim插件--它没有试着去模仿GUI IDEs,但是工作方式和vim保持一致。我不确定我是否喜欢命令模式和插入模式类似的使用方式,但是肯定会感觉到很自然在使用Unite一段时间后。

原文地址:http://usevim.com/2013/06/19/unite/

可以参考:https://github.com/Shougo/unite.vim

http://bling.github.io/blog/2013/06/02/unite-dot-vim-the-plugin-you-didnt-know-you-need/

05-14 06:34