title: "[投稿]Pkm工具:Vimwiki"
date: 2010-08-29
categories:
- "pkm-pim-notes-manager"
tags:
- "gvim"
- "pimpkm"
[投稿]Pkm工具:Vimwiki
说明1:本文最初由Yibie于2009年12月投稿(原文)。在Yibie从Vim转向Emacs后,善用佳软接手更新本文。 说明2:阅读本文需要先了解和掌握Vim的基本使用。
Vimwiki自称为 Personal Wiki for Vim(用Vim管理的个人wiki),可用来管理和组织笔记、想法,用来管理待办事项(todo list),用来编写文档。
打开Vimwiki官方主页,下载 vimwiki.vba 文件到任意目录。 用Vim打开vimwiki.vba文件,然后在"Normal模式"下输入命令':so %',等一会儿,安装将自动完成。
Vimwiki的一些基本配置需要在vim配置文件中指定,主要是存储路径。 读者可参照下例进行修改,然后放到_vimrc文件中:
" vimwiki let g:vimwiki_use_mouse = 1 let g:vimwiki_list = [{'path': 'E:/vimwiki/', \ 'path_html': 'E:/vimwiki/html/', \ 'html_header': 'E:/vimwiki/template/header.tpl',}]
最后3句分别指定了: - 存放Vimwiki文件的路径(Vimwiki的文件后缀为.wiki) - 从Vimwiki转换为Html网页时的保存路径; - Vimwiki转换网页时使用的网页模板的路径。
进入首页 操作:在Vim的Normal模式下,键入 \ww 三个键。 结果:Vim就会打开wiki首页(index.wiki)。 更多说明:① index.wiki所在目录见上述设置。② \ 键实际是符,也可自定义。
创建新页面 操作:在首页中随便键入一些文字。比如, “这是wiki首页。 我要创建一个新页面 NewPage。” 结果:NewPage 会高亮显示。 更多说明: - NewPage 这样的格式称为驼峰词,是创建新页面的最方便的做法。 - 对于更复杂的页面名称或中文页面名称,可以用双方括号表示。比如 [[中文页面]] 将创建 中文页面.wiki。括号内也可以用半角竖线分割,前半部分表示文件名,后半部分表示描述。比如 [[page3|我的第3篇wiki]] 将生成 page3.wiki 文件。而导出为html时,超链接的文字只有描述“我的第3篇wiki”。这种做法可以兼顾文件名的精简、规律、规范,与人工阅读的直观。采用Vim7.3中的最新 conceal text 特性,也可以在wiki中直接隐藏这些不用显示的符号,详见 这篇文章。 - “快速引用某页面,并且,该页面若不存在则自动创建”是wiki的核心优势之一。
跳转到新页面 操作:在 Normal 模式下用光标双击 NewPage。 结果:index.wiki自动保存、关闭。在当前窗口打开了 NewPage.wiki 页面。 更多说明: - Enter:与双击效果等同,在当前窗口中打开NewPage页面。 - Shift+Enter:上下分割窗口,NewPage在上,原页面在下。 - Ctrl+Enter:左右分割窗口,NewPage在左,原页面在右。
返回首页 操作:在 NewPage 中输入一些内容。进入Normal模式,按BackSpace。 结果:NewPage自动保存;并返回index.wiki页面;此时 NewPage 变成了另外一种高亮(区分
页面内的格式编辑 待完成……
Vimwiki的下载主页上面给出一个快速学习Vimwiki语法的知识卡片(pdf格式,可通过一些软件转换为图片),从上面便可知道所有的Vimwiki中使用的语法,十分简单,方便使用.
2.1.1 普通语法: *bold* -- bold _italic_ -- italic WikiWord -- link to WikiWord (这是驼峰词的用法) [[complex wiki link]] -- link to complex wiki link Indent lists with at least 1 space: * bullet item # numbered list item = Header1 = == Header2 == = Header3 =
ww -- 打开默认的wiki主页 wt -- 在新的标签页中打开默认的wiki主页 ws -- Select and open wiki index file.(未知) wd -- 删除你所在的wikiword的页面 wr -- 重命名你所在的wikiword页面 Backspace -- 返回上一页 Tab -- 寻找下一个wikiword Shift Tab -- 寻找上一个wikiword 如果有什么不懂,可输入在"Normal"下输入":h vimwiki-mappings"查询
Vimwiki可导出为html格式,便于发布为网页。 输入':Vimwiki2HTML -- 将当前wiki页转换成Html格式' 输入':VimwikiAll2HLML -- 将所有的wiki页转换成HTML格式'
在08年的时候,我就听过这“神的编辑器”的大名了。当时,也曾下载过一次,但是尝试的结果很不如意,打开了之后竟然无法输入中文!心里面想“见鬼 了!这是什么玩意儿!”。但是,因为内心中希望有朝一日能够用上这个东西装逼,我还是没有把它从硬盘里面删去。之后过了很久,我都没有用过Vim,我用了 其它的软件来作为我日常编辑的工具。后来能够用上Vim,还是拜托自已那不折腾会死星人的臭脾气。
在09年的开始,我开始对如何用电脑来记笔记感兴趣。在看过大量文章之余,也尝试了大量的工具。从小巧的Treepad、CintaNote、 PinPKM到以同步而著名的Evernote,这些尝试都无疾而终,不是它们不好而是我想要的方式并不是这样。于是,开始把目光投向了Wiki这个形 式。
同样是尝试了很多Wiki工具,比如xbeta介绍过的WikidPad、ZIM、单机版的MoinMoin、DokuWiki等等,还是觉得太麻烦了。为什么要有该死的后台?为什么不能直接编辑呢?
怀着这样的想法,我的目光又一次投向了Vim,这次我从滇狐1那里知道了Vim上一个叫Viki的插件,可以当把Vim变成Wiki。我很兴奋,但是尝试了之后不得不放弃了Viki,因为把它装上了之后总是出现莫明其妙的错误,这些错误在Windows的环境下又无法解决。
难道Vim上就只有Viki这个插件才能让Vim成为Wiki吗?我又开始了新一轮的找寻。很幸运,我找到了Vimwiki。在艰难地啃了它的英文说明书 之后。很容易就装上了。而有鉴于当时Vimwiki中文的资料的匮乏,我就写了一篇Vimwiki的中文文档,投稿给善用佳软。之后,我就很欣喜的看到在 善用佳软那强大的影响力之下,越来越多人2喜欢上Vimwiki,有的人还把Vimiwiki的帮助文档整个翻译成中文即3。
而我在用Vimiwiki的时候,基本只用Vimwiki,偶尔会用到Calendar来记日记,Wiki的词条写了50个左右,最大的Wiki文档大概有30KB这样。但是并没有很好的坚持下去。于是,Vim用得越来越少了。
在听说Vim的同时,我也听说过Emacs,但是Emacs在国内不如Vim流行,中文资料比Vim少,所以我一开始的选择是用Vim。但是在一次浏览网页的时候,看到了Emacs下Org-mode的演示视频4,非常的震憾,我没有想到文本编辑器还可以如此华丽!究竟有多华丽,大家看演示视频就知道。视
于是我在今年的6月份开始折腾Emacs。不过最初的目的是用Org-mode来管理自已的日程。折腾着折腾着,发现Org-mode的标记语言,可以很方便的组织文章的结构,于是开始用Emacs来记笔记5,写文章。
后来,我意外地发现原来Org-mode本身就具有Wiki功能,于是开始尝试用Emacs来构建我自已的Wiki。在这个过程中,我又受到 Zoom.Quite的启发,Wiki应该是每日记,在上面积累自已的想法和疑问,并一一解答,自然而然个人Wiki就可以坚持下来了。
如图所示:
2 来自Gracecode的推荐:http://www.gracecode.com/archives/3022/ 闲耘用Vimwiki塔建的Wiki:http://hotoo.github.com/vimwiki/index.html
4 Org-mode演示视频:http://jaderholm.com/screencasts/org-mode/
5 这里有我用Org-mode做的笔记(不完全是):http://www.gtdstudy.com/?cat=297
2009-12:初稿,介绍VimWiki; 2010-08:增加回顾与总结部分。>