macOS 爲 Markdown 文件開啓全文檢索方法

曾經的我一貫使用 Evernote + 馬克飛象來記載筆記和文檔。不過感受這兩個東西愈來愈不思進取,幾年都沒什麼變化。因此,一年多曾經,我就把一切筆記遷移成本地 Markdown 文件,合做 Dropbox 來實現雲端同步。

在新方法下,我用的 Markdown 編輯器是 Markeditor,這個編輯器有許多長處:渲染好看、格局支撐多等等。但也有很多缺陷,比方技能架構陳舊,功用欠安。不過這些毛病都是次要的,MarkEditor 最大的問題是:沒有全文檢索才能。

以前使用 Evernote 時,它的文檔查找功用很強壯。而相比之下, Markeditor 的查找功用只能充當個 grep 指令行東西用:

macOS 爲 Markdown 文件開啓全文檢索方法

Markeditor 尷尬的查找功用

跟着本地文檔愈來愈多,我對全文檢索的需求也愈來愈強。在第 N 次沒法快速找到我要的文檔後,我預備本身用 Python + jieba 實現一個支撐中文分詞的本地文檔檢索東西。

不過,在着手前,我俄然想到: macOS 自帶的 Spotlight 不是支撐全文檢索嗎?爲何不直接用 Spotlight 來檢索 Markdown 文檔呢?

調整 Spotlight 來檢索 Markdown 文檔

Spotlight 是 macOS 自帶的查找東西,提供查找和快速跳轉功用。但在默認裝備下,Spotlight 不會索引以 .md 後綴名完畢的 Markdown 文件。不過通過一些裝備,我們可以改變這點:

下載這份 Spotlight 使用的 importer 文件 文件來歷在文章結尾
解壓後放置到 ~/Library/Spotlight/ 目錄
履行 mdimport -r ~/Library/Spotlight/Markdown.mdimporter 來讓 Spotlight 手動加載 importer 文件
因爲 Spotlight 並不會實時更新索引,因此你需求觸發強制更新:

翻開 System Preferences -> Spotlight
點擊 Privacy Tab 頁面
將你的文檔所在目錄添加到列表中,隨後刪除
以後 Spotlight 便會重建索引。等一會後,你就可以用 Spotlight 搜到你的 Markdown 文件了。

約束目錄進行全文檢索

Spotlight 默認會查找一切目錄的一切文檔,若是你只想查找某個特定的文件夾,可以使用 Spotlight 的指令行東西:mdfind

$ mdfind "django postgresql ORM" -onlyin ~/Dropbox/Documents/MDDocuments
~/Dropbox/Documents/MDDocuments/技能筆記/數據庫/PostgreSQL Sharding 方案研究.md
若是你是 Alfred 用戶,那你可以基於這個指令作一個 Workflow,專門用來檢索你的 Markdown 目錄,就像這樣:



我裝備的 Alfred Workflow

裝備完這些後,終於可以閒適的閒適的快速查找文檔了。感謝 Spotlight,讓我又少造了一個輪子。(擦汗)sql

相關文章
相關標籤/搜索