fgg blog

: Personal Wiki

利器2: Vimwiki 之 如何用 vimwiki 记笔记

# 个人维基 (personal wiki)

阅读过《爱丽丝漫游奇境》的小伙伴应该会觉得熟悉,维基就像那个“兔子洞”, 每个词条都可以是一个通往其他奇境的大门,但它只对有好奇心的人才打开。 (或者说有好奇心的人才会打开它,尼奥要是没有选择红色💊,故事恐怕就没趣得多)。 这是在维基上阅读时常有的感受。(其他网站很多时候则搞的更像是“盘丝洞”。)

每个人都有创作的冲动。 然而事实可能更简单:平时读书学习工作时喜欢东写西划总会留下一些‘笔记’。 对别人来说就是些胡涂乱画,可自己总觉得“珍贵” – “娘不嫌儿丑”说的大概就是这个。 慢慢地,积累的内容越来越多,涉及的范围越来越广,也就显得越来越零碎。 (嗯,为什么不在开始的时候就规划好呢?爸妈通常都是提这种好问题的高手)。 不过这在我看来更像一种“马后炮”式的责问,总有一丢丢“似是而非”的感觉。 学习的过程更像一种探索过程,对大部分人来说,事先恐怕都无法清晰地知道, 书山的路通向何处,学海的舟引你走向哪里。对于不能预先知道细节的内容, 通常会在开始的时候冠以“我的笔记”这么一个目录,然后下设一些粗略的学科名称目录, 直到不再满意这样的安排。毫无疑问,下一步就是要用一种合适的方式将它们组织起来。

相对独立的主题自成体系,不同主题之间关联的内容可以连接起来, 不仅在阅读时可以享受这种便捷的自由跳转,最好在设计和编写时也能如此。 对我而言,答案就是 vimwiki.

阅读的时候自由跳转,这个好理解,可编写内容不都一篇一篇的来吗? 编写的时候也“胡崩乱跳”的,听起来可不怎么美妙,怕不是有毛病?不,不要误会, 这其实是指:1)同时在多个窗格(Pane)打开多个文档;2)在窗格之间进行“闪转腾挪”。

如果是编写过比较复杂的模块的小伙伴可能会更深有感触, 这种不同文档之间的“旋转跳跃我开天眼”的要求其实并不过分, 只恨自己的屏幕不够多不够大放不下那段段优雅的代码 (据可靠的谣言称,有些程序猿一天80%的时间是在欣赏自己写的代码中度过)。

最典型的莫过于从函数调用的地方,跳转到在那遥远的地方的函数定义模块, 如果这两个地方的关系隔着三五个或者更多的模块的时候,(可能也是需要重构的信号) 那么,如果不能同时将这几个‘密接’文档铺在眼前,而是一个看完再看另一个, 朋友,我不知道你的情况如何,反正我是很容易迷失在这茂密的代码丛林里,晕头转向。

总而言之, 核心的问题在于如何组织这些文档,使得自己在构建个人‘知识库’的过程更丝滑畅快。

维基的特点就是“你中有我,我中有他”,比如说, 在组织和构建关于“线性回归”内容,我希望有一个“入口”文档,称之为主题目录, 这个文档只对要写的章节内容进行罗列和简介,更像一种“顶级菜单” (top level manu) , 这个菜单包含些什么菜呢?简介大概是这样的:

  1. 简单线性回归
    • 斜率和截距
    • 最小二乘法
    • 参数评估有多准
      • 置信度区间
      • 假设检验
      • P值: 有多少爱可以重来
  2. 多元线性回归
    • 自变量和因变量到底有没有关系
    • 因变量和哪些自变量有什么关系
    • 模型拟合
      • 残差(RSE)
      • $R^2$ 统计量
      • Adjusted $R^2$
  3. 贝叶斯线性回归
    • 是先验还是偏见?
      • 我认为 $\Theta$ 不只一个
      • 贝叶斯定律
    • 后验概率估计
      • MCMC
      • 吉布斯采样
  4. 广义线性回归
    • 指数族分布:不只有正态分布
    • 最大熵:我来教你挑选分布
    • 链接函数:线性空间到非线性空间的映射
    • 汉密尔顿蒙特卡洛

这就是关于“线性回归”内容的主题目录, 列出来的每个点都可以设置为链接点(但不是必须这么做), 从这个主题目录,可以去到任何的单个文档,在每个文档里, 都可以设置指向其他文档的链接,或者指向网络资源的链接(事事亲为并非必要)。