# FoldingText,伪装成markdown编辑器的outliner
想介绍一下foldingtext的使用体验,源于几个原因:
- 这是个很特别的工具,表面上看,是个plain text编辑器,而市面上支持markdown的editor多如牛毛,功能其实大同小异,实在不多这一个;但其实它是个效率工具,和支持opml的Omnioutliner、mindmap有共通之处
- foldingtext背后的开发者Hog Bay其实已经有十多年历史了,其实大部分时间是一个个人团队,后来扩充的多人团队,它们有一个更出名的产品,taskpaper。但商业方面,Hog Bay可以说很失败,最初又变成了一个人。这么一个不擅长商业化的开发者,但有非常独特和有潜力的产品,如果能得到潜在用户支持,也许可以更长命一点
## 界面
foldingtext的界面非常普通,唯一的特色的选择的字体看着还很舒服。但是,它的theme是可定制的。我选择了现成的[write room theme](
http://support.foldingtext.com/t/theme-to-make-foldingtext-look-like-writeroom/105),非常适合长时间使用保护眼睛。码农可以自己折腾,我不是码农,不会玩,就用官方的了。## plain text editor
### 作为一个纯文本编辑器,foldingtext其实功能算非常完善的了
- Markdown
- GitHub Flavored Markdown的一部分
- Fenced code blocks
- Syntax highlighting
- Task list
- MultiMarkdown的一部分
- Footnotes
- definition lists
- CriticMarkup
- HTML
- foldingtext自己独特的markup
- Mode
- Tag
- Property
基本上,该有的差不多都有了,各种markup标记,可以很方便的通过format菜单添加,大部分都有快捷键
### 基础的editor功能
- Format
- Select
- Move & Organize
- View
- Copy to HTML & Rich Text
具体看这篇[guide](
http://velocityofrelease.wordpress.com/2014/06/13/foldingtext-2-概論/),一目了然,熟练之后,我觉得即使是基础编辑功能,也不输给任何其它markdown editor,象Move & Organize,操作起来的感觉非常象Omnioutliner,是后面会讲到的outline功能不可或缺的一部分
## Outliner,核心功能
我在foldingtext之前用过一些markdown工具,都没有能够让我对markdown语法感兴趣,markdown处理得再漂亮,那也不过是个写作工具而已,而我对写作没什么需求,我需要的是效率工具。对我来说,GTD、outliner是效率工具。
foldingtext文件.ft表面上是个纯文本,在程序背后是用树形结构进行组织的。这和其它的markdown editor完全不同。树状结构的每个结节叫node,文本中的任何一段都是一个node,对应一个url。
任何一个node,都可以设置tag,tag可以赋值。除了tag,还有一个东西是property,它和tag的区别是tag不能单独作为一个段落存在,但property,不过property主要是对开发mode有用。
### outliner基本操作
- Move & Organize
- Folding
- Focus
这部分功能是foldingtext的核心功能,很有意思,不过你要是用过omnifocus和omnilutliner,就会感觉很熟悉。只不过,omni家用了一个很复杂的界面来完成这些功能,foldingtext却是在一个纯文本上实现,设计非常独特,将复杂蕴于极简中,让人感觉很奇妙
## Extension (plugin, script, CLI), 等你来发掘的秘密武器
foldingtext虽然是一个人的项目,但复杂度却不低,但一个人的精力毕竟有限,所以它给了geek很大的自己DYI的空间。如果你不是geek(就象我),也没关系,因为有其它geek的分享。下面介绍一些有用的资源。
官方forum[extension wiki](
http://support.foldingtext.com/t/extensions-wiki/121),我觉得比较有用的有以下几个:### Plugins
foldingtext已经内置了一些plugins(其实就是自定义command),不过还有很多别人分享出来的可以自己加进去,比如这个
- [Collapse whole doc one more level, or expand whole doc one more level](
http://support.foldingtext.com/t/collapse-whole-document-1-more-level-or-expand-whole-doc-1-more-level/339),这个plugins完善了outline的功能### alpplescripts
- Opening & Saviing OPML outlines,这是一个叫Rob Trew的非常活跃的geek的分享,其实,官方forum上的extension大部分是他一个人的贡献。这位老兄以前的最爱是Omni家的产品,之前也是Omni官方forum上非常活跃的geek。这组script非常有用,foldingtext本身没有提供导入和导出OPML的功能,从此你可以在omnioutliner、mindmap、foldingtext之间协作无障碍
- [foldingtext url scheme](
https://github.com/RobTrew/txtquery-tools/tree/master/ftdoc%20url%20scheme%20and%20FTCopyAsURL),这个很有用,用它可以实现foldingtext的跨文本wiki化- [Alfred Workflow](
http://support.foldingtext.com/t/alfred-workflow-creates-with-scripts-for-folding-text-v2/206),这组workflow集成了很多script,很有用### CLI & shell scripts
为了让foldingtext具备跨文档操作的可能性,官方提供了CLI,给geek提供了一些更具想象力的空间,这东西暂时超出了我的能力,不过你可以从Rob Trew下面这个项目一窥它的潜力:
- [Querying grouping & sorting across several text files with the FoldingText Command Line Interface](
http://support.foldingtext.com/t/querying-grouping-sorting-across-several-text-files-with-the-foldingtext-command-line-interface/369),它主要是用来实现perspectives功能(没错,就是Omnifocus的perspectives)## Foldingtext的好基友
foldingtext作为一个纯文本工具,要将所有的功能都很流畅的完成,还是有点吃力。我经常配合以下的应用一齐使用:
- Marked2,这是foldingtext必备的好基友,因为foldingtext没有预览功能(其实我很反感双栏同时将预览一齐呈现的设计),导出的格式也极有限,marked2在这方面很好使
- keyboard Maestro,把foldingtext的一些常用script制作成KM的palette调入是既方便又美观
- alfred,其实和KM差不多,不过有别人制作好的workflow可用,何乐而不为
- dropzone3,当我要在ft里插入某个图片时,我就把图片通过dropzone3上传到dropbox的public folder返回一个url,非常方便
- evernote,我通过foldingtext完成的diary, work log,project,我都会用marked2输入为html文件,然后将这个文件用evernote打开存档
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/123024
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.