2010-11-09 57 views

回答

20
let g:fuf_file_exclude = '\v\~$|\.o$|\.exe$|\.bak$|\.swp$|\.class$' 

使用:help fuf-options瞭解更多詳情。

+0

感謝您的答覆,我還在學習我周圍的vim的方式和它的插件。 – Marco 2010-11-09 20:15:14

+0

當你部署一個插件時,也部署該文檔,並運行':helptags/path/to/the/doc/folder',幾乎所有優秀的插件都有一個體面的文檔! – Benoit 2010-11-09 20:18:47

+5

如果您想要正則表達式,請在開始時記住'\ v'!如果您使用'FufCoverageFile',也可以使用'g:fuf_coveragefile_exclude'。 – robbrit 2013-01-11 15:08:25

5

隨着伯努瓦的幫助:

"FuzzyFinder should ignore all files in .gitignore 
let ignorefile = ".gitignore" 
if filereadable(ignorefile) 

    let ignore = '\v\~$' 
    for line in readfile(ignorefile) 
    let line = substitute(line, '\.', '\\.', 'g') 
    let line = substitute(line, '\*', '.*', 'g') 
    let ignore .= '|^' . line 
    endfor 

    let g:fuf_coveragefile_exclude = ignore 
endif 

而且第八日神是一個可怕的吵鬧聲驚醒,他居然創建一個腳本來定位他的干擾的問題。於是,他發現了一些錯誤,他擊敗了他們。而且它又一次很好。

+2

如果你在設置'lcd'(本地當前目錄)後輸入你的.vimrc文件,那麼你的'.vimrc'文件肯定有效,但是如果你將標籤或窗口切換到另一個不同'lcd'的項目,搜索你的'.vimrc'並且它會在全局中破壞變量。有沒有辦法使用不同的'lcd'在每個窗口中執行此操作? – Neil 2013-06-26 12:55:40

+0

確保將'g:fuf_file_exclude'和'g:fuf_dir_exclude'設置爲'ignore'變量。這將使'FufFile'和'FufDir'按預期工作。 – Neil 2013-06-26 13:48:16

+0

謝謝。一個錯誤修正 - 應該跳過空行 – ygrek 2015-04-17 05:26:21

1

這是最自動的解決方案,可以在不同的窗口和選項卡上有自己的lcd(本地當前目錄)。

由於Vimrc沒有設置排除變量每個窗口或每個標籤的概念,您必須在每次運行FufFile或相關函數時重置排除變量。

把這個在您的.vimrc

" FuzzyFinder 
" ----------------------------------------------------------------------------- 
function! FufSetIgnore() 

    let ignorefiles = [ $HOME . "/.gitignore", ".gitignore" ] 
    let exclude_vcs = '\.(hg|git|bzr|svn|cvs)' 
    let ignore = '\v\~$' 

    for ignorefile in ignorefiles 

     if filereadable(ignorefile) 
      for line in readfile(ignorefile) 
       if match(line, '^\s*$') == -1 && match(line, '^#') == -1 
        let line = substitute(line, '^/', '', '') 
        let line = substitute(line, '\.', '\\.', 'g') 
        let line = substitute(line, '\*', '.*', 'g') 
        let ignore .= '|^' . line 
       endif 
      endfor 
     endif 

     let ignore .= '|^' . exclude_vcs 
     let g:fuf_coveragefile_exclude = ignore 
     let g:fuf_file_exclude = ignore 
     let g:fuf_dir_exclude = ignore 

    endfor 
endfunction 

# Bonus: My custom key mappings for FuzzyFinder 
# Calls the function to set the exclude variables, then runs FuzzyFinder 
nn <Tab> :call FufSetIgnore() <BAR> :FufFile<CR> 
nn <S-Tab> :call FufSetIgnore() <BAR> :FufFile **/<CR> 
nn <F3> :call FufSetIgnore() <BAR> :FufFile **/<CR> 
+0

這真的很酷,但由於某種原因,我第一次調用FF時似乎並不工作。我有一個非常大的文件樹(並且我不需要索引依賴關係),並且每個第一次加載需要將近一分鐘。在模糊查找器嘗試構建索引之前,有沒有辦法讓這個運行? – counterbeing 2014-11-20 01:47:44

相關問題