Vim 在ctrlp和x2B中使用ag;维姆
我想将ag(银色搜索器)与ctrlp和vim一起使用。 我的.vimrc中有这个:Vim 在ctrlp和x2B中使用ag;维姆,vim,ctrlp,Vim,Ctrlp,我想将ag(银色搜索器)与ctrlp和vim一起使用。 我的.vimrc中有这个: if executable("ag") set grepprg=ag\ --nogroup\ --nocolor let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' endif let g:ctrlp_show_hidden = 1 set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*/.tmp/*,*/.
if executable("ag")
set grepprg=ag\ --nogroup\ --nocolor
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
endif
let g:ctrlp_show_hidden = 1
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*/.tmp/*,*/.sass-cache/*,*/node_modules/*,*.keep,*.DS_Store,*/.git/*
我希望ctrlp包含隐藏的文件,但这些文件是隐藏的。如果我在ag命令中添加
-u
,它会显示所有隐藏的文件,但不尊重wildignore或.gitignore。有可能使其尊重这些吗?如果您通过ctrlp\u user\u命令使用自定义查找程序
几个选项,包括ctrlp\u show\u hidden
ctrlp\u custom\u ignore
和vim的wildignore
模式,都不被ctrlp()使用
g:ctrlp\u show\u hidden
注意:使用定义的命令不适用
|g:正在使用ctrlp|U user|命令
g:ctrlp\u custom\u ignore
注#1:默认情况下| wildignore |和| g:ctrlp_custom|u ignore | only
当使用| globpath()|扫描文件时应用,因此这些选项
当使用| g:ctrlp_user|u command定义的命令
正在使用中
所以你只能任由你的搜索工具摆布,在本例中是ag。幸运的是,你可以做一些事情,让你的行为得到你想要的
要使隐藏的点文件显示,但仍尊重忽略
文件,请使用ag的--hidden
选项:
让g:ctrlp\u user\u命令='ag%s-l--nocolor--hidden-g'
现在,为了定义要忽略的模式,您可以使用ag自己的忽略文件。这可以是每个目录,也可以是ag将在每次运行时检查的全局目录。您可以将其放在您的home dir~/.agignore
中
我知道让vimswildignore
处理模式会很好,但是使用.agignore
可以从cli使用ag时获得这些限制的好处。如果您想搜索所有文件,只需使用您提到的ag-u
命令绕过任何忽略
文件即可
最后,有一个字典格式可用于定义g:ctrlp_user_命令
,其中包含一个ignore
键,该键将使ctrlp使用wildignore
模式。然而,我从未尝试过这一点,文档指出了潜在的性能影响。如果您不喜欢我提出的另一个解决方案(),可以尝试此方法
注#3:除非使用| Dictionary |格式且忽略了
定义并设置为1,| wildignore |和| g:ctrlp_custom_ignore|
使用这些自定义命令时,选项不适用。什么时候
不存在,“忽略”默认设置为0以保留性能
使用外部命令的优点
我的回答能解决你的问题吗?或者你需要更多的信息吗?当然需要!忘了将你的答案标记为已接受,对此表示抱歉。非常感谢你!