You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整Telescope find_files排序优先级,优先文件名匹配?

调整Telescope find_files排序:让文件名匹配优先

不用自己写自定义file_sorter,你已经在用的fzf扩展就能解决这个问题,而且性能完全不用担心——fzf是原生C实现的,比Lua自定义逻辑高效得多。

核心思路是调整fzf的tiebreak规则,也就是当多个结果匹配得分相同时的排序优先级。我们可以让匹配位置更靠后的结果优先,而文件名恰好是路径的最后部分,这样文件名中的匹配会比路径目录中的匹配获得更高的排序权重。

修改你的配置如下:

extensions = {
  fzf = {
    fuzzy = true,
    override_generic_sorter = true,
    override_file_sorter = true,
    case_mode = "smart_case",
    -- 添加这部分配置,指定tiebreak规则
    extra_args = function()
      return { "--tiebreak", "end" }
    end,
  },
},

如果想要更精细的控制,比如在tiebreak时优先按匹配位置靠后,再按路径长度短的结果靠前,可以把参数改成:

extra_args = function()
  return { "--tiebreak", "end,length" }
end,

参数说明:

  • end:当匹配得分相同时,匹配位置更靠后的结果排在前面(文件名匹配的位置通常比路径目录中的匹配更靠后)
  • length:如果匹配位置也相同,路径更短的结果优先

这样调整后,你搜索特定文件名时,目标文件会更靠前出现,不用再滚动很久。

内容的提问来源于stack exchange,提问作者Poisonbox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 00:22:05