曾经的我一向使用 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. Centos 7 下创建LVM流程

    https://www.cnblogs.com/ssslinppp/p/5853312.html

  2. 自定义界面上绘制Text,可通过拖动控制文字大小及其位置

    项目地址 最近项目上有个需求,需要在一块区域中显示文字,这块区域可以拖动,也可以通过拖拽右下角来改变大小,里面的文字大小要根据区域的大小进行自适应.刚开始觉得这个需求不难,只需要一个TextView就 ...

  3. django之ModelBase类及mezzanine的page link类

    class ModelBase(type): """ Metaclass for all models. """ def __new__(c ...

  4. oracle常用函数详解(详细)

    转自:https://www.cnblogs.com/lxl57610/p/7442130.html Oracle SQL 提供了用于执行特定操作的专用函数.这些函数大大增强了 SQL 语言的功能.函 ...

  5. vue全局变量定义和修改

    1. 只读的全局变量 对于只读的全局变量,知道的有以下两种使用方式: 1)global.js 模块中定义:其他模块import后再使用即可 1.1)定义 import Vue from 'vue'; ...

  6. mysql 索引,转载

    from:http://blog.csdn.net/zhanglu0223/article/details/8713149 1. 索引建立的原则 用于索引的最好的备选数据列是那些出现在WHERE子句. ...

  7. 跨域(六)——window.name

    window.name也可以进行跨域数据传输. 下面是相应的代码,evil.html跨域读取foo.html的数据,其中proxy.html和evil.html同域,没有任何内容. evil.html ...

  8. unity脚本执行顺序

    Awake ->OnEable-> Start ->-> FixedUpdate-> Update  -> LateUpdate ->OnGUI ->R ...

  9. Unity 菜单拓展

    添加自定义菜单项 [MenuItem("test/item1 %g")] public static void haha() { Debug.Log("this is a ...

  10. 记一个pg连接数过多的异常

    java中使用数据库连接池,如果在部署的时候,操作不慎,可能出现典型的连接池爆满的问题 org.postgresql.util.PSQLException: FATAL: sorry, too man ...