双链笔记+obsidian初见--惊艳的感受

本文最后更新于:2023年4月17日 晚上

接触与惊喜

前两天刚刚接触双链笔记, 之前一直用的typora + 目录树的方式管理笔记, 久而久之就遇到一个问题: 有时候我想回看 + 补充之前记录某个知识点, 比如某个配置文件的写法, 比如某个api的用法或者是某次会议的纪要, 我总是很难在茫茫知识点中找到相应的内容.

而我之前对双链笔记一直停留在大而庞杂的notion等软件中, 而我的思考是我仅仅需要简单的markdown语法就行了, 而这些软件一而使用厂家的数据库, 基于online的形式保存, 二不完全兼容markdown语法, 难以导出并在其他软件上打开.

某天闲来无事刷知乎, 看到这么一个回答: 我理想中的笔记软件..

发现原来现在的笔记软件已经如此丰富化了, 于是我花了一整天的时间用logseq, logseq带给我最惊艳的体会就是双链笔记的威力, 我在短短一天时间内已经体会到了.

它让我改变了对传统笔记的看法, 笔记不一定需要长篇大论并且保持分层, 完全可以采用平铺 + 网络化的方式来进行.

下图是我使用logseq当天的笔记, 如我希望在一个笔记中引出对一个第三方包的介绍, 我完全可以另开一个page并建立双向链接, 而不需要按照传统笔记的方式.

logseq的痛点

然而我在使用logseq的这两天里, 发现了logseq的许多使用上的痛点, 比如:

  1. 采用的是大纲形式的笔记, 导出的markdown全是列表项
  2. 新建块和块编辑常常需要鼠标辅助操作才能达到效果

于是我在体会到了双链的好之后, 开始尝试使用各种双链软件, 比如思源笔记, obsidian..

obsidian带给我的惊艳

如果说logseq带给我的是使用 “双链“ 这一特性的惊喜, 那么obsidian带给我的就是惊艳了.

下面讲讲obsidian的几个我十分满意的地方:

原生的markdown支持

这个应该放在第一个说, 比如这篇文章我是希望当成一篇博客发布的, 那么直接使用obsidian我可以保证可以直接以源文件的方式发布blog, 不需要修改任何内容.

而如果使用logseq, 我还需要手动调整那些复杂的嵌套列表项, 才能把他作为一篇标准的markdown文档发布.

VIM

obsidian让我体会到最牛逼的就是对vim的支持了,

首先配合上一个非常好用的插件: obsidian-vimrc-support , logseq可以实现利用vim命令调用一切obsidian内置命令.

附上我经过一个小时折腾得到的.obsidian.vimrc文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
" 本人的vimrc配置
" ------------- obsidian command ----------------

" 返回 / 前进

exmap back obcommand app:go-back

nmap J :back

exmap forward obcommand app:go-forward

nmap K :forward

" 打开日记

exmap day obcommand daily-notes

" follow link

exmap follow obcommand editor:follow-link

nmap <C-]> :follow

" surrounds

" 1. wiki (双链)

exmap wiki surround [[ ]]

map [[ :wiki

" 2. 单括号

exmap singlebracket surround ( )

map g( :singlebracket

map g) :singlebracket

" 3. 双引号

exmap quote surround " "

map g' :quote




" 折叠 / 展开当前行

" Emulate Folding https://vimhelp.org/fold.txt.html#fold-commands

exmap togglefold obcommand editor:toggle-fold

nmap zo :togglefold

nmap zc :togglefold

nmap za :togglefold

exmap unfoldall obcommand editor:unfold-all

nmap zR :unfoldall

exmap foldall obcommand editor:fold-all

nmap zM :foldall

" 编辑文件名

exmap rename obcommand workspace:edit-file-title

nmap zn :rename




" ------------- 一些基本配置 ----------------

" 默认剪切板

set clipboard = unamed

set relativenumber

" 换行编辑

nmap j gj

nmap k gk

" 首尾

nmap H ^

nmap L $

我在不长的使用obsidian的过程中, 不断优化需要鼠标操作的常用设置, 并加入vim中, 导致仅仅数小时后我几乎在操作常用的:

  • 文件跳转
  • 文件编辑
  • 配置设置

时, 完全不需要鼠标的支持了.

这个我是我在typora上都未曾拥有的体验, 并且黑一嘴vscode, vscode至今都没有修复vim编辑下中文输入抖动的问题: https://github.com/VSCodeVim/Vim/issues/7496

可以说, 我在obsidian之前, 都完全没有找到一款软件, 能够如此丝滑的用vim编辑markdown, 最重要的, 支持所见即所得. obsidian给我带来的惊喜导致我可以预料到我在将来几乎都要放弃对typora的使用了.

但是在我编写这篇博客的时间内, 不知道按了什么键导致vim模式整体失效了一次, 需要重新启动obsidian才能重新生效, 不知道是什么原因.

主题

obsidian内置许多很好用的主题, 并且支持极为方便的 自定义字体配置.

展示下我目前的写作主题:


  1. 英文字体 (代码段) 使用的是: Fira Code
  2. 中文字体使用的是: 霞鹜文楷
  3. 主题配色: Obsidian Nord (商店排名前列即可看到的主题)

毫不吝啬我的夸赞, 我个人对这套主题极为满意, 无论是从字体的展示, 到主题配色, 甚至配合vim的光标和选择.

vim选择下的background-color:

双向链接和块引用

  1. 可以很方便的使用[[]]来创建双向连接并且进入一个新界面
  2. 可以使用[[^xx]]的方式引用一个

这里提一嘴obsidian对于的定义:

官方文档: 块链接与块引用

一个块可以是一个段落、一个引用、一个列表等等。一般来说,前后有空行包围的东西就是块。

和logseq不同, logseq为了强调, 强行把markdown拆解为大纲形式的笔记, 这并不利于一整段文字的叙述, 如果强行将一整段文字放在一个logseq的块中, 其并不支持预览模式.

而obsidian的块操作深的我心, 众所周知, markdown天然的就用空行来区分每一个小part, 那何不直接使用空行来表示块呢?

并且obsidian的块引用也相当方便, 直接输入^即可链接到笔记:

一个块引用的例子

不过该说不说, 这里和logseq比确实有所劣势, 比如块是以uid的方式引用, 而logseq会直接渲染出引用部分的内容, 但是obsidian支持自定义uid, 可以花一番功夫选择一个具有代表性的块id名称. 不过可以预料到的是, 当文件变得非常多之后, logseq的那种渲染模式必然导致速度下降, 而obsidian应该会相对好一些(猜测)

补充: 可以使用obsidian的嵌入语法: ![[]], 完美解决这个问题 (本文撰写时未曾了解嵌入语法)

总结

虽然仅仅只使用了几个小时的obsidian, 但是其带给我的体验绝对是超级惊艳的, 今天仅仅是了解了一部分的使用 + 配置vim就已经很满意了, 期待探索更多的使用方法.


双链笔记+obsidian初见--惊艳的感受
https://blog.roccoshi.top/posts/8144/
作者
RoccoShi
发布于
2022年10月25日
许可协议