Emacs Org mode作为实施GTD方法的任务与项目管理工具是极为强大和有效的。尽管如此,我在使用过程中亦发现了一个因Emacs文本操作模式而难以解决的情况,即对于具有复杂结构与大量细节的项目,在Org mode中只能进行单个或数个细节任务的查看而无法与此同时进行整体架构浏览以及呈现不同子任务间的复杂关系,也就是陷入了我们常说的“只见树森不见林”的状态。在刚创建项目任务时这个问题还不那么明显。随着任务复杂度与数量的增加,很容易导致不少(尤其是不那么重要的)任务虽然被如实地记录下来,但最终还是被尘封在了Org mode文件的某个子树上。

针对这个情况,想到思维导图是用于整理与规纳具有复杂结构信息的利器,将Emacs Org mode任务导出到Freeplane中用思维导图的方式进行管理便很有必要的了。具体的做法详述如下。

首先,在~/.emacs中加入下面两行,从而将Freemind文档格式加入到Emacs Org mode文档导出后台列表中:

(require 'ox-freemind)
(setq org-export-backends '(freemind odt latex icalendar html ascii))

然后,在Org mode文件中选中要导出的任务树,按快捷键Ctrl+c, e导出,然后选择:

[f] Export to Freemind Mindmap
[f] As Freemind Mindmap file [o] As Freemind Mindmap file and open

由于Emacs编辑器默认使用的是utf-8编码,

(prefer-coding-system 'utf-8)

所以,导出的*.mm思维导图文件也是该编码格式。然而,在默认条件下(至少是Windows下)启动Freeplane时采用的并非utf-8编码,从而导致如果在从Emacs Org mode导出的思维导图中含有中文字符的话,就会在Freeplane中显示为乱码。为此,需要使Freeplane的默认编码为utf-8。然而,找遍了Freeplane的所有对话框设置,并没有相关设置项。通过搜索,由这里发现,可以通过加入JVM环境变量选项-Dfile.encoding=UTF8来解决。

对于GNU/Linux来说,一如继往地可以将其加入到~/.bashrc中:

export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dsun.java2d.xrender=true -Dfile.encoding=UTF8 $_JAVA_OPTIONS"

对于Windows版本,需要找到Freeplane的安装路径(我的为D:\Program Files\Freeplane),将其加入到启动配置文件freeplane.l4j.ini中。当然,也可以加入到freeplane.bat中。但这样一来,双击图标执行Freeplane时,该文件编码设置就无法生效了。

最后,就可以用Freeplane打开导出的*.mm文件,进行进一步的编辑与组织了。效果如下图所示。

将Emacs Org任务树导出至Freeplane思维导图的更多相关文章

  1. 在Emacs中画思维导图

    是的,你没有看错.其实,不只画思维导图,画结构图.流程图等,都可以.那怎么办呢?就是借助 Graphviz . Graphviz 可以方便地表达概念之间的联系,因此用它画思维导图是可行的,再加上它是个 ...

  2. 可以把思维导图导出为word文档方便其他人查看吗?

    MindManager除了强大的大纲视图编辑功能外,还拥有多种导出格式,方便大家迅速导出文件,在团队中分享自己的观点,提高团队的工作效率,本次小编使用的思维导图软件版本是MindManager 202 ...

  3. MindManager使用教程:如何导出HTML5交互式导图

    Mindmanager思维导图软件有着友好的用户界面以及丰富的思维导图制作功能.再搭配与Microsoft 软件的无缝集成功能,使得这款思维导图软件越来越受到职场人士的喜爱. 不仅是作为制作思维导图的 ...

  4. [数据结构]ODT(珂朵莉树)实现及其应用,带图

    [数据结构]ODT(珂朵莉树)实现及其应用,带图 本文只发布于博客园,其他地方若出现本文均是盗版 算法引入 需要一种这样的数据结构,需要支持区间的修改,区间不同值的分别操作. 一般的,我们会想到用线段 ...

  5. HDU 4000 Fruit Ninja (树状数组+反向思维)

    题意:给你一串数且每个数都不同,问你(x,y,z)出现 x<z<y 的总次数 首先我们直接想的话不能使用O(n*log2 n)解决,所以可以正难则反 可以求得x<(y,z)的值,减去 ...

  6. 模拟赛 提米树 题解 (DP+思维)

    题意: 有一棵棵提米树,满足这样的性质: 每个点上长了一定数量的Temmie 薄片,薄片数量记为这个点的权值,这些点被标记为 1 到 n 的整数,其 中 1 号点是树的根,没有孩子的点是树上的叶子. ...

  7. hdu 5792 树状数组+离散化+思维

    题目大意: Given a sequence A with length n,count how many quadruple (a,b,c,d) satisfies: a≠b≠c≠d,1≤a< ...

  8. 浅谈可持久化Trie与线段树的原理以及实现(带图)

    浅谈可持久化Trie与线段树的原理以及实现 引言 当我们需要保存一个数据结构不同时间的每个版本,最朴素的方法就是每个时间都创建一个独立的数据结构,单独储存. 但是这种方法不仅每次复制新的数据结构需要时 ...

  9. BZOJ - 3489 KD树 范围计数 空间思维转换

    题意:给定数列\(a[1...n]\),\(Q\)次查询\([L,R]\)中只出现一次的最大值 这道题的做法比较劲.. 对每个元素构造三维空间的点\((i,pre[i],next[i])\),查询\( ...

随机推荐

  1. Fixing “Did you mean to run dotnet SDK commands?” error when running dotnet –version

    I recently installed the dotnet 1.11.0 Windows Server Hosting package which apparently installs the ...

  2. python中self和cls的区别

    1.self表示一个具体的实例本身.如果用了staticmethod,那么就可以无视这个self,将这个方法当成一个普通的函数使用. 2.cls表示这个类本身. >>> class ...

  3. Time travel HDU - 4418(高斯消元)

    Agent K is one of the greatest agents in a secret organization called Men in Black. Once he needs to ...

  4. Redis配置主从复制

    Redis配置主从复制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.操作环境介绍 1>.操作系统环境 [root@node101.yinzhengjie.org.cn ...

  5. Docker:网络及数据卷设置 [四]

    一.Docker网络设置 默认情况下,docker会创建一个桥接网卡[docker 0],docker有2种映射方式,一种是随机映射,一种是指定映射 提示:生产场景一般不使用随机映射,但是随机映射的好 ...

  6. phpstorm快捷键大全

    前言:这段时间换了编辑器,所以挺多命令也改变了 转载来自:https://www.jianshu.com/p/ffb24d61000d?utm_campaign=maleskine&utm_c ...

  7. PyQt5之窗口类型

    [TOC] 注:原创不易,转载请务必注明原作者和出处,感谢支持! 一 写在开头 1.1 本文内容 本文的主要内容:PyQt中的窗口部件:QMainWindow,QWidget,QDialog. 上述三 ...

  8. ArcGis Python脚本——根据接图表批量裁切分幅影像

    年前写了一个用渔网工具制作图幅接图表的文章,链接在这里: 使用ArcMap做一个1:5000标准分幅图并编号 本文提供一个使用ArcMap利用接图表图斑裁切一幅影像为多幅的方法. 第一步,将接图表拆分 ...

  9. django - 总结 - 中间件

    中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨慎实用,用不好会影响到性能. MID ...

  10. [物理学与PDEs]第1章习题6 无限长载流直线的磁场

    试计算电流强度为 $I$ 的无限长的直导线所产生的磁场的磁感强度. 解答: 设 $P$ 到直线的距离为 $r$, 垂足为 $P_0$, 则 ${\bf B}(P)$ 的方向为 ${\bf I}\tim ...