为什么我使用qmd时有精确的查找下一个在vim常用操作.md但是用search却没有找到?

4 2026-03-21 17:25 2026-03-21 17:26

这是个好问题!让我分析一下原因:

核心原因:qmd search 的匹配机制

qmd search 使用的是词法/词汇匹配(lexical matching),它查找的是词元(tokens)的精确或近精确匹配,而不是子字符串匹配。

可能的匹配失败原因

表格
 
 
 
 
原因 说明
分词问题 "查找下一个" 可能被分成了 "查找"、"下一个" 两个词,而你搜索的是完整词组
标点/空格干扰 如果文档中是 n(查找下一个)n - 查找下一个,括号或连字符可能打断匹配
编码问题 中英文标点、全角半角字符不一致
大小写/简繁 虽然中文不涉及大小写,但可能有简繁体差异

验证方法

你可以试试以下搜索,看哪个能命中:
bash
 
复制
# 尝试单个词
qmd search "查找" -c notes
qmd search "下一个" -c notes

# 尝试带空格的短语(如果原文有)
qmd search "查找 下一个" -c notes

# 查看原始文件内容确认
cat ~/notes/vim常用操作.md | grep -C 2 "查找"
 

为什么 qmd query 能找到?

qmd query 使用了 向量语义搜索(vector search),它:
  • 把查询和文档都转换成语义向量
  • 计算语义相似度(你看到的是 92%)
  • 不依赖词元精确匹配,而是理解"查找下一个"的含义
从你的输出可以看到,它甚至扩展出了 "next search results"、"如何查找下一个搜索结果" 等变体,然后用向量匹配找到了相关内容。

建议

表格
 
 
 
 
需求 命令
精确词组,知道确切表达 qmd search
概念性搜索,只记得大概 qmd query
中文内容混合搜索 优先用 qmd query,中文分词比英文复杂,search 容易漏
你的使用场景(中文笔记 + 可能记不清确切措辞),query 是更好的选择。

全部评论

·