Skip to content

搜尋語法

SwiftList 的搜尋框支援的不只是一般輸入。下面每一種運算子都可以和一般模糊詞混合使用在同一條查詢裡。

模糊比對(預設)

輸入名稱的任意一部分即可命中,只要字元按順序出現在檔案/資料夾名稱的任意位置即可,不需要輸入連續的子字串:

輸入命中
swlstSwiftList.exe
reportQ3-report-final.docx

設定 → 通用 → 系統 → 啟用模糊比對裡關掉這個開關後,一般查詢詞(不帶任何運算子)就必須作為連續子字串出現——abc 不再符合 a-b-c。下面表格裡的每一種運算子不受這個開關影響,行為完全一樣;開關只改變一般詞本身的要求。' 運算子不管這個開關開沒開,都會對單一詞翻轉精確性,所以你可以在一條整體走精確比對的查詢裡塞進一個模糊詞,或者反過來,而不用去改這個全域開關。

多個詞

用空格分隔多個詞。每個詞都會進一步縮小結果範圍——但不要求這些詞按你輸入的順序出現:

report final

final-Q3-report.docxQ3-report-final.docx 都能符合。

大小寫敏感

  • 全部小寫的查詢不區分大小寫:myfile 可以符合 MyFileMYFILE 等。
  • 只要查詢裡出現任意大寫字母,該詞就變為大小寫敏感:MyFile 只符合 MyFile,不符合 myfile

運算子

前綴/後綴範例效果
(無)report預設的模糊比對,命中名稱中任意位置。
!!temp排除——過濾掉名稱中含有 temp 這個精確子字串的結果(這一項不走模糊比對)。
''report對這一個詞翻轉精確性——模糊比對開啟(預設)時變成精確子字串比對;在設定裡關閉模糊比對後,這個詞反而會變回模糊比對。
'...''final report'精確比對,且要求詞邊界(不會命中被包在較長單詞內部的情況)。
^^IMG前綴比對——名稱必須以 IMG 開頭。
$.pdf$後綴比對——名稱必須以 .pdf 結尾。
^...$^readme.md$完全相等——名稱必須正好是 readme.md。僅當兩者包住同一個詞時成立;分別寫在不同的詞上時,它們各自仍然只是前綴和後綴過濾。
|report | summary——符合管線符任意一側。

這些運算子可以自由組合,例如 ^IMG !.png$ 2024 可以找到以 IMG 開頭、包含 2024、但不是 PNG 的檔案。

「或」查詢裡,一個結果名稱中每一個真正比對到的詞都會高亮,不只是最先比對到的那一個——所以 report | summary 如果結果名稱裡同時包含這兩個詞,兩個詞都會被高亮。

貼上多行文字

貼上包含多行的文字——比如從表格或文字檔一行一個檔名複製過來的內容——SwiftList 會自動把它們摺疊成一條 OR 查詢,而不是原樣貼上:

123
456
678

貼上進去會變成 123 | 456 | 678,同時符合這三者中的任意一個。空行會被跳過。一般的單行貼上不受影響。

指定磁碟機代號

在查詢開頭輸入磁碟機代號加冒號,即可把搜尋範圍限定在該磁碟機,後面照常輸入關鍵字:

d: report

只在 D: 磁碟機搜尋。

空格可以省略:d:reportd: report 意思相同。

路徑模式

如果查詢裡包含路徑分隔符號(\/),SwiftList 會切換到路徑模式,按完整路徑而不僅僅是名稱來比對——適合直接跳轉到已知的資料夾:

D:\Projects\SwiftList

以分隔符號結尾(D:\Projects\)則會搜尋該資料夾內部的內容。

按資料夾名稱篩選

在查詢末尾加上 ::<文字>,可以額外要求命中結果自身的名稱或其某一層上層資料夾符合 <文字>(模糊比對,包括拼音,跟其他地方的比對方式完全一致):

1080 ::wallpapers

可以找到名稱裡帶 1080、且位於某個符合 wallpapers 的資料夾下面的檔案,不需要知道或輸入完整路徑。多個篩選條件可以用逗號組合:report ::2024,:final

詞描述的是資料夾,不是檔案本身

如果按檔案/資料夾名稱匹配未能填滿結果,SwiftList 會自動補上一批,額外允許詞命中上層資料夾——不需要任何特殊語法:

d01j dcj

即使 dcj 從未出現在檔案自己的名稱裡,也能找到一個名為 d01j、位於名為(或別名為)dcj 的資料夾下的檔案。這只是用檔案上層的資料夾名稱,補齊查詢裡沒被檔名本身涵蓋的部分——至少要有一個詞仍然命中檔名本身,而且只在按名稱的一般搜尋未填滿結果時才會觸發;補上來的結果一律排在它們後面,不會與之混排,所以永遠不會頂掉或打亂一般搜尋本來就能找到的結果。上層資料夾的比對方式和檔名完全一樣,所以拼音在這裡同樣能命中中文資料夾名稱。

單次搜尋略過排除規則

在查詢開頭加 *,可以讓這一次搜尋略過你自己設定的排除規則—— ExcludedPaths、忽略的 glob、忽略的正規表示式——而不需要改動設定本身:

*node_modules

* 本身會在比對之前被剝離掉,不會被當成搜尋文字的一部分。這只能找回已經被索引過的結果;一個從未被索引過的資料夾(網路磁碟或 WSL 上被排除的資料夾)依然不會出現。隱藏/系統檔案不受影響,始終照常過濾——* 只影響你自己設定的排除規則。只打 *、後面還沒打內容時,會顯示「繼續輸入以搜尋」這樣的提示,而不是「無搜尋結果」,因為這時候實際上還沒有真正搜尋過。

結果類型觸發符

可選功能,預設沒有設定,需要自己指定字元。如果你在設定 → 通用 → 快速搜尋視窗 → 結果類型優先權裡給某個結果類型設了觸發符,把這個字元打在快速視窗查詢的最前面,就只會顯示這個類型的結果——應用程式、系統設定、某一個具體的檔案篩選器、某個外掛自己的項目,或者純檔案——其他類型全部隱藏:

;vs

如果 ; 是應用程式這個類型設定的觸發符,這樣搜就只會在應用程式裡找「Visual Studio」,不管其他類型的文字本來符合得多好都不參與競爭。只打觸發符、後面還沒打內容時,會顯示一個說明具體類型的提示,而不是「無搜尋結果」。歷史記錄和我的最愛不受影響——不管有沒有觸發符,它們始終排最前。預設沒有設定任何觸發符,去通用設定裡可以自行設定。

中文檔名:拼音別名

包含中文字元的檔名會自動支援拼音搜尋,無需任何設定:

  • 全拼:輸入 chongqing 可以符合名為「重慶」的檔案。
  • 首字母:輸入 cq 同樣可以符合「重慶」(每個音節的首字母)。
  • 多音字(有多種讀音的漢字)會為每種常見讀音都產生別名,所以不管你想到的是哪種讀音,通常都能命中。

這是由內建的別名外掛負責實作的——如果想確認它是否啟用,可以到設定 → 外掛裡查看。

我的最愛,而非自訂別名

SwiftList 沒有一個通用的「自訂別名/巨集」系統。最接近的等效功能是我的最愛:把資料夾、檔案或網址收藏為一個自訂顯示名稱,之後就能用這個名稱搜到它(結果裡會帶 ★ 標記)。如果你想要的其實是「自訂一個關鍵字來啟動某個程式」,可以看看自訂命令