[英]How do I use 'wildignore' in Vim?
我在wildignore
Vim中wildignore
设置的语法时遇到了很多麻烦。
假设我想要我的文件查找器插件(我使用Ctrl ,它使用wildignore
)不搜索隐藏的文件和文件夹,即带有前缀的文件和文件夹.
。
我该怎么做呢?
关于ctrlp.vim
和wildignore
,如果你输入:help ctrlp-options
并读取一下,你会发现:
注意#1:默认情况下, wildignore和g: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.