为什么推荐你使用“模糊搜索”

Posted by ChaosNyaruko on January 11, 2024

常见使用方式:

  1. 打开IDE/编辑器中的“文件资源管理器”(File Explorer),用鼠标一级一级点开
  2. 在导航栏里打开对应目录,缩小搜索范围
  3. 在标签页上

优点

  1. 直观,在有一定其他工具使用经验的背景下,几乎没有学习成本
  2. 在只有浅层级搜索时,并不是很影响效率

缺点

  1. 层级多/同时打开的文件多时,搜索效率可能会降低
  2. 需要不断重复定位、搜索、确认这一流程,加之手可能需要再“心流”状态可能被打断

推荐的替代方案

聚集于可预测的单一窗口,复用文件搜索和展示文件内容功能,(Where Split Windows and the Project Drawer comes into play ),并使用“模糊搜索”的工具/技巧。

什么是模糊搜索

模糊搜索的优缺点

优点

只要键盘还是人机交互的主要途径之一,以及在键盘密集型的工作场景里,在多数情况下,效率是高过直白使用鼠标的

  1. 搜索范围会缩小得很快,因此筛选过程非常快
  2. 结合“可预测的单一窗口”这一理念,几乎不存在你需要额外确认这个文件会从哪里跳出来,或者窗口布局会发生什么样的变化(而让你需要反应一下)。
  3. 可以选用各种各样的模糊搜索工具,也可以组合使用,来进一步提升搜索效率

缺点

  1. 一些其他的场景,比如简单切换,比如“在两个文件间来回切换”这个场景,效率并不是很高
  2. 效率建立在一定的打字速度和搜索技巧上,否则会适得其反

我正在使用的模糊搜索工具

  1. FZF
  2. fzf.vim
  3. telescope.nvim
  4. VSCode

有类似思想的工具

  1. 搜索引擎的“关键字搜索”
  2. gopls的workspace_symbol接口