我试图在.vimrc中放置忽略的设置
但是当我用ctrlprails搜索rails app文件夹时
它仍然搜索vendor文件夹,因此花了很多时间.
但是当搜索完成后,我无法在搜索下搜索任何内容 vendor
太奇怪了!如何解决它.
这是我的.vimrc设置文件.
http://d.pr/i/yMtK http://d.pr/i/Hy4u
" Sane Ignore For ctrlp
let g:ctrlp_custom_ignore = {
\ 'dir': '\.git$|vendor\|\.hg$\|\.svn$\|\.yardoc\|public\/images\|public\/system\|data\|log\|tmp$',
\ 'file': '\.exe$\|\.so$\|\.dat$'
\ }
Run Code Online (Sandbox Code Playgroud)
当我在最后添加代码 .vimrc
217 let g:NERDTreeIgnore=['\~$', 'vendor']
218 set wildignore+=*\\vendor\\**
Run Code Online (Sandbox Code Playgroud)
当我第一次使用CTRLP在RAILS应用程序文件夹下搜索时它工作,但仍然NOT在以下时间工作.
我想也许有些设置会禁用忽略的设置?
这是我的文件夹的结构
.
??? Gemfile
??? Gemfile.lock
??? README.rdoc
??? Rakefile
??? app
? ??? assets
? ??? controllers
? ??? helpers
? ??? mailers
? ??? models
? ??? uploaders
? ??? views
? ??? workers
??? auto.sh
??? config
? ??? application.rb
? ??? application.yml
? ??? boot.rb
? ??? database.yml
? ??? environment.rb
? ??? environments
? ??? initializers
? ??? locales
? ??? macbookair_whenever_schedule.rb
? ??? menu_navigation.rb
? ??? navigation.rb
? ??? resque.god
? ??? resque_schedule.yml
? ??? routes.rb
? ??? schedule.rb -> ubuntu_whenever_schedule.rb
? ??? tinymce.yml
? ??? ubuntu_whenever_schedule.rb
??? config.ru
??? db
? ??? development.sqlite3
? ??? migrate
? ??? migrate_should_be_skip
? ??? production.sqlite3
? ??? schema.rb
? ??? seeds.rb
??? doc
? ??? README_FOR_APP
??? lib
? ??? assets
? ??? auto_tools
? ??? tasks
? ??? url_automation_module.rb
??? log
? ??? apalog
? ??? development.log
? ??? passenger.80.log
? ??? production.log
? ??? prodution.log
??? output_name
??? public
? ??? 404.html
? ??? 422.html
? ??? 500.html
? ??? exports
? ??? favicon.ico
? ??? results.zip
? ??? robots.txt
? ??? sandbox
? ??? uploads
??? script
? ??? delayed_job
? ??? rails
??? test
? ??? fixtures
? ??? functional
? ??? integration
? ??? performance
? ??? test_helper.rb
? ??? unit
??? test.sh
??? tmp
? ??? cache
? ??? pids
? ??? restart.txt
? ??? sessions
? ??? sockets
??? tmplog
??? vendor
??? bundle
Run Code Online (Sandbox Code Playgroud)
Ben*_*enC 27
如果您输入:help ctrlp-options并阅读一下,您会发现:
注意#1:默认情况下,wildignore和g:ctrlp_custom_ignore仅在使用globpath()扫描文件时应用,因此当使用g:ctrlp_user_command定义的命令时,这些选项不适用.
因此,您可能需要unlet g:ctrlp_user_command(可能设置为默认命令)实际使用wildignore@TomCammann建议.例如,在你的~/.vimrc,添加:
if exists("g:ctrlp_user_command")
unlet g:ctrlp_user_command
endif
set wildignore+=*\\vendor\\**
Run Code Online (Sandbox Code Playgroud)
在此之后,你需要刷新ctrlp缓存:在Vim中,按F5在ctrlp模式,或运行:CtrlPClearAllCaches,或直接在你的shell删除缓存目录:
rm -r ~/.cache/ctrlp/ # On Linux
Run Code Online (Sandbox Code Playgroud)
小智 17
我的.vimrc文件的一部分.也许它会有所帮助
set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.idea/*,*/.DS_Store,*/vendor
Run Code Online (Sandbox Code Playgroud)
您可以使用wildignoreCtrlP 将选择的vim 设置。
set wildignore+=*\\vendor\\**
Run Code Online (Sandbox Code Playgroud)
小智 5
检查您是否正在使用某些特定的搜索命令,例如:
let g:ctrlp_user_command = 'find %s -type f' " MacOSX/Linux
let g:ctrlp_user_command = 'dir %s /-n /b /s /a-d' " Windows
Run Code Online (Sandbox Code Playgroud)
这种配置会忽略该g:ctrlp_custom_ignore选项。