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/