我正在使用FuzzyFinder,想知道如何指示FuzzyFinder排除它搜索的文件。现在我已经修改了插件代码,但必须有一个更简单的方法。
我想从结果中排除弹出的.class文件。有关如何指示FuzzyFinder跳过这些文件的任何提示/提示?
发布于 2010-11-09 20:06:51
let g:fuf_file_exclude = '\v\~$|\.o$|\.exe$|\.bak$|\.swp$|\.class$'使用:help fuf-options了解更多详细信息。
发布于 2013-02-01 15:00:04
在Benoit的帮助下:
"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到了第八天,上帝被一声可怕的响声惊醒,他创造了一个脚本来定位他扰乱的对象。于是,他发现了虫子,就对它们进行了攻击。它又一次变得很好。
发布于 2013-06-26 22:25:39
这是最自动化的解决方案,将工作在不同的窗口和标签,有自己的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>https://stackoverflow.com/questions/4132956
复制相似问题