繁体   English   中英

我如何在Vim中使用'wildignore'?

[英]How do I use 'wildignore' in Vim?

我在wildignore Vim中wildignore设置的语法时遇到了很多麻烦。

假设我想要我的文件查找器插件(我使用Ctrl ,它使用wildignore )不搜索隐藏的文件和文件夹,即带有前缀的文件和文件夹.

我该怎么做呢?

关于ctrlp.vimwildignore ,如果你输入:help ctrlp-options并读取一下,你会发现:

注意#1:默认情况下, wildignoreg:ctrlp_custom_ignore仅在使用globpath()扫描文件时应用,因此当使用g:ctrlp_user_command定义的命令时,这些选项不适用。

因此,您可能需要unlet g:ctrlp_user_command (可能设置为默认命令)以实际使用wildignore 例如,在~/.vimrc ,添加:

if exists("g:ctrl_user_command")
    unlet g:ctrlp_user_command
endif
set wildignore+=.*

正如BenC指出的那样,如果您将CtrlP与外部搜索工具一起使用,Wildignore可能不是忽略文件的最佳方式。 相反,您可以使用CtrlP的“custom_ignore”指令,如其文档中所述:

let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$'
let g:ctrlp_custom_ignore = {
    \ 'dir':  '\v[\/]\.(git|hg|svn)$',
    \ 'file': '\v\.(exe|so|dll)$',
    \ 'link': 'SOME_BAD_SYMBOLIC_LINKS',
    \ }

请参阅:help file-pattern 基本上,如果你只想排除以点开头的任何东西,你可以做.*

因为标题与最佳答案不对应,所以她是我的核心,而不是ctrlp而是toignignore。 基于https://stackoverflow.com/a/579886/1170940

Vim将忽略选项wildignore中指定的文件模式,因此您可以像这样设置它们:

:set wildignore=*.o,*~,*.pyc

例如,我的野生动物就像这样

 set wildignore+=*/node_modules/*,_site,*/__pycache__/,*/venv/*,*/target/*,*/.vim$,\~$,*/.log,*/.aux,*/.cls,*/.aux,*/.bbl,*/.blg,*/.fls,*/.fdb*/,*/.toc,*/.out,*/.glo,*/.log,*/.ist,*/.fdb_latexmk

我将它用于ctrlp和NERDTree

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM