使用幾天之後更新一下:command-t的速度確實非常不錯,但文件搜索的匹配結果不如ctrlp好,速度和準確率有時是挺矛盾的,現在又用回ctrlp了。
之前的文章Vim插件之ctrlp中曾經提到Vim下的模糊搜索工具ctrlp
,ctrlp的優點是依賴少,其他插件對它的支持比較好,缺點一個是速度慢,這個可以通過讓ctrlp調用ag
來提高搜索速度,但使用外部工具又會帶來一些副作用,使得ctrlp的部分功能失效。但近幾年來,同類插件中有一些新秀做得比較好,開發活躍,功能不斷豐富。下面主要介紹一下command-t。
command-t
這款插件開發的主要目的就是爲了提高搜索速度,底層運用了C語言,並結合並行搜索
和Watchman
等各種優化,實際使用時相應速度相當不錯。command-t和ctrlp一樣支持搜索MRU,Buffer和Tags,並且還支持在新標籤頁和分屏窗口中打開。不足之處在於安裝配置複雜一些,首先需要Vim支持Ruby
,其次它和YouCompleteMe
一樣安裝完成以後還需要編譯一下才能使用,安裝完成使用<Leader>t
觸發command-t時會有消息提示" Vim Command-T plugin error: could not load the C extension"
,這就是讓你到插件所在目錄編譯,具體方法如下:
$ sudo aptitude install ruby-dev
$ cd ~/.vim/bundle/command-t
$ rake make
編譯完成以後,就能使用了,下面是搜索提示符下的快捷鍵,可以發現和終端下的快捷鍵是相同的
按鍵 | 功能 |
---|---|
Ctrl-h | 向左移動一個字符 |
Ctrl-l | 向右移動一個字符 |
Ctrl-a | 移動到行首 |
Ctrl-e | 移動到行尾 |
Ctrl-u | 清除提示符上的內容 |
Tab | 切換到文件列表上 |
下面是在提示符或者文件列表下的快捷鍵
按鍵 | 功能 |
---|---|
Enter | 打開選中文件 |
Ctrl-C | 在新的水平分割窗口中打開選中文件 |
Ctrl-s | 同上 |
Ctrl-v | 在新的豎直分割窗口打開選中文件 |
Ctrl-t | 在新的標籤頁打開選中文件 |
Ctrl-f | 清空緩存 |
Ctrl-q | 在quickfix窗口中打開選中文件 |
Ctrl-c | 退出文件列表 |
最後貼一下我的配置,默認情況下使用<Leader>t
打開文件
"command-t
"<Leader>b瀏覽Buffer
nmap <Leader>b <Plug>(CommandTBuffer)
"<Leader>f顯示MRU文件
nmap <Leader>f <Plug>(CommandTMRU)
"搜索結果最大匹配數
let g:CommandTMaxHeight = 25
"搜索結果不區分大小寫
let g:CommandTIgnoreCase = 0
"搜索結果不按反向排序,即最匹配的位於最頂部
let g:CommandTMatchWindowReverse = 0
"開啓wildignore
let g:CommandTWildIgnore=&wildignore
"搜索結果匹配大小寫
"let g:CommandTSmartCase = 1