说明1:本文最初由Yibie于2009年12月投稿(原文)。在Yibie从Vim转向Emacs后,善用佳软接手更新本文。
说明2:阅读本文需要先了解和掌握Vim的基本使用。
用最顺手的Vim(介绍),以纯文本形式,构建自己Wiki,形成个人的知识库——这是很多人的梦想。而Vimwiki(介绍)让梦想成真。
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所在目录见上述设置。② \ 键实际是<Leader>符,也可自定义。
创建新页面
操作:在首页中随便键入一些文字。比如, “这是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中使用的语法,十分简单,方便使用.
PDF地址:http://habamax.ru/myvim/data/vimwikiqrc.pdf
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 ===
<Leader>ww -- 打开默认的wiki主页
<Leader>wt -- 在新的标签页中打开默认的wiki主页
<Leader>ws -- Select and open wiki index file.(未知)
<Leader>wd -- 删除你所在的wikiword的页面
<Leader>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就可以坚持下来了。
如图所示:

1 滇狐的主页:http://edyfox.codecarver.org/html/index.html
2 来自Gracecode的推荐:http://www.gracecode.com/archives/3022/ 闲耘用Vimwiki塔建的Wiki:http://hotoo.github.com/vimwiki/index.html
3 闲耘翻译的Vimwiki文档:http://code.google.com/p/vim-script-cn/source/browse/trunk/doc/vimwiki.cnx
4 Org-mode演示视频:http://jaderholm.com/screencasts/org-mode/
5 这里有我用Org-mode做的笔记(不完全是):http://www.gtdstudy.com/?cat=297
2009-12:初稿,介绍VimWiki;
2010-08:增加回顾与总结部分。
我最想要的是版本记录功能,而wiki的格式我并不喜欢,已经有html了,wiki的语法只是把事情搞得更复杂了。
回复
bigclean: 2009-12-22 18:55
版本记录可以用相应的版本控制工具(svn,git),wiki只是作为载体而已,wiki简洁还是可以提高生产力的。
回复
似乎忘了介绍vimwiki的后端delplate,用ruby写的还不错的wiki工具。在使用过的轻量标记wiki语言中,最喜欢的还是txt2tags和asciidoc,比较通用,而且前者很简单,导出格式也很多,后者是很强大(依赖于docbook)。vim的vimwiki和emacs的muse或是emacs-wiki都还是太依赖于具体软件了,相对来说还是muse更好,而且deplate的初衷也是作为muse的vim的clone。
回复
Yibie: 2009-12-22 19:44
那个是 Vim 另外一个插件——Viki所使用的后端,在Vimwiki中,输出网页不需要通过其他工具转换
回复
bigclean: 2009-12-23 10:39
还是不大喜欢用vba安装vim的插件,vimwiki的上个版本自己安装也会出错,也没有深究过。
或许vba也是vim插件的未来格式,可能会方便一点,总是感觉用代码控制起来不大容易。
vimviki输出网页不需要后端,deplate安装还要通过rubygems进行,实在很烦,有空再好好试试。
回复
Yibie: 2009-12-22 19:58
我知道Muse,但是 Emacs 的学习曲线比 Vim 更加陡峭,而且对于我这个非计算机行业的人员来说,Emacs 基本上是没有必要去探究的,除非出自于兴趣
txt2tags的使用,一直无法明白…
首先还是要从自己能懂的工具下手吧
回复
bigclean: 2009-12-23 10:35
emacs的确是学习的成本有点太大了。muse一个很不错的特性是插入图片是可视化的,而且各级标题是会有大小区别,只是这个特性是由emacs提供的。
txt2tag和ascciidoc都是单py文件,需要python的运行环境,可能更多的是依赖于命令行(cmd或是shell)或是用makefile管理。可以参考一下这篇中文介绍,http://sunxun.info/2009/08/txt2tags-basic/。
还有markdowm也很不错,wordpress也有相应的插件支持,可以试试。
回复
Yibie: 2010-01-24 14:16
终于是知道了 txt2tags 是个超牛的工具~看看能否和vimwiki结合吧~如果是这样就好了
winstarst: 2010-04-28 17:46
以前用过DocBook,只是标记太复杂,推广不方便,看了你的说明找到了txt2tags,觉得是目前最适合我的解决方案了,并且最新的SVN版本已经支持Docbook了,以后就用它了,还是基于Python的,可以自己动动了,呵呵,谢过了。。
回复
vimwiki这个插件第一眼看到的时候就觉得不错
完全读完它的帮助文件,就知道,这就是我想要的,不要为了voof的双边框就安装个python
感觉真的没有必要,在windows平台下.
另外,vimwiki的转换网页功能也不错.值得使用
回复
http://t.chinaren.com/xinwenjiang审核结果
回复
当英文单词里面有连续两个英文字母为写’WikiWord’,这句话好象写得不通啊……
回复
不知道善用佳软在用firefox的时候,有没有在用vimperator,感觉相当不错的一个插件。
回复
请联系我,IT新闻奖候选通过。加我qq或者msn
295788398
chenzhong@live.it
回复
一个很不错的软件:7-zip9.10重编译中文美化版。
http://hi.baidu.com/wnsh83/blog/item/84746137a5e0fa1a90ef3905.html
回复
要是图片有移到网络链接上就显示的功能就爽了.
回复
想问个问题,和vim兼容性比较好的拼音输入法是哪个?搜狗打“无奈”和按2选词的时候会执行vim里的其它命令,很无奈
【善用佳软:无法具体回答,因为不用拼音。我认为这是输入法的bug,还上升不到兼容的层面(一般说vim兼容是指支持normal模式自动英文,i模式自动中文),猜测:换一个sogou版本,或者随便换一款google, 紫光等应该都行吧。】
回复
Yibie: 2010-01-24 14:00
现在vim有vimim输入法插件,可以直接在vim下输入汉字而不必启用输入法软件
回复
原文:将下载到的vimwiki.vba文件放到vim的安装目录”~\Vim\vim72\plugin”或”~\Vim\vimfiles\plugin” 下
这一步不是必需的,放在哪里都一样,应该这个文件装好后,是用不到的,删了都可以。
至少,我在Win,Mac里装都没有放到上面所说的位置。
回复
我装过几个版本的vimwiki,不知怎么的,无法用GoHome功能到index,每次都会报错。也许是我的配置有问题吧。
回复
yt: 2010-04-24 11:12
我也是,只好使用热键自己打开index.wiki了。
回复
不知道怎样添加新词条。按Enter没有反应。
回复
[...] 善用佳软的教程:http://xbeta.info/vimwiki.htm [...]
wiki做PKM,可以看看connectedtext。这个最大特色可能是有可视化的结构图。
http://www.connectedtext.com/screenshots.html
这类东西偏重于解决自己怎样写。而我的主要需求是抓取别人写的,自己要做的是读和组织。所以不适合我。
我觉得选知识库软件要小心,要尽量选择开放性的可转换的。如果有一天你发现不能满足你的需求,辛苦建立的知识库要遗弃在角落,那可就糟了。
回复
PKM我现在还是推荐wiz。相对来说功能比较完整。我觉得这个最有可能发展成比较完善的个人知识管理工具。
回复