将Emacs Org任务树导出至Freeplane思维导图
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思维导图的更多相关文章
- 在Emacs中画思维导图
是的,你没有看错.其实,不只画思维导图,画结构图.流程图等,都可以.那怎么办呢?就是借助 Graphviz . Graphviz 可以方便地表达概念之间的联系,因此用它画思维导图是可行的,再加上它是个 ...
- 可以把思维导图导出为word文档方便其他人查看吗?
MindManager除了强大的大纲视图编辑功能外,还拥有多种导出格式,方便大家迅速导出文件,在团队中分享自己的观点,提高团队的工作效率,本次小编使用的思维导图软件版本是MindManager 202 ...
- MindManager使用教程:如何导出HTML5交互式导图
Mindmanager思维导图软件有着友好的用户界面以及丰富的思维导图制作功能.再搭配与Microsoft 软件的无缝集成功能,使得这款思维导图软件越来越受到职场人士的喜爱. 不仅是作为制作思维导图的 ...
- [数据结构]ODT(珂朵莉树)实现及其应用,带图
[数据结构]ODT(珂朵莉树)实现及其应用,带图 本文只发布于博客园,其他地方若出现本文均是盗版 算法引入 需要一种这样的数据结构,需要支持区间的修改,区间不同值的分别操作. 一般的,我们会想到用线段 ...
- HDU 4000 Fruit Ninja (树状数组+反向思维)
题意:给你一串数且每个数都不同,问你(x,y,z)出现 x<z<y 的总次数 首先我们直接想的话不能使用O(n*log2 n)解决,所以可以正难则反 可以求得x<(y,z)的值,减去 ...
- 模拟赛 提米树 题解 (DP+思维)
题意: 有一棵棵提米树,满足这样的性质: 每个点上长了一定数量的Temmie 薄片,薄片数量记为这个点的权值,这些点被标记为 1 到 n 的整数,其 中 1 号点是树的根,没有孩子的点是树上的叶子. ...
- hdu 5792 树状数组+离散化+思维
题目大意: Given a sequence A with length n,count how many quadruple (a,b,c,d) satisfies: a≠b≠c≠d,1≤a< ...
- 浅谈可持久化Trie与线段树的原理以及实现(带图)
浅谈可持久化Trie与线段树的原理以及实现 引言 当我们需要保存一个数据结构不同时间的每个版本,最朴素的方法就是每个时间都创建一个独立的数据结构,单独储存. 但是这种方法不仅每次复制新的数据结构需要时 ...
- BZOJ - 3489 KD树 范围计数 空间思维转换
题意:给定数列\(a[1...n]\),\(Q\)次查询\([L,R]\)中只出现一次的最大值 这道题的做法比较劲.. 对每个元素构造三维空间的点\((i,pre[i],next[i])\),查询\( ...
随机推荐
- Python的数据库操作
使用原生SQL语句进行对数据库操作,可完成数据库表的建立和删除,及数据表内容的增删改查操作等.其可操作性很强,如可以直接使用“show databases”.“show tables”等语句进行表格之 ...
- 图像压缩编解码实验(DCT编码+量化+熵编码(哈夫曼编码))【MATLAB】
课程要求 Assignment IV Transform + Quantization + Entropy Coding Input: an intra-frame or a residue pict ...
- Linux 学习 (七) 挂载命令 & 用户登陆查看
Linux达人养成计划 I 学习笔记 挂载命令 mount:查询系统中已经挂载的设备 mount -a:根据配置文件 /etc/fstab 的内容,自动挂载 mount [-t 文件系统] [-o 特 ...
- OTZ%%%子谦。大佬
又上了节课...俩题 计算系数 组合数问题... 要不是大佬指点就只能阶乘暴力算了 (主要还是我忘了杨辉三角) 杨辉三角与组合数C有着千丝万缕的联系,在计算,使用方面相当方便. 先说计算系数 计 ...
- 【LOJ2586】【APIO2018】选圆圈 CDQ分治 扫描线 平衡树
题目描述 在平面上,有 \(n\) 个圆,记为 \(c_1,c_2,\ldots,c_n\) .我们尝试对这些圆运行这个算法: 找到这些圆中半径最大的.如果有多个半径最大的圆,选择编号最小的.记为 \ ...
- phpStudy The requested URL /web/index.php was not found on this server
1.原因 phpStudy的httpd-conf 与 vhosts-ini 的目录设置错了 2.解决 分别打开httpd-conf 与 vhosts-ini 2个文件,搜索WWW,把里面的路径改成你的 ...
- 多版本python及多版本pip使用
最近做一些网站的发布程序,要用到python3,所以又安装了python3. www.qlrx.netwww.393662.comwww.qnpx.netwww.393225.com ...
- webpack学习记录-初步体验(一)
一.关于webpack 自从出现模块化以后,大家可以将原本一坨代码分离到个个模块中,但是由此引发了一个问题.每个 JS 文件都需要从服务器去拿,由此会导致加载速度变慢.Webpack 最主要的目的就是 ...
- CF2B The least round way(dp+记录路径)
B. The least round way time limit per test 2 seconds memory limit per test 64 megabytes input standa ...
- mysql数据库建表的基本规范
1.创建表的时候必须指定主键,并且主键建立后最好不要再有数据修改的需求 mysql从5.5版本开始默认使用innodb引擎,innodb表是聚簇索引表,也就是说数据通过主键聚集( 主键下存储该行的数据 ...