搜尋語法
SwiftList 的搜尋框支援的不只是一般輸入。下面每一種運算子都可以和一般模糊詞混合使用在同一條查詢裡。
模糊比對(預設)
輸入名稱的任意一部分即可命中,只要字元按順序出現在檔案/資料夾名稱的任意位置即可,不需要輸入連續的子字串:
| 輸入 | 命中 |
|---|---|
swlst | SwiftList.exe |
report | Q3-report-final.docx |
在設定 → 通用 → 系統 → 啟用模糊比對裡關掉這個開關後,一般查詢詞(不帶任何運算子)就必須作為連續子字串出現——abc 不再符合 a-b-c。下面表格裡的每一種運算子不受這個開關影響,行為完全一樣;開關只改變一般詞本身的要求。' 運算子不管這個開關開沒開,都會對單一詞翻轉精確性,所以你可以在一條整體走精確比對的查詢裡塞進一個模糊詞,或者反過來,而不用去改這個全域開關。
多個詞
用空格分隔多個詞。每個詞都會進一步縮小結果範圍——但不要求這些詞按你輸入的順序出現:
report finalfinal-Q3-report.docx 和 Q3-report-final.docx 都能符合。
大小寫敏感
- 全部小寫的查詢不區分大小寫:
myfile可以符合MyFile、MYFILE等。 - 只要查詢裡出現任意大寫字母,該詞就變為大小寫敏感:
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:report 和 d: 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 沒有一個通用的「自訂別名/巨集」系統。最接近的等效功能是我的最愛:把資料夾、檔案或網址收藏為一個自訂顯示名稱,之後就能用這個名稱搜到它(結果裡會帶 ★ 標記)。如果你想要的其實是「自訂一個關鍵字來啟動某個程式」,可以看看自訂命令。