★ 从Vim到Emacs

由于我现在不再用Vim,应xbeta的要求,给《Pkm工具:Vimwiki》一文增加回顾和总结部份,现单独放出来。本文同时更新于自已《个人知识管理:Vimwiki工具》。

缘起Vim

在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用得越来越少了。

转到Emacs

在听说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就可以坚持下来了。

如图所示:

http://farm5.static.flickr.com/4076/4865667606_db89b7a4a4.jpg

下面是我的一思考的总结:

  • 我为何对Vim、Emacs这类程序员用的工具感兴趣?
    • 程序员的工作其实就是编辑文本
    • 电脑已经成为编辑文本最主要的工具
    • 选择高效的文本工具,自然要考虑程序员用的工具
    • 最重要的是我本来就对Vim感兴趣
    • 专注于内容建设要比排版重要,而Word显然做不到
  • 为何用Vim、Emacs来塔建个人的Wiki?
    • 这是最经济、最绿色的选择。因为它们是免费的,同时安装的时候不需要依赖其他的东西,不会给系统增加进程
    • 不需要考虑版面的问题,可以专心于内容的编写
    • 直接编写内容,不用进入什么后台之类的,很方便
    • 输入即输出,所想即所得,这是最高境界
  • 个人的Wiki该如何编写?
    • 每天都记录,一直坚持
    • 在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

★ 个人知识管理:Vimwiki工具

本文版权归属「Geek4us

阅读本文之前,首先你要确保,你会用Vim,懂得配置Vim的配置文件。如果不懂,请上网自行搜索Vim入门教程,已经有很多中文资源,我就不再解释了。

Vimwiki的安装

从以下链接中下载Vimwiki插件:

http://www.vim.org/scripts/script.php?script_id=2226

将下载到的vimwiki.vba文件放到vim的安装目录”~Vimvim72plugin”或”~Vimvimfilesplugin”下

用Vim打开vimwiki.vba,然后在”Normal模式”下,输入命令’:so %’,等一会儿,安装将自动完成.

在Vim的配置文件中添加以下命令:

" vimwiki
let g:vimwiki_use_mouse = 1
let g:vimwiki_list = [{'path': '~/vimwiki/',
 'path_html': '~/vimwiki/html/',
 'html_header': '~/vimwiki/template/header.tpl',}]

这个命令的目的是,修改你存放Vimwiki文件的地方,否则会默认安装存放在系统盘用户文件夹下(如果是在XP下,应该是在「我的文档」下面;如果是Windows7,则在「用户」这个文件夹下)。

例如:

” vimwiki

let g:vimwiki_use_mouse = 1

let g:vimwiki_list = [{‘path’: ‘E:/vimwiki/’, (这个是修改存放Vimwiki文件的地方,Vimwiki的文件后缀为.wiki)

‘path_html’: ‘E:/vimwiki/html/’, (这个是修改存放Vimwiki下把wiki文件转换为Html网页的地方)

‘html_header’: ‘E:/vimwiki/template/header.tpl’,}] (这个是修改存放Vimwiki转换网页时用的网页模板的地方)

Vimwiki的语法

Vimwiki的下载主页上面给出一个快速学习Vimwiki语法的知识卡片(pdf格式,可通过一些软件转换为图片),从上面便可知道所有的Vimwiki中使用的语法,十分简单,方便使用.

PDF地址:http://habamax.ru/myvim/data/vimwikiqrc.pdf

普通语法:

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 ===

Vimwiki键盘指令

首先,要明白,在Vim里面,输入指令是指在”Normal”状态下,敲击键盘上的按键,就是输入指令

如果有什么不懂,可输入在”Normal”下输入”:h vimwiki-mappings”查询

normal mode:

<Leader>ww — 打开默认的wiki主页

<Leader>wt — 在新的标签页中打开默认的wiki主页

<Leader>ws — Select and open wiki index file.(未知)

<Leader>wd — 删除你所在的wikiword的页面

<Leader>wr — 重命名你所在的wikiword页面

Enter — 在当前页面中新建新的wikiword页面

Shift-Enter — 新建一个wikipage,并在新的分割窗口中显示出来

Ctrl-Enter — 新建一个wikipage,并在新的分割窗口中显示出来(Vertical split and folow/create WikiPage)

Backspace — 返回上一页

Tab — 寻找下一个wikiword

Shift Tab — 寻找上一个wikiword

Vimwiki输入指令

输入’:Vimwiki2HTML — 将当前wiki页转换成Html格式’

输入’:VimwikiAll2HLML — 将所有的wiki页转换成HTML格式’

Vimwiki的特性

  • 与Vim紧密结合,可使用Vim的内建的正则表达式规则,高效处理文本
  • 与Vim紧密结合,可利用Vim内建的多种命令,以及可显示多个分页的特性,同时展示多种窗口,快速查看多份资料.
  • 由于Vim是文本处理工具,所以任何笔记,只要存为文本数据,便可以用Vim来组织和整理
  • 内置了特别的语法高亮模式,在观感上与普通见到的wiki没有多大的分别.
  • 可利用’:VimwikiAll2Html’这个命令快速将文本转化为网页.
  • 在Vim中自动识别网络链接格式,点击便可打开网页.
  • 在Vim的”Normal模式”下,在某行字句上面敲击”=”可自动为该字句添加标题语法
  • 自动添加wikiwork,当英文单词里面有连续两个英文字母为写’WikiWord’,Vimwiki会自动识别并将其标记为wikiword.该特性仅针对英文.

Vimwiki的一些缺点

  • 没有下划线的wiki语法

——————————————————————————

回顾与总结

缘起Vim

在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用得越来越少了。

转到Emacs

在听说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就可以坚持下来了。

如图所示:

http://farm5.static.flickr.com/4076/4865667606_db89b7a4a4.jpg

下面是我的一思考的总结:

  • 我为何对Vim、Emacs这类程序员用的工具感兴趣?
    • 程序员的工作其实就是编辑文本
    • 电脑已经成为编辑文本最主要的工具
    • 选择高效的文本工具,自然要考虑程序员用的工具
    • 最重要的是我本来就对Vim感兴趣
    • 专注于内容建设要比排版重要,而Word显然做不到
  • 为何用Vim、Emacs来塔建个人的Wiki?
    • 这是最经济、最绿色的选择。因为它们是免费的,同时安装的时候不需要依赖其他的东西,不会给系统增加进程
    • 不需要考虑版面的问题,可以专心于内容的编写
    • 直接编写内容,不用进入什么后台之类的,很方便
    • 输入即输出,所想即所得,这是最高境界
  • 个人的Wiki该如何编写?
    • 每天都记录,一直坚持
    • 在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:增加回顾与总结部分。