曾经的我一向使用 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,让我又少造了一个轮子。(擦汗)

macOS 为 Markdown 文件开启全文检索方法的更多相关文章

  1. [python]自动化将markdown文件转成html文件

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  2. [原创]使用Pandoc实现Markdown文件转PDF文件

    Markdown写法简单明快,我十分喜欢,以至于我最近都想使用Markdown快速的进行测试说明书的写作,但是考虑到这文档是要进行交接的,一个.md的文件在内部传输还是有不便,于是就想到了能不能把Ma ...

  3. 初遇Git与MarkDown 文件

    新年好! 昨晚熬夜在学Git,稍微会了一些命令. 推荐大家去try.github.io上学习,这是GitHub提供的网页,它在网页提供了一个“伪”模拟器,根据网页的提示学习命令.网页上说15分钟就能学 ...

  4. 自制 Python小工具 将markdown文件转换成Html文件

    今天看到了一个Python库,名为markdown.瞬间就给了我一个灵感,那就是制作一个将markdown文件转换成html文件的小工具. 我的实验环境 操作系统: Windows 7 64位 旗舰版 ...

  5. 在前端页面展示Markdown文件

    常我们都会在GitHub上浏览很多的readme文件,这些都是Markdown语法写成的Markdown文件,HTML中并没有用于展示Markdown文件的元素,那么为什么可以在前端展示呢? 有别于G ...

  6. Markdown文件导出为HTML的小程序

    Markdown文件导出为HTML的小程序 为什么做 最近把一些学习经验记下来,总结成MarkDown文件,不知不觉已经有12篇了. Sublime Text 的 MarkDown Preview 插 ...

  7. Atom编辑Markdown文件保存后行尾的空格自动消失的问题解决

    Markdown文件的行尾增加两个空格表示一行结束需要换行. 但保存文件后,行尾的空格自动消失,导致不换行. 解决方法: 1.[Edit]->[Preferences]->[Package ...

  8. dedeampz 套件关于PHP开启curl方法

    php开启curl方法主要用到三个文件libeay32.dll,php_curl.dll,ssleay32.dll 打开dede的安装目录,更改对应版本PHP中的php.ini文件,在 ; exten ...

  9. Markdown语法及使用方法完整手册

    欢迎使用 Markdown在线编辑器 MdEditor Markdown是一种轻量级的「标记语言」 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容 ...

随机推荐

  1. 关于 Thread.currentThread()

    currentThread()  到底是什么? 其实currentThread() 只是Thread 的一个静态方法.返回的正是执行当前代码指令的线程引用: /** * Returns a refer ...

  2. WebForm(Application,ViewState,Repeater的Command操作)

    一.AppliCation: 1.存储在服务器端,占用服务器内存 2.生命周期:永久 3.所有人都可访问的共有对象,一般用作服务器缓存 4.赋值:Application["key" ...

  3. 使用Flex4画图形:圆、矩形、线

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  4. Flex学习笔记--多层菜单按钮

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  5. leetcode140

    class Solution(object): def wordBreak(self, s, wordDict): """ :type s: str :type word ...

  6. PHP5 的五种常用模式

    PHP5 的五种常用模式. 工厂模式 最初在设计模式 一书中,许多设计模式都鼓励使用松散耦合.要理解这个概念,让我们最好谈一下许多开发人员从事大型系统的艰苦历程.在更改一个代码片段时,就会发生问题,系 ...

  7. APP-8.2-Postman应用

    用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具.今天给大家介绍的这款网页调试工具不仅可以 ...

  8. curator 实现分布式一致性锁

    最近准备在项目中引入分布式锁,故而研究基于zookeeper的curator框架. 网上资料不多,自己研究其源码发现,这个框架已经帮我做了很多现成的实现. 下面介绍下锁的实现: 通过源码中Lockin ...

  9. 【Noip模拟 20161005】友好城市

    问题描述 小ww生活在美丽的ZZ国.ZZ国是一个有nn个城市的大国,城市之间有mm条单向公路(连 接城市ii.jj的公路只能从ii连到jj).城市ii.jj是友好城市当且仅当从城市ii能到达城市jj并 ...

  10. SQL Server 中系统视图sysobjects中type字段的说明

    对象类型: AF = 聚合函数 (CLR) C = CHECK 约束 D = DEFAULT(约束或独立) F = FOREIGN KEY 约束 FN = SQL 标量函数 FS = 程序集 (CLR ...