在ctrlp.vim中忽略.git目录

在ctrlp.vim中忽略.git目录,vim,ctrlp,Vim,Ctrlp,在my.vimrc中,我有一些自定义ingores。我想忽略几个以点开头的目录:。git就是一个很好的例子。通过在ignores中使用.git,我也可以忽略像git.sh这样的单个文件。我只想忽略.git。我做错了什么 let g:ctrlp_custom_ignore = 'node_modules\|DS_Store\|bower_components\|.sass-cache\|.git\|build' 您需要指定.git特别是一个目录忽略。 根据文档的示例: 我在Github上的REA

在my
.vimrc
中,我有一些自定义ingores。我想忽略几个以点开头的目录:
。git
就是一个很好的例子。通过在ignores中使用
.git
,我也可以忽略像
git.sh
这样的单个文件。我只想忽略
.git
。我做错了什么

let g:ctrlp_custom_ignore = 'node_modules\|DS_Store\|bower_components\|.sass-cache\|.git\|build'

您需要指定
.git
特别是一个目录忽略。 根据文档的示例:


我在Github上的README.md中看到了这一点,但当我将其放入我的.vimrc中时,我得到了一个“无效表达式”错误。请编辑您的问题以提供此信息供将来参考。事实上,我在这方面说得太早了。所以我现在的问题是,并不是所有我想忽略的目录都以点开头,这很简单。这正是我想要的<代码>'dir':'\v[\/](\.git | node | u modules | \.sass cache | bower | u components | build)$”谢谢@HuiWang,@deemstone这是vimscript的“非常神奇”的regexp modifyier,它可以改变正则表达式上下文中某些字符的行为(通常允许以简化形式编写)。请参见关于
[\/]
,它没有什么特别的含义:匹配任何“\”或“/”(记住Windows上的目录分隔符)。
let g:ctrlp_custom_ignore = {
  \ 'dir':  '\v[\/]\.(git|hg|svn)$',
  \ 'file': '\v\.(exe|so|dll)$',
  \ 'link': 'some_bad_symbolic_links',
  \ }