搜索语法
Lertaro 的搜索框远不止支持简单的字符检索。它配备了极速的匹配算法,支持模糊跳跃匹配、逻辑运算符、词边界修饰符、盘符与路径定位、二次过滤标记(Query Tokens)以及多语言智能别名,所有语法均可在同一条查询中自由混合使用。
1. 基础匹配模式与大小写
模糊匹配(默认)
Lertaro 默认启用模糊匹配(Fuzzy Matching)。只需输入关键词的任意部分,只要字符按先后顺序出现在文件或文件夹名称中,即使不连续也能精准命中:
| 输入示例 | 匹配结果示例 | 说明 |
|---|---|---|
ltro | Lertaro.exe | 字符按 l → t → r → o 顺序跳跃命中(Lertaro.exe) |
vsc | Visual Studio Code.lnk | 命中各单词首字母(Visual Studio Code) |
rt-fin | Q3-report-final.docx | 命中连续子串(Q3-report-final.docx) |
在设置 → 通用 → 系统 → 启用模糊匹配中关闭该开关后,普通搜索词(未附加任何操作符)将转为精确子串匹配——输入 abc 将只匹配包含连续 abc 的名称,不再匹配 a-b-c。该开关仅改变未带修饰符的普通词,后文介绍的所有操作符行为均保持一致。
大小写不敏感(Case Insensitive)
匹配始终忽略大小写,且双向生效——你输入时的大写不会改变命中范围,文件名的实际大小写同样不影响。myfile、MyFile、MYFILE 之间可以互相命中。
不再有大小写敏感模式:输入大写字母不会再让该词只匹配精确大小写。
拼音别名与排序
中文文件名可用拼音检索,有两种形式:简拼(每个字一个字母,如「恶性」的 ex)和全拼(完整拼出每个音节,如「证书」的 zhengshu)。
排序权重:匹配位置 > 覆盖率 > 英文 > 简拼 > 全拼。 先看匹配起点是否更靠左,再看匹配是否更紧凑完整;英文/简拼/全拼只在两者都相同时才用于区分。所以英文命中不再自动优先于拼音命中——只有在位置与紧凑度都相当时才优先。最后一个音节只输入一半仍然可以命中,所以输入 zhengsh 时「证书」不会消失,便于边打边搜。
关闭模糊匹配时,拼音匹配必须对齐音节起点。ex 可以命中「恶性」(两个字的首字母),但不会命中「学习」(那需要把 xue 的结尾和 xi 的开头拼接起来)。开启模糊匹配时,这种松散匹配正是你所要求的,依然可用。
2. 多词组合与逻辑运算
空格:AND(与)
多个关键词之间使用空格分隔,表示同时满足所有条件。各个关键词在文件名中出现的先后顺序不受限制:
report final 2024上述输入可以同时命中 2024-Q3-report-final.docx 与 final_report_2024.pdf。
竖线 |:OR(或)
使用竖线 | 分隔关键词,表示满足其中任意一个条件即可:
png | jpg | gif可自由混合 AND 与 OR 逻辑。例如:
report | summary表示查找名称包含 report 或 summary 的文件。在 OR 查询中,结果名称中所有命中条件的关键词都会同步高亮显示。
运算优先级:AND 优先于 OR
在同一查询中混合使用空格(AND)与竖线 |(OR)时,默认情况下空格的优先级更高:空格分隔的连续词会先合并为同一个 AND 组,各组之间再取 OR。查询不支持括号,说明这已是标准的布尔运算读法——但旧的结合顺序只需一个开关即可恢复(见下)。
report | summary 2024 | draft等价于 report OR (summary AND 2024) OR draft。
这正是「先列出几个候选项、再对其中一个加限定」时的预期读法:summary 2024 会保持为一个整体条件,而不会散开成两个彼此独立的候选项。
切回 OR 优先
在 设置 → 通用 → 系统 → OR 优先于 AND(旧行为) 中,可以恢复 Lertaro 历史上的结合顺序,即竖线优先于空格:
report | summary 2024 | draft此时等价于 (report OR summary) AND (2024 OR draft)。
该开关只改变这两个运算符之间的优先级,不引入任何新运算符;对只使用其中一种运算符的查询没有任何影响(无论开关处于哪一侧,read me 与 readme | rdm 的含义都相同)。
注意:| 必须作为独立词并以空格与两侧分隔,a|b 或 a |b 不会按 OR 解析;也不要把 ! 排除词放进 | 的 OR 组(如 b | !c),它会被解析为「b 匹配或 c 不匹配」,若想排除某个词,请让它作为独立的空格条件(如 b !c)。
引用与优先级
单引号短语 '...' 不会跨越竖线——竖线始终会终止短语的作用范围,因此 'data | 'backup 是两个 OR 候选项(各含一个被引用的词),而不是一个包含竖线的短语。这一点在两种优先级设置下都成立。
词内空格与短语引用
若要搜索本身包含空格的短语,可以使用反斜杠转义空格 \ ,或使用单引号 '...' / 双引号 "..." 包裹短语:
final\ report
'final report'上述写法均会将 final report 视为一个包含空格的完整词,而不是拆分为两个独立的 AND 关键词。
粘贴多行文本自动折叠为 OR
当从电子表格、文本文件或日志中复制多行文本(一行一个文件名)并直接粘贴到搜索框中时,Lertaro 会自动将各行用 | 拼接折叠为一条 OR 查询(自动过滤空白行):
123
456
678粘贴后将自动转换为:
123 | 456 | 6783. 操作符修饰符大全
操作符速查表
| 操作符 / 语法 | 类型 | 效果说明 | 输入示例 | 匹配结果示例 |
|---|---|---|---|---|
| (无) | 默认模糊 | 字符按顺序出现在名称任意位置(开启模糊时) | report | Q3-report-final.docx |
! | 排除 | 排除名称中包含该精确子串的所有结果 | !temp | 过滤掉含有 temp 的文件 |
' | 翻转精确性 | 模糊开启时转精确子串;模糊关闭时转模糊匹配 | 'report | 必须包含连续的 report 子串 |
'...' | 词边界匹配 | 精确子串匹配,且要求位于单词边界(非单词内部) | 'app' | 匹配 app.exe、my-app.log,不匹配 whatsapp.exe |
^ | 前缀匹配 | 文件/文件夹名称必须以该内容开头 | ^IMG | IMG_20240101.jpg(不匹配 MY_IMG.jpg) |
$ | 后缀匹配 | 文件/文件夹名称必须以该内容结尾 | .pdf$ | document.pdf(不匹配 document.pdf.bak) |
^...$ | 完全匹配 | 文件/文件夹名称必须与该内容完全相等 | ^readme.md$ | 仅精确匹配 readme.md |
| | 或逻辑 | 匹配管道符任意一侧的条件 | doc | pdf | 匹配名称包含 doc 或 pdf 的项 |
操作符进阶说明与实战组合
- 排除修饰符
!:!term会将包含term精确子串的结果直接剔除。排除项不会进行拼音扩展,以避免误排除无辜文件。 - 精确性翻转
':在全局模糊匹配开启的状态下,前缀'可使特定关键词临时走精确子串匹配。- 例如
lertaro 'v1.2表示lertaro走模糊搜索,而v1.2必须作为连续字符精准出现。 - 即便开启了精确搜索,程序仍将匹配存在拼音别名的文件名,如
'exe$可搜索到古恩希尔(拼音映射为gexe)。
- 例如
- 词边界精确匹配
'...':用单引号包裹单个词(如'app')时,匹配引擎会检查前后边界(空白字符、标点符号、减号、下划线或字符串首尾),避免在长单词中间发生误命中。 - 完全匹配
^...$:仅当^和$作用于同一个词时生效。如果分别写在不同词上(如^src md$),则仍分别作为前缀和后缀条件。
多操作符组合实战示例:
^IMG !.png$ 2024:查找以IMG开头、包含2024、且后缀不是.png的文件。'data | 'backup ^2024 .zip$:查找以2024开头、以.zip结尾,且名称中精确包含data或backup的压缩包。^report '公告 | 'gw .pdf$ !draft:名称以report开头、以.pdf结尾、不包含draft,且名称中精确包含公告或gw或公文及其他符合gw拼音的文字组合('公告 | 'gw组成一个 OR 组,其余空格条件与它取 AND)。
4. 路径模式与盘符限定
指定盘符
在搜索框开头输入盘符加冒号,可将搜索范围严格限定在指定驱动器:
d: report空格可以省略,d:report 与 d: report 等效。
完整路径模式
当搜索内容包含路径分隔符(\ 或 /)时,Lertaro 会自动切换为全路径匹配模式:
D:\Projects\Lertaro若以路径分隔符结尾(如 D:\Projects\),则会直接检索该文件夹内部的所有子项。
智能上级文件夹回退匹配(Folder Matching)
当针对文件名的普通搜索未填满结果列表上限时,Lertaro 会自动使用查询词中未命中文件名的部分去匹配上级祖先文件夹名称,无需额外语法:
d01j dcj即使 dcj 没有出现在文件本身的名字中,也能找到位于名为(或拼音别名为)dcj 的文件夹下的 d01j.txt 文件。
NOTE
该特性要求至少有一个词命中文件名本身,且仅在文件名直接匹配未填满结果时触发。回退补全的结果始终排列在常规结果之后,绝不会顶替或打乱文件名直接匹配的结果。
5. 查询标记与二次过滤(Query Tokens)
Lertaro 支持在主搜索词后追加以冒号 :(可在设置 → 通用 → 系统 → 查询标记总前导字符中自定义)引导的查询标记(Query Tokens),对初筛结果进行链式二次过滤与排序。
支持在单个 : 后使用逗号 , 组合多个标记,例如 report :@doc,M-,:-F。
文件分类过滤(:@<分类名>)
快速套用预设的扩展名分类规则,支持使用 | 组合多个分类:
:@doc:文档类(*.doc; *.docx; *.pdf; *.txt; *.ppt; *.pptx; *.xls; *.xlsx; *.csv; *.rtf; *.md; *.wps):@img:图片类(*.jpg; *.jpeg; *.png; *.gif; *.bmp; *.webp; *.ico; *.svg; *.tif; *.tiff; *.psd; *.ai):@video:视频类(*.mp4; *.mkv; *.avi; *.mov; *.wmv; *.flv; *.m4v; *.webm; *.3gp; *.rmvb; *.ts):@audio:音频类(*.mp3; *.wav; *.flac; *.aac; *.ogg; *.m4a; *.wma; *.ape):@zip:压缩包类(*.zip; *.rar; *.7z; *.tar; *.gz; *.bz2; *.xz; *.iso)
示例:
财务 :@doc:在文档中搜索“财务”。壁纸 :@img:在图片中搜索“壁纸”。clip :@video|audio:在视频或音频文件中搜索“clip”。
你可以在设置 → 插件 → CoreExtensions中自由修改分类规则或新增自定义分类。
完整搜索窗口左侧的类型过滤面板在同一插件的搜索过滤器设置组中单独配置。侧栏过滤器的名称仅用于显示;@关键字 引用只在侧栏过滤器的规则字段中解析,并引用自定义过滤器列表中的关键字,包括未启用的过滤器。
扩展名精准过滤(:.ext 或 :.ext1.ext2)
使用点号直接指定一个或多个文件扩展名(会自动排除文件夹):
report :.pdf:只保留.pdf文件。data :.csv.xlsx:只保留.csv或.xlsx表格文件。
结果排序与文件/目录筛选(:[SCMAF])
使用单个字母指定排序属性:S(文件大小)、C(创建时间)、M(修改时间)、A(访问时间)、F(文件夹/文件过滤)。
默认字母代表升序(从小到大 / 从旧到新);添加减号 -(前缀或后缀均可,如 M- 或 :-M)代表降序(从大到小 / 从新到旧)或反向过滤:
| 标记语法 | 效果说明 | 典型应用场景 |
|---|---|---|
:S | 按文件大小升序排列(最小在前) | 查找空文件或极小文件 |
:S- 或 :-S | 按文件大小降序排列(最大在前) | log :S-(排查体积最大的日志文件) |
:M | 按修改时间升序排列(最早修改在前) | 查找长期未更新的历史文件 |
:M- 或 :-M | 按修改时间降序排列(最新修改在前) | report :M-(快速查找最近修改过的文档) |
:C / :C- | 按创建时间升序 / 降序排列 | build :C-(查找最新生成的构建产物) |
:A / :A- | 按访问时间升序 / 降序排列 | project :A-(查找最近打开过的工程) |
:F | 仅保留文件夹(过滤掉所有普通文件) | config :F(仅查找名为 config 的目录) |
:-F 或 :F- | 仅保留文件(过滤掉所有文件夹目录) | config :-F(仅查找名为 config 的文件) |
通配符二次过滤(:?<表达式> 或 ?<表达式>)
使用标准 Windows 通配符(? 匹配单个字符,* 匹配任意字符序列)对结果进行精确匹配,支持用 | 或 ; 分隔多个 OR 条件:
mp4 :?(2026???????????):匹配包含2026且后跟 11 位时间戳的视频文件。photo :?IMG_????.jpg|DSC_????.jpg:同时匹配两种相机格式的特定照片编号。
路径模糊二次匹配(::<路径表达式>)
要求结果的任意一级上级目录名或文件名本身匹配指定的模糊关键词:
report ::2024:要求文件所在路径的各级目录中必须包含2024。main ::"src\core":要求文件位于src\core及其子目录下。
链式组合实战示例
各个标记可以组合在同一个 : 后使用:
财务报表 :@doc,M-:搜索“财务报表”,限定文档类型,按修改时间倒序排列(最新修改在前)。backup :.zip,S-,:-F:搜索“backup”,限定.zip格式,按体积从大到小排列,且仅显示文件。icon ::assets,?*128*:搜索“icon”,限定路径包含assets,且文件名中包含128尺寸标识。
6. 特殊搜索技巧
单次搜索临时绕过排除规则
在查询最开头输入 *,可让本次搜索临时忽略在排除规则中配置的路径排除、Glob 和正则表达式,无需修改设置:
*node_modules* 本身会在搜索前自动剥离,不会参与文本匹配。该功能仅能召回已索引的内容(网络盘或 WSL 中未被索引的排除项不会出现);系统隐藏文件等基础过滤依然保持生效。
结果类型触发符
在设置 → 通用 → 快速搜索窗口 → 结果类型优先级中,可以为特定结果类型(应用程序、系统设置、文件分类、插件条目、普通文件等)配置单字符触发符。
在快速搜索栏最前面输入该触发符,将只显示该类型的结果,其他类型全部隐藏:
;vs若 ; 被配置为“应用程序”类型的触发符,上述输入将只在应用程序中检索 Visual Studio。在快速搜索与内嵌窗口中,历史记录与收藏夹不受触发符影响,始终置顶展示。
7. 多语言智能别名
中文文件名:拼音别名
内置拼音别名插件(PinyinAlias),无需配置即可直接使用拼音检索中文文件名:
- 全拼检索:输入
chongqing即可精准命中名为重庆.docx的文件。 - 简拼 / 首字母:输入
cq同样可匹配重庆.docx;输入wzry可匹配王者荣耀.exe。 - 多音字支持:系统会为汉字的常见读音同时建立别名索引(如“重庆”可同时匹配
chongqing与zhongqing,“银行”可匹配yinhang与yinxing)。
可在设置 → 插件中确认 PinyinAlias 插件是否处于启用状态。
西班牙语文件名:重音别名
内置 SpanishAlias 插件,支持使用标准无重音 ASCII 字母检索包含西班牙语重音字符(á、é、í、ó、ú、ü、ñ)的文件名:
- 输入
cancion匹配Canción.mp3。 - 输入
nino匹配Niño.txt。 - 输入
ciguena匹配Cigüeña.png。
命中的字符(包含原文件名中的重音字符)将保持精准高亮。可在设置 → 插件中管理 SpanishAlias 插件。
8. 常见疑问与收藏夹
收藏夹,而非自定义别名
Lertaro 并未设计通用的“自定义搜索别名/宏”机制。最接近的替代方案:
- 收藏夹:将任意文件、文件夹或网址收藏为自定义显示名称后,即可通过该名称直接搜到它(结果中带有 ★ 标记)。
- 文件过滤器(参阅即时答案):为触发关键字绑定若干文件夹后,在快捷搜索框输入
关键字 词即可将常规索引检索限定在这些文件夹内。
如果你需要通过自定义关键词快速启动外部程序或执行脚本,请参阅自定义命令。