上个学期的时候,发现了一个软件Scrivener,它本身号称是一个给作家使用的软件,当时觉得很适合,但可惜价格昂贵,而且对数学公式的支持很差(windows版),所以一直在寻找类似的替代品。找来找去,最后发现一直在使用的文本编辑器sublime text 2其实就已经可以很好地完成这个功能了。
Sublime text是过去一段时间相当火的一个面向程序员的文本编辑器,有多个颇有新意有实用功能。虽然它几十刀的价格对穷学生来说相当没有亲和力,比Scrivener还贵一点,但作者也很厚道地允许无限试用,只是在使用时以相当低的频率弹出窗口提示买证书(似乎是按保存的次数来算的),也算是个准免费软件吧。
废话不多说,简单说一下我怎么用ST2实现接近Scrivener的功能的。
- 准备工作:安装sublime text,建立存放文件的文件夹,如「research | journal | misc」;
- 首先安装必要的插件,Sidebarenhancements,可以通过package control完成。
- 新建一个Project。菜单栏Project–Add folder to project…,把上面这些文件夹依次添加进去,然后Project–Save project as…将其保存。如果没有清除记录的话,下次打开ST2后,只需要按下ctrl-alt-p,即可出现近期Project的面板,选择即可载入,如果清除了记录,重新Project–open project即可;
- 默认情况下ST2并不显示边栏,按下ctrl-k后再按下ctrl-b即可出现。由于前面安装了sidebarenhancements,其右键菜单已经能完成相当部分的功能了。这里最需要的功能是在project中搜索全文的功能,只需要在边栏任一文件(夹)点右键,选择Find in Project…,即可全文搜索其下的所有文件;
其中有了这几步,已经实现了我的需求:我只需要一个方便管理纯文本(边栏中方便地浏览)和能够全文搜索即可。但ST2提供了一些选项,能做得更好。
首先是打开project之后,可以用ctrl-p来快速切换其中的文件,它采用的是所谓fuzzy search的算法,只要按顺序输入几个字母(可以跳着输),就可以快速定位到相应的文件,搜索速度完全不亚于everything。如果养成习惯文件名写成英文或中英混合,可以非常快速打开和切换文件。
此外还可以对相当常用的全文搜索添加快捷键,依次点击Preferences–Package Settings–Side Bar–Key Bindings – User,在其中添加类似下面的一段:
{ "keys": ["alt+f9"],
"command": "side_bar_find_in_project",
"args":{}
}
然后就可以用快捷键来开启project内所有文件的全文搜索了。
总结起来,用sublime text可以实现我在scrivener里用到的绝大部分功能,包括在边栏中用目录树的方式浏览笔记、所有笔记全文搜索、快速切换文件等。