Skip to content

搜尋語法

Lertaro 的搜尋框遠不只是單純的文字比對。它配備了極速的搜尋引擎,支援模糊跳躍比對、邏輯運算子、詞邊界修飾符、磁碟機與路徑鎖定、二次篩選標記(Query Tokens)以及多語言智能別名,所有語法均可在同一條查詢中自由混合使用。

1. 基礎比對模式與大小寫

模糊比對(預設)

Lertaro 預設啟用模糊比對(Fuzzy Matching)。只需輸入關鍵字的任意部分,只要字元按先後順序出現在檔案或資料夾名稱中,即使不連續也能精準命中:

輸入範例比對結果範例說明
ltroLertaro.exe字元按 ltro 順序跳躍命中(Lertaro.exe)
vscVisual Studio Code.lnk命中各單詞首字母(Visual Studio Code)
rt-finQ3-report-final.docx命中連續子字串(Q3-report-final.docx)

設定 → 一般 → 系統 → 啟用模糊比對中關閉該開關後,一般搜尋詞(未附加任何運算子)將轉為精確子字串比對——輸入 abc 將只比對包含連續 abc 的名稱,不再比對 a-b-c。該開關僅改變未帶修飾符的一般詞,後文介紹的所有運算子行為均保持一致。

大小寫不敏感(Case Insensitive)

比對一律忽略大小寫,且雙向生效——你輸入時的大寫不會改變命中範圍,檔案名稱的實際大小寫同樣不影響。myfileMyFileMYFILE 之間可以互相命中。

不再有大小寫敏感模式:輸入大寫字母不會再讓該詞只比對精確大小寫。

拼音別名與排序

中文檔案名稱可用拼音檢索,有兩種形式:簡拼(每個字一個字母,如「惡性」的 ex)和全拼(完整拼出每個音節,如「證書」的 zhengshu)。

排序權重:比對位置 > 覆蓋率 > 英文 > 簡拼 > 全拼。 先看比對起點是否更靠左,再看比對是否更緊湊完整;英文/簡拼/全拼只在兩者都相同時才用於區分。所以英文命中不再自動優先於拼音命中——只有在位置與緊湊度都相當時才優先。最後一個音節只輸入一半仍然可以命中,所以輸入 zhengsh 時「證書」不會消失,便於邊打邊搜。

關閉模糊比對時,拼音比對必須對齊音節起點。ex 可以命中「惡性」(兩個字的首字母),但不會命中「學習」(那需要把 xue 的結尾和 xi 的開頭拼接起來)。開啟模糊比對時,這種鬆散比對正是你所要求的,依然可用。

2. 多詞組合與邏輯運算

空格:AND(與)

多個關鍵字之間使用空格分隔,表示同時滿足所有條件。各個關鍵字在檔案名稱中出現的先後順序不受限制

text
report final 2024

上述輸入可以同時命中 2024-Q3-report-final.docxfinal_report_2024.pdf

豎線 |:OR(或)

使用豎線 | 分隔關鍵字,表示滿足其中任意一個條件即可:

text
png | jpg | gif

可自由混合 AND 與 OR 邏輯。例如:

text
report | summary

表示尋找名稱包含 reportsummary 的檔案。在 OR 查詢中,結果名稱中所有命中條件的關鍵字都會同步反白顯示。

運算優先級:AND 優先於 OR

在同一查詢中混合使用空格(AND)與豎線 |(OR)時,預設情況下空格的優先級更高:空格分隔的連續詞會先合併為同一個 AND 組,各組之間再取 OR。查詢不支援括號,這已是標準的布林運算讀法——但舊的結合順序只需一個開關即可恢復(見下)。

text
report | summary 2024 | draft

等價於 report OR (summary AND 2024) OR draft

這正是「先列出幾個候選項、再對其中一個加限定」時的預期讀法:summary 2024 會保持為一個整體條件,而不會散開成兩個彼此獨立的候選項。

切回 OR 優先

設定 → 一般 → 系統 → OR 優先於 AND(舊行為) 中,可以恢復 Lertaro 歷史上的結合順序,即豎線優先於空格:

text
report | summary 2024 | draft

此時等價於 (report OR summary) AND (2024 OR draft)

該開關只改變這兩個運算子之間的優先級,不引入任何新運算子;對只使用其中一種運算子的查詢沒有任何影響(無論開關處於哪一側,read mereadme | rdm 的含義都相同)。

注意:| 必須作為獨立詞並以空格與兩側分隔,a|ba |b 不會按 OR 解析;也不要把 ! 排除詞放進 | 的 OR 組(如 b | !c),它會被解析為「b 比對或 c 不比對」,若想排除某個詞,請讓它作為獨立的空格條件(如 b !c)。

引用與優先級

單引號短語 '...' 不會跨越豎線——豎線始終會終止短語的作用範圍,因此 'data | 'backup 是兩個 OR 候選項(各含一個被引用的詞),而不是一個包含豎線的短語。這一點在兩種優先級設定下都成立。

詞內空格與短語引用

若要搜尋本身包含空格的短語,可以使用反斜線轉義空格 \ ,或使用單引號 '...' / 雙引號 "..." 包裹短語:

text
final\ report
'final report'

上述寫法均會將 final report 視為一個包含空格的完整詞,而不是拆分為兩個獨立的 AND 關鍵字。

貼上多行文字自動摺疊為 OR

當從試算表、文字檔案或記錄檔中複製多行文字(一行一個檔案名稱)並直接貼上到搜尋框中時,Lertaro 會自動將各行用 | 拼接摺疊為一條 OR 查詢(自動過濾空白行):

text
123
456
678

貼上後將自動轉換為:

text
123 | 456 | 678

3. 運算子修飾符大全

運算子速查表

運算子 / 語法類型效果說明輸入範例比對結果範例
(無)預設模糊字元按順序出現在名稱任意位置(開啟模糊時)reportQ3-report-final.docx
!排除排除名稱中包含該精確子字串的所有結果!temp過濾掉含有 temp 的檔案
'翻轉精確性模糊開啟時轉精確子字串;模糊關閉時轉模糊比對'report必須包含連續的 report 子字串
'...'詞邊界比對精確子字串比對,且要求位於單詞邊界(非單詞內部)'app'比對 app.exemy-app.log,不比對 whatsapp.exe
^前綴比對檔案/資料夾名稱必須以此內容開頭^IMGIMG_20240101.jpg(不比對 MY_IMG.jpg
$後綴比對檔案/資料夾名稱必須以此內容結尾.pdf$document.pdf(不比對 document.pdf.bak
^...$完全比對檔案/資料夾名稱必須與此內容完全相等^readme.md$僅精確比對 readme.md
|或邏輯比對管線符號任意一側的條件doc | pdf比對名稱包含 docpdf 的項目

運算子進階說明與實戰組合

  1. 排除修飾符 !!term 會將包含 term 精確子字串的結果直接剔除。排除項不會進行拼音擴展,以避免誤排除無辜檔案。
  2. 精確性翻轉 ':在全域模糊比對開啟的狀態下,前綴 ' 可使特定關鍵字臨時走精確子字串比對。
    • 例如 lertaro 'v1.2 表示 lertaro 走模糊搜尋,而 v1.2 必須作為連續字元精準出現。
    • 即便開啟了精確搜尋,程式仍將比對存在拼音別名的檔名,如 'exe$ 可搜尋到 古恩希爾(拼音映射為 gexe)。
  3. 詞邊界精確比對 '...':用單引號包裹單個詞(如 'app')時,比對引擎會檢查前後邊界(空白字元、標點符號、減號、底線或字串首尾),避免在長單詞中間發生誤命中。
  4. 完全比對 ^...$:僅當 ^$ 作用於同一個詞時生效。如果分別寫在不同詞上(如 ^src md$),則仍分別作為前綴和後綴條件。

多運算子組合實戰範例

  • ^IMG !.png$ 2024:尋找以 IMG 開頭、包含 2024、且後綴不是 .png 的檔案。
  • 'data | 'backup ^2024 .zip$:尋找以 2024 開頭、以 .zip 結尾,且名稱中精確包含 databackup 的壓縮檔。
  • ^report '公告 | 'gw .pdf$ !draft:名稱以 report 開頭、以 .pdf 結尾、不包含 draft,且名稱中精確包含 公告gw公文 及其他符合 gw 拼音的文字組合('公告 | 'gw 組成一個 OR 組,其餘空格條件與它取 AND)。

4. 路徑模式與磁碟機限定

指定磁碟機

在搜尋框開頭輸入磁碟機代號加冒號,可將搜尋範圍嚴格限定在指定磁碟機:

text
d: report

空格可以省略,d:reportd: report 等效。

完整路徑模式

當搜尋內容包含路徑分隔符號(\/)時,Lertaro 會自動切換為全路徑比對模式:

text
D:\Projects\Lertaro

若以路徑分隔符號結尾(如 D:\Projects\),則會直接搜尋該資料夾內部的所有子項目。

智能上級資料夾回退比對(Folder Matching)

當針對檔案名稱的一般搜尋未填滿結果列表上限時,Lertaro 會自動使用查詢詞中未命中檔案名稱的部分去比對上級祖先資料夾名稱,無需額外語法:

text
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 和正則表達式,無需修改設定:

text
*node_modules

* 本身會在搜尋前自動剝離,不會參與文字比對。該功能僅能召回已建立索引的內容(網路磁碟機或 WSL 中未被建立索引的排除項不會出現);系統隱藏檔案等基礎過濾依然保持生效。

結果類型觸發符

設定 → 一般 → 快速搜尋視窗 → 結果類型優先級中,可以為特定結果類型(應用程式、系統設定、檔案分類、外掛模組項目、普通檔案等)設定單字元觸發符

在快速搜尋列最前面輸入該觸發符,將只顯示該類型的結果,其他類型全部隱藏:

text
;vs

; 被設定為「應用程式」類型的觸發符,上述輸入將只在應用程式中搜尋 Visual Studio。在快速搜尋與內嵌視窗中,歷史記錄與我的最愛不受觸發符影響,始終置頂展示。

7. 多語言智能別名

中文檔名:拼音別名

內建拼音別名外掛模組(PinyinAlias),無需設定即可直接使用拼音搜尋中文檔案名稱:

  • 全拼搜尋:輸入 chongqing 即可精準命中名為 重慶.docx 的檔案。
  • 簡拼 / 首字母:輸入 cq 同樣可比對 重慶.docx;輸入 wzry 可比對 王者榮耀.exe
  • 多音字支援:系統會為漢字的常見讀音同時建立別名索引(如「重慶」可同時比對 chongqingzhongqing,「銀行」可比對 yinhangyinxing)。

可在設定 → 外掛模組中確認 PinyinAlias 外掛模組是否處於啟用狀態。

西班牙語檔名:重音別名

內建 SpanishAlias 外掛模組,支援使用標準無重音 ASCII 字母搜尋包含西班牙語重音字元(áéíóúüñ)的檔案名稱:

  • 輸入 cancion 比對 Canción.mp3
  • 輸入 nino 比對 Niño.txt
  • 輸入 ciguena 比對 Cigüeña.png

命中的字元(包含原檔案名稱中的重音字元)將保持精準反白。可在設定 → 外掛模組中管理 SpanishAlias 外掛模組。

8. 常見疑問與我的最愛

我的最愛,而非自訂別名

Lertaro 並未設計通用的「自訂搜尋別名/巨集」機制。最接近的替代方案:

  • 我的最愛:將任意檔案、資料夾或網址加入我的最愛並指定自訂顯示名稱後,即可透過該名稱直接搜尋到它(結果中帶有 ★ 標記)。
  • 檔案篩選器(參閱即時答案):為觸發關鍵字綁定若干資料夾後,在快速搜尋框輸入 關鍵字 詞 即可將一般索引搜尋限定在這些資料夾內。

如果你需要透過自訂關鍵字快速啟動外部程式或執行指令碼,請參閱自訂命令