当前位置: 首页 > news >正文

Zim - 普通人的Org-mode

上次看见CherryTree ,我忍不住又上AlternativeTo 网站去看看有没有其它类似的软件 ,结果看到跨平台的树状 笔记软件还有Zim, wikidPad,KeepNote和NoteCase这些个,其中Zim的受欢迎程度还挺高的,有88票(CherryTree只有 16票),于是下载下来试试。

zim logoZim - A Desktop Wik

试用了一阵,我就觉得这个软件还真是不错,跟大家推荐一下

特点

  • 富文本: 跟CherryTree差不多,支持粗体/斜体/下划线/删除线、等宽/上标/下标、有序/无序列表/checkbox列 表、1-5级标题,支持插入图片、链接,不过不支持设置字体颜色、中间对齐/右对齐;
  • 所见即所得: 虽然定位是desktop wiki,但跟WikidPad 不一样的是,它并不要求你记忆那些wiki语法 ,而是可 以所见即所得地进行编辑(其实也可以输入wiki语法,然后用Ctrl-R强制Zim重新解析并显示)
  • 附件: 支持给每个页面添加附件(插入图片时可以选择是否拷贝到附件目录)
  • 简单、清爽的存储方式: 存储采用纯文本(采用dokuwiki语法),每个页面一个文件,导航数上面的枝节点(叫 做namespace)变为一个目录,每个页面附件也存放在各自的目录里(跟页面同名)——这就使得没有Zim时也可以 简单地查看/修改内容了,也可以很方便地用其它工具来导入/导出(包括格式转换)
  • 导出: 它的导出功能很强大,因为可以定制模板 ,比如将笔记本导出为HTML时,缺省就提供了独立索引页 (Default)、每个页面有索引(Default_with_index)、演示(Presentation)、幻灯片(SlideShow S5)等多种模板; 还可以导出为Latex和Markdown格式;
  • 带一个Web Server: 这是一个很酷的功能,从菜单上点一下就可以启动一个Web Server,可以通过浏览器当前笔 记本,zim自动提供转换后的html页面
  • 其它功能
    • 可以插入Ditaa, GNU R, Gnuplot,GraphViz,Latex公式
    • 有版本控制插件,可以借用git/hg/bzr给每个页面提供版本控制功能

zim screenshot

用途

  • 记笔记: 除了所见即所得的编辑功能,还提供了两个插件:
    • 快速笔记(Quick Note) 可以快速输入一段内容变成一则新的笔记(同时还增强了zim的命令行参数,使得可以在浏览器等地 方通过命令行快速创建一则笔记);
    • 屏幕截图(Insert Screenshot): 可以即时插入截图;
    • 另外,这里 还有一个Firefox扩展zimcapture用来跟Quick Note配合剪辑网页到Zim
  • 写文档: 尤其适合写多章节的说明文档,然后导出为markdown/html,或者通过latex生成pdf。Zim自己的帮助 和项目网站 (页面右下角有: This website was written in Zim !)都是用Zim写的;
  • 写演示胶片: 导出时选择Presnetation或者SlideShow S5就可以啦;
  • 记日记: 日历插件(Calendar) 可以显示一个日历,选择相应日期就跳转到当天的笔记,也可以在主界面用快捷键Alt-D快 速跳转/创建今天的笔记;
    calendar dialog
  • GTD: 任务列表插件(Task List) 可以帮助你跟踪待办事项:带有TODO和FIXME标签(Tags)的页面会变成一个任务项;更细节 的待办事宜可以用带有复选框(checkbox)的列表来跟踪(用缩进来代表子项目)zim task list dialog

参考: Zim自己的文档里有一篇Usage 描述了各种应用场景:

  • Topic based notebook
  • Organizer
  • Document Editor
  • Journal
  • Collection Manager

Wiki: Usage Cases里补充了两个目前支撑得不太好的场景:

  • Blog Tool
  • Scientific Notetaking

缺点

  • 不支持表格;
  • 不能直接从HTML粘贴,现在粘贴时只有纯文本会保留下来,格式信息、链接等都会丢失(这一点不如CherryTree);
  • 不支持页面内的anchor。这个bug报告单里面有讨论:Link to anchors within pages ,对应的代码分支也在去 年底完成了开发 https://code.launchpad.net/~fenryxo/zim/anchors , 但不清楚为什么没有合入主干;
  • 只能选择导出整个笔记本或者单独一个页面,不能选择一个节点导出整棵树

总结: 普通人的org-mode

所以,这完全是个普通人的org-mode了:所见即所得地编辑,很容易上手,用来写文档/记笔记都很简单方便。

不过,对于我自己,我还是会继续在Emacs上用org-mode,因为各种熟悉,各种定 制,各种小功能(比如导出为INFOJS、Markdown…)

  • Convert Emacs org-mode formatted text to Dokuwiki formatted one

补充说明

  • 文章里面提到的插件都不用单独安装,已经包含在发布版内了,只要在 编辑->首选项->插件 里面启用就可以了。Zim的网站倒是另外列了几个其它的插件 ,但都没有太大用途;
  • 翻到小众的介绍(http://www.appinn.com/zim-wiki/ 三年前的),发现以前Zim是用perl+gtk来写的,而且那 时有不少中文方面的问题(乱码、中文路径等)。据Chagne Log,是v0.42版本后才改用python来写的,我这边 基本上没有碰到中文方面的问题。

参考

  • Charlie's Second Blog: from org-mode to zim
  • Script to convert NoteCase notes (to zim)
  • Linux下个人Wiki工具——Zim的使用心得 | Liuyix

转载于:https://www.cnblogs.com/bamanzi/archive/2012/07/05/zim-org-mode.html

相关文章:

  • 带参数存储过程的小例子
  • NSLog输出对象
  • 需要Review的题目:
  • lame的ios 静态库创建shell
  • 浅谈设计模式在iOS开发实战项目中的应用
  • string的Equels问题小记
  • JS创建函数:函数声明和函数表达式
  • 快给你的app上锁吧(android数字解锁)
  • 2012财富世界500强发布,大陆首超日本,新增12家
  • F#中的事件(下)
  • BW数据源深入研究【转自WKingChen的博客】
  • JsonModel 的使用
  • 【总结】后缀数组
  • div垂直水平剧中
  • 提高ASP.NET性能小技巧
  • ES6指北【2】—— 箭头函数
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • CSS中外联样式表代表的含义
  • E-HPC支持多队列管理和自动伸缩
  • Java 内存分配及垃圾回收机制初探
  • Javascript 原型链
  • js对象的深浅拷贝
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • node入门
  • Object.assign方法不能实现深复制
  • python3 使用 asyncio 代替线程
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • vuex 笔记整理
  • 从零开始的无人驾驶 1
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 前端自动化解决方案
  • 原生 js 实现移动端 Touch 滑动反弹
  • Prometheus VS InfluxDB
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #include<初见C语言之指针(5)>
  • (Python第六天)文件处理
  • (ZT)一个美国文科博士的YardLife
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (转)项目管理杂谈-我所期望的新人
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .net MySql
  • ??eclipse的安装配置问题!??
  • [C#][DevPress]事件委托的使用
  • [codevs] 1029 遍历问题
  • [Docker]十.Docker Swarm讲解
  • [github配置] 远程访问仓库以及问题解决
  • [Hadoop in China 2011] 蒋建平:探秘基于Hadoop的华为共有云
  • [JavaEE]线程的状态与安全
  • [JavaEE系列] Thread类的基本用法
  • [jQuery]10 Things I Learned from the jQuery Source
  • [MFC] VS2013版本MFC工程移植到VC6.0上
  • [OCR]Python 3 下的文字识别CnOCR