曾经的我一向使用 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. Linux设置DNS server

    查看: cat /etc/resolv.conf 修改: vim /etc/resolv.conf

  2. secureCRT 设置字体时,显示字体较少问题

    控制面板->字体->选择字体,右击"显示".就可以再crt中看到了.

  3. 【Flex】自定义组件-combobox组件

    1包结构 2 Test.mxml <?xml version="1.0" encoding="utf-8"?> <s:Application ...

  4. 科赫曲线和科赫雪花的绘制Python

    #KochDrawV1.pyimport turtledef koch(size,n): if n == 0: turtle.fd(size) else: for angle in [0,60,-12 ...

  5. Android虚拟机与Java虚拟机 两种虚拟机的比较

    在Android的体系框架中有一部分叫做Android Runtime,即Android运行时环境,这个环境包括了两个部分,一个是Android的核心类库,还有一个就是Dalvik虚拟机了. Andr ...

  6. ORM一对多查询对象

    正向查询: 取人民日报出版社出版的所有书籍 方式一: pub_obj = Publish.objects.filter(name='人民日报')[0] ret = Book.objects.filte ...

  7. https 学习总结

    最近看了点https 做下总结  面的博客如果没有错误的话,理解起来绝对是醍醐灌顶!让人信服,如果我的理解有问题,请及时指正! 参考博客:    http://www.ruanyifeng.com/b ...

  8. 高德地图 API 计算两个城市之间的距离

    1. 目前在项目中,遇到一个需求不会做,就是要计算两个城市之间的距离,而这两个城市的输入是可变的,如果要使用数据库来先存储两地之间的距离,调用的时候再来调用,那么存数据的时候,要哭的,因为光是省级区域 ...

  9. 卸载数据盘、更改Inodes

    更改inodes  会格式化数据库,记得先备份 1.fuser -m -v /dev/vdb查看哪些进程正在占用数据库 2.然后kill 掉进程 3.umount /data1/ 4.mkfs.ext ...

  10. SQL调用C# dll(第一中DLL,没使用强名称密匙,默认是 safe)

    https://msdn.microsoft.com/zh-cn/library/ms345106(es-es).aspx 1.新建项目名称SQLDllTest,类代码如下,没有用Using引用其他类 ...