Mind Map - FreeMind
FreeMind[1]是一款基于java的免费的脑图(mind mapping)制作与管理软件。FreeMind开发项目组正致力于使其成为一款高效率的工具。FreeMind具有一键“展开/折叠”功能以及“链接”跟随操作,因而比MindManager的操作与导航更便捷。Freemind是一个基于java的开放源码脑图软件,支持Windows、Linux和Mac多种操作系统,曾被评为sourceforge 2006年二月当月软件。如果你也经常感到思维发散,头绪繁多,可以试试脑图软件。
原文出处:http://risker.org/tech/FreeMind/
1. 所谓MindMap
1.1 MindMap是什么
MindMap是什么呢?其实是英国人托尼·巴赞创造的一种提出笔记方法,和传统的直线记录方法完全不同,它以直观形象的图示建立起各个概念之间的联系。在国内,MindMap又被称为脑图或思维导图。
思维导图(Mind Mapping)以放射性思考(Radiant Thinking)为基础的收放自如方式,除了提供一个正确而快速的学习方法与工具外,运用在创意的发想与收敛、项目企划、问题解决与分析、会议管理等方面,往往产生令人惊喜的效果。它是一种展现个人智力潜能极至的方法,将可提升思考技巧,大幅增进记忆力、组织力与创造力。它与传统笔记法和学习法有量子跳跃式的差异。
1.2 MindMap软件介绍
其实当前MindMap软件相当多,最为流行的应该这三款:
对我来说,FreeMind最合适,原因有二:
- 跨平台,这样无论我在Windows、Debian或者FreeBSD下都可以正常使用;
- 采用xml保存数据,方便读取或者与其它程序转换;
功能简洁,却又恰到好处的够用,因此我就选定它了!
2. 我用FreeMind
2.1 速读
通过我的读书笔记可以看出,用FreeMind做记录是非常方便的。
采用了FreeMind后,我对一些“快餐书籍”的阅读方式是这样的:
- 仔细看一遍目录,根据目录先画一张mindmap,基本把握作者的思路;
- 进入阅读状态,边读边写写画画,圈出重点,读完一章,便在mindmap中完善一章的内容,如此周而复始;
- 看整张mindmap,从整体回顾,找出重点,标记不同的颜色以便今后重点重读,并且结合自己的感觉,填进mindmap中;
- 扔开mindmap,闭上眼睛回忆阅读的结果。
2.2 小项目管理
FreeMind有个很好的功能是根据目录创建文件,也就是可以根据某个目录下的文件结构来直接生成一个MindMap,这个功能也很诱人,于是我利用它来管理我的小项目。
首先直接生成一幅MindMap,然后进行部份细节调整和分类,再标出生要等级。当项目中有新任务创建时,就做简单记录。这样就能轻松地将企业内部的项目放在一起全盘考虑和分析了。

2.3 脑力激荡
一帮朋友在一起讨论某个创业机会时、几个程序员在商量产品功能特点的时候、企业管理人员聚会研究公司发展战略的时候……或者,仅仅是自己想写一篇文章的时候,比如我现在:)

FreeMind是否都能助你一臂之力?
2.4 会议记录
会议记录这点似乎乏善可陈,谁都能看出用它做会议记录,相对较能抓住所谈事务的主题,并且容易促进与会者的关联分析。

3. 小技巧
3.1 快捷键或鼠标
我常用的快捷键有:
在下方新增节点 = Enter
新增子节点 = INSERT
在上方新增节点 =Shift+Enter
查找 = Ctrl+F
编辑 = F2
展开或缩起 = Space
当然,按F3-F9能够给节点设置不同的颜色等等,也是很常用的。另外还有些组合键,如按住Alt键后用鼠标选中根节点,就是全选。按住Ctrl+Shift后用鼠标连接两个节点,便是在节点间创建连接线……快捷键也可以自定义,但通常无须这样做。具体的细节也可以参见帮助文件。
3.2 在web上发布
当你精心完成一个MindMap后,是否有希望别人看到的愿望呢?直接通过freemind-browser可以轻松地将Mindmap发表到网站上,并且访问者能够象直接操作程序般对各节点进行展开、关闭等行为。
只要将freemindbrowser.html中的两部份稍做修改,即标题和具体mm文件的位置,并连同freemindbrowser.jar一起复制到你的web服务器上,用户应该就能够正常浏览了。
3.3 聪明的复制与粘贴
FreeMind比其它软件优势的一个地方还在于它智能的复制方式,例如,我可以通过一个有缩进层次关系的txt、html或其它文件复制成很漂亮的MindMap,也能将MindMap直接复制进word、excel甚至outlook中,并保持良好的缩进和层次关系。
3.4 修改配置文件
在一份user.properties的文件中,保存着许多可配置的选项,其中仅有几项是通过Edit->Preference可以设定的。这份文件通常在你的~目录下,在windows 2k、xp和2003下,应该在c:\Documents and Settings\(your user name) \freemind\user.properties,如果是Win9x下则在C:\WINDOWS\freemind\user.properties,要判断你的HOME目录,可以直接在cmd窗口输入:echo %HOMEPATH%
里面的部份格式如下:
## Experimental features, "true" / "false"
#experimental_file_locking_on = false
##If dnd is enabled. "true" or "false"
#draganddrop = true
#
##The Modes which Freemind will load on startup, full Class names separated by a comma.
#modes = freemind.modes.browsemode.BrowseMode,freemind.modes.mindmapmode.MindMapMode,freemind.modes.filemode.FileMode
##The initial mode that is loaded on startup
#initial_mode = MindMap
并不难理解,就不多做说明了。
3.5 MindManager数据导出到FreeMind
身边有很多朋友使用的Mind Map工具是MindManager X5,这毫无疑问是一款杰出的商用软件,但与FreeMind之间的格式却是不相通用的,好在两者都采用xml格式来保存数据,因此数据转换并不困难。
先用解压缩工具打开MindManager的*.mmap文件--该格式实际上就是将相关信息打包压缩。下图是用winrar打开时的情况,我们可以看到里面有一个Document.xml的文件,这就是MindManager的主文件了。

采用特定的xslt,比如mm2fm.xslt,再配合xsltproc软件,将Document.xml解压后直接进行处理,便能够轻松地将该xml顺利转成Freemind所能理解的mm格式:
c:\xsltproc>xsltproc.exe -o ssp2p.mm mm2fm.xslt Document.xml
c:\xsltproc>3.6 FreeMind数据保存到MindManager
因为成功地游说了几个朋友转移到FreeMind上来,因此一般我自己没有这个需求,偶尔要做这种转换时,就投机取巧了一把:
- 选择File->Export to HTML,将mm导出为html;
- 用MS Word打开该html文件,并另存为Word的doc格式;
- 打开MindManager,采用File->Open->Microsoft word document(*.doc,*.dot),选定刚才保存的文件后打开。
3.7 添加自己的插件
一个程序如果可定制程度高,当然能让人觉得更加自由。MindManager可以使用vb编写宏,并且直接载入菜单,这方面FreeMind做得如何呢?
答案是:相当出色,事实上你可以用java或者jython编写插件并加载。
在windows下,到C:\Program Files\FreeMind\accessories\plugins下创建文件Pyhello.py如下:
from freemind.extensions import NodeHookAdapter
import javax.swing as swing
class Pyhello(NodeHookAdapter):
def __init__(win):
win = swing.JFrame("HelloWorld")
win.size = (200, 200)
win.show()
instance=Pyhello()
这是插件程序本身,唯一的功能就是显示Hello World :)
创建Pyhello.properties如下:
documentation=This is a simple Jython script that tests the node hook possibilites
#
# the script returns an object of this type:
base=freemind.extensions.NodeHookAdapter
script=Pyhello.py
modes=freemind.modes.mindmapmode
documentation=welcome to risker.org
icon=accessories/plugins/icons/kcmsystem.png
这里定义了上面那个程序的位置、运行模式、说明及图标,重新载入FreeMind时,我们可以看到在工具栏上多出一个图标,点击弹出helloworld。
3.8 数据导出
当前的最新测试版本是v 0.72,在这个版本中新增了将MindMap导出为图片或xslt文件的插件,不用费劲心机地截屏或者打印了,直接存成图片发送好了。
Mind Map - FreeMind的更多相关文章
- python解析FreeMind思维导图
记录瞬间 在实际工作中,通常需要使用思维导图进行一些分析和设计,但是,在设计好之后,想要把思维导图的内容转化成文字进行输出怎么做呢? 使用python(当然可以使用其他的语言进行处理)可以很好的解决这 ...
- mapreduce中一个map多个输入路径
package duogemap; import java.io.IOException; import java.util.ArrayList; import java.util.List; imp ...
- .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法
.NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- Java基础Map接口+Collections
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- 多用多学之Java中的Set,List,Map
很长时间以来一直代码中用的比较多的数据列表主要是List,而且都是ArrayList,感觉有这个玩意就够了.ArrayList是用于实现动态数组的包装工具类,这样写代码的时候就可以拉进 ...
- Java版本:识别Json字符串并分隔成Map集合
前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些 ...
- MapReduce剖析笔记之八: Map输出数据的处理类MapOutputBuffer分析
在上一节我们分析了Child子进程启动,处理Map.Reduce任务的主要过程,但对于一些细节没有分析,这一节主要对MapOutputBuffer这个关键类进行分析. MapOutputBuffer顾 ...
- MapReduce剖析笔记之七:Child子进程处理Map和Reduce任务的主要流程
在上一节我们分析了TaskTracker如何对JobTracker分配过来的任务进行初始化,并创建各类JVM启动所需的信息,最终创建JVM的整个过程,本节我们继续来看,JVM启动后,执行的是Child ...
随机推荐
- Mac 系统安装redis服务
1.首先去http://www.redis.io/下载最新的redis文件,现在最新的是redis-2.8.19 2.进行解压缩 tar -zxvf redis-2.8.19.tar.gz 3.移动重 ...
- MKMapView缩放显示全部annotation(转)
原文 http://blog.csdn.net/favormm/article/details/8028026#define MINIMUM_ZOOM_ARC 0.014 //approximate ...
- git教程3-添加远程库与从远程库拷贝
一.添加到github 1.github上创建新的库learngit.git 2.git remote add origin git@github.com:moisiet/learngit.git ...
- [基本操作] kd 树
概念就不说了吧,网上教程满天飞 学了半天才知道,kd 树实质上只干了两件事情: 1.快速定位一个点 / 矩形 2.有理有据地优化暴力 第一点大概是可以来做二维平面上给点/矩形打标记的问题 第二点大概是 ...
- HDU - 5307 :He is Flying (分治+FFT)(非正解)
JRY wants to drag racing along a long road. There are nn sections on the road, the ii-th section has ...
- session 丢失问题
1. 存到memcached中, 十分简单, 在使用session之前, 加入下面两行代码 int_set('session.save_handler', 'memcache'); int_set(' ...
- 执行.class文件
java packageName.className即可 但是注意,如果是有包的,这段指令一定是packageName的上层目录(即bin目录)执行!
- Ubuntu下部署GitLab-——基于14.04系统
搭建GitLab的目的: 方便公司开发管理代码 GitLab实现的功能: 1.关闭了gitlab的注册功能 2.修改了默认端口 3.汉化 0.前期准备 # 环境 Ubuntu 14.04 root@i ...
- PHP:json_encode 保持中文不被转为ASCII码
echo json_encode(array('黄河之水天上来'),JSON_UNESCAPED_UNICODE);
- (转)配置ORACLE 11g绿色版客户端和PLSQL环境
本文转载自:http://my.oschina.net/jang/blog/83009 本方法是通过使用ORACLE官方提供的精简版客户端,即绿色免安装的客户端. 下载地址(此处提供的是官方各版本下载 ...