首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略ctrlp.vim中的自定义目录

忽略ctrlp.vim中的自定义目录
EN

Stack Overflow用户
提问于 2017-11-26 03:12:26
回答 3查看 2.2K关注 0票数 1

我想忽略dist.git目录的ctrlp.vim。我的.vimrc配置如下:

代码语言:javascript
复制
let g:ctrlp_custom_ignore = {
  \ 'dir': '\v[\/](\.git|dist)$'
}

我有两个问题:

  • 它不会忽略dist目录。
  • 声明中的\v是什么意思?

PS:这是我的ctrlp配置.vimrc

代码语言:javascript
复制
""" ctrlp
   let g:ctrlp_use_caching = 1
   let g:ctrlp_clear_cache_on_exit = 0
   let g:ctrlp_cache_dir = '$HOME/.vim/cache/ctrlp'
   let g:ctrlp_max_files = 1000
   let g:ctrlp_max_history = &history
   let g:ctrlp_max_depth = 10
   let g:ctrlp_user_command = [
         \ '.git', 'cd %s && git ls-files . -co --exclude-standard',
         \ 'rg %s --files --color=never --glob ""',
         \ 'find %s -type f'
         \ ]
   let g:ctrlp_custom_ignore = {
     \ 'dir': '\v[\/](\.git\|dist)$',
     \ 'file': '\v\.(exe|so|dll)$',
   \ }
   "let g:ctrlp_custom_ignore = 'dist'
   " let g:ctrlp_user_command = ['rg --files']
   let g:ctrlp_working_path_mode = 'ra'
   let g:ctrlp_reuse_window = 'startify'
map ff :CtrlP<cr>
EN

回答 3

Stack Overflow用户

发布于 2019-09-18 21:20:11

答案1:

请在您的.vimrc中添加以下行

代码语言:javascript
复制
let g:ctrlp_custom_ignore = 'dist'

我把这一行放在.vimrc的最后一个位置

答案2:

\v搜索“一个垂直空格字符:行输入,回车,垂直选项卡,表单提要,段落或行分隔符”。

有关详细信息,请访问雷克赛格

票数 2
EN

Stack Overflow用户

发布于 2017-11-26 03:23:58

遗憾的是,Vim的正则表达式与任何其他系统不一样,这使得使用它们变得麻烦和痛苦。我不确定CtrlP的忽略是否支持\v,,我不会在这里添加它。我也会去掉前面的斜杠。尝试这个(并重新启动Vim):

代码语言:javascript
复制
let g:ctrlp_custom_ignore = {
    \ 'dir': '\.git\|dist$'
\ }

\v是“非常神奇的”开关,您应该始终使用在Vim中进行搜索(同样,不确定CtrlP是否支持它),以使它们更有用:

代码语言:javascript
复制
nnoremap / /\v

它使像+这样的特殊字符的行为像普通正则字符一样,而不是定义不好的Vim正则表达式字符。

票数 1
EN

Stack Overflow用户

发布于 2020-08-23 07:23:03

如果您使用g:ctrlp_user_command,那么g:ctrlp_custom_ignore将无法工作。rg也可以忽略文件,只需将它们放入.gitignore,rg就会忽略.gitignore中的任何文件和目录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47492658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档