Windows下Git-Bash的Vim结合Silver Searcher无法打开结果文件
Git-Bash中Vim的:Ag命令无法打开搜索结果的解决方法
问题描述
我在Windows系统的Git-Bash中,通过vim-plug给自带的Vim安装了若干插件。使用:Ag ...命令搜索项目文件后能正常显示结果面板,但尝试各种操作都无法打开目标结果对应的文件。同时我在~/.vimrc中添加了以下配置来启用:Ag命令,想知道问题是否和这些参数有关:
" Ag/Ack related .. let g:ackprg = 'ag' let g:ack_default_options = " --case-sensitive --noheading --nopager --nocolor --nogroup --column"
正确操作快捷键
在Ag的结果面板中,使用以下快捷键即可打开对应文件:
- 按
Enter:打开光标所在行对应的文件,直接跳转到结果的行和列位置 - 按
o:在当前Vim窗口打开目标文件 - 按
O:以垂直分割窗口的方式打开目标文件 - 按
t:在新标签页中打开目标文件 - 按
q:关闭搜索结果面板
配置参数问题分析
你的g:ack_default_options配置确实会导致无法打开文件,原因如下:
--noheading:移除了Ag默认的文件路径头行,而Vim的Ag/Ack插件需要依靠这些头行来识别每个结果对应的文件--nogroup:让所有搜索结果以无分组的形式输出,插件无法正确区分不同文件的结果条目
这两个参数破坏了插件对Ag输出格式的预期,导致插件无法解析出正确的文件路径,自然无法打开文件。
配置修正方案
要么直接删除g:ack_default_options这一行配置,使用插件默认的Ag参数;如果需要保留自定义参数,至少要移除--noheading和--nogroup,示例配置如下:
" Ag/Ack related .. let g:ackprg = 'ag' let g:ack_default_options = " --case-sensitive --column"
内容的提问来源于stack exchange,提问作者pesho hristov
相关产品推荐
相关产品推荐

