如何在SpaceVim中搜索项目所有目录及子目录下文件内的指定文本
操作方法
你已经安装的fzf和ripgrep刚好是实现文件内全局文本搜索的核心依赖,根据你的使用场景可直接用以下方案:
SpaceVim 原生方案
SpaceVim默认已经适配了ripgrep+fzf的搜索能力,无需额外配置:
- 全局全目录搜索:在普通模式下按快捷键
<Leader>fw,输入你要查找的function thisExactFunction()即可返回所有包含该字符串的文件列表,点击对应条目可直接跳转到文件的匹配行位置 - 限定nerdtree指定目录搜索:先把光标聚焦到nerdtree窗口,移动到你要搜索的根目录上,按快捷键
S后再输入搜索内容即可
手动配置Neovim方案
如果你使用的是自行配置的Neovim而非SpaceVim发行版,先安装fzf.vim插件,之后执行以下操作即可:
- 全局搜索直接在命令行输入
:Rg 你要搜索的内容,比如搜索目标内容的命令为:Rg function thisExactFunction() - 如果你需要精确匹配包含正则特殊字符的字符串(比如括号、星号等),可加
-F参数让ripgrep将输入视为普通文本::Rg -F "function thisExactFunction()"
常用操作技巧
- 搜索过程中输入
!开头的内容可以反向过滤结果,排除不需要的匹配项 - 选中搜索结果后按
Ctrl-t可在新标签页打开对应文件,Ctrl-v为垂直分屏打开,Ctrl-x为水平分屏打开
内容的提问来源于stack exchange,提问作者Lushmoney
相关产品推荐
相关产品推荐

