我的Obsidian入门之旅
# 前言
从上学阶段,工作阶段,我对于笔记的折腾也切换了好几个平台,内容也一再搬迁,简直就是一部笔记系统养成史,改变变迁的主要原因,大多都是因为新的工具具有革命性的变化,使得我能够在效率上,内容掌控使用上得到提升,今天将要编写 Obsidian 的入门笔记,那就借此机会,写一写过往的笔记系统,也算对过去的一个告别吧。
# 手写
在高中阶段,我们用的手机还都是各种廉价的山寨机,更莫谈什么电脑的接触了,我上网吧的次数两只手就能算过来,因此直到大学的计算机课上,老师布置的一个打字考试对我来说还是一个不小的考验。在那个没有电脑的阶段,我的大多数笔记,文字,都是通过手写来表达,粗略估算,在高中包括大学的那些年里,我单单手写的文章,小说等载体的记录,大约也要有 50w 字,甚至更多。那个时候我曾想过,我是不是以后一直都手写文章,就像很多文人留下的手稿一样,不得不说,手稿的确有手稿的魅力,一篇文章,通过手写的年代,最终呈现的质感,与现在通过键盘敲击出来的效果,是完全不同的,手写文章时,一天写个两三千字就算是极限了,而现在键盘做笔记时,半个小时就能编写出上千字的文章了。另一方面,纸质实体文章在经过岁月磨铣之后,当你再次捧读,会有别样的情愫油然而生,而存放在电脑里的笔记,多少年也一个样,是无法提供出这种乐趣的。
# Word
我是在参加工作一年多之后,才利用自己挣的钱买了第一台属于个人的笔记本电脑,也是在那之后才开始真正地将一些文字内容通过Word
进行编辑管理的,不过那时候的 Word 笔记只是以 Word 为工具,临时性打开一些散乱在各处的文件进行编辑,没有任何的体系,彼时也没有太多基于电脑笔记软件架构个人知识体系的意识,因此止步于 Word,倒也正常。后来互联网计算机的学习以及工作,让一些技术型笔记,成系统的文档进入到我的生命,也就不得不对所有的笔记进行系统地梳理以及整理了,那是我大多用的是目录管理法,Windows 电脑的文件管理的确要比 Mac 的文件管理好用,我也的确在一个大目录内,以小目录为分类,存放该类别知识点的若干个笔记,通过序号和内容类别对笔记进行命名,全部都用 Word 进行管理,那个时候学习时间紧任务重,没有一丝一毫的钻研笔记工具的空隙,竟也硬生生通过 Word 完成了技术笔记的第一版管理。
# Mybase
进入互联网工作之后,经同事安利,我接触到了mybase
这款笔记管理工具,这也是第一次接触这种系统性管理笔记的工具,但是见识同事利用此工具将自己的所有笔记集成在一个系统里,梳理的井井有条,然后还只用管理维护一个 db 文件就可以了,我感觉非常有意思,非常先进,很快就爱上了 mybase。mybase 主体是富文本编辑器,对 Word 的格式兼容也很好,我于是没多久就把之前基于 Windows 文件管理维护的系列笔记全部搬迁到了 mybase 之上,并通过一些钻研和使用,总结了那个时候的实践心得,并写成文章(个人知识管理工具一代神器之 mybase (opens new window)),发表在博客,这篇文章也为我的博客带来了最早一批的读者以及读者留言,因为当时留了个心思,将资源包放到百度网盘,让读者需要留言方可获得取件码,现在,百度一下文章题目的关键字,已经可以看到无数站点将这边文章搬运走的景象。mybase 的确给我带来了不少的便利,那个时候我基本上每个月备份一次数据库文件放到网盘,这种情况持续了将近一年,直到我遇到了Typora (opens new window)。
# Typora
事实上在使用 mybase 的过程中,随着互联网工作的深入,平日里看公众号文章以及在网上冲浪,经常能看到别人分享自己的笔记软件,时常会看到有人安利 typora,那时候我大概也安装过 typora,不过刚安装的 typora 事实上看起来甚至有些简陋,以至于我安装之后就没能应用起来,这也是之前受 Word 和 mybase 的富文本编辑思想的影响,还没感受过 Markdown 风格的魅力。真正遇到 typora 之前,我也几乎体验了十来款市面上常见的笔记软件,这个经历在 typora 的文章(Typora–可能是最好用的本地 Markdown 工具 (opens new window))里,我有提过。回看了刚刚这篇文章才想起来,我还折腾过 mindoc(开源的在线接口文档 wiki 工具 Mindoc 的介绍与使用 (opens new window)),而且用了不短的时间,mindoc 是一款基于 beego 开源的类似看云风格的笔记管理系统,基于 Markdown 编写,正是这个工具的使用,让我学会了 Markdown 的语法,以及一些沿用至今的快捷键的习惯,正是在这个软件里,我完成了笔记以知识点归类的飞跃与改变,那时定下的笔记目录分布,一直沿用到今天。只不过 mindoc 的问题在于他是在线的,而且后期作者也没再维护更新了(当然近期又有其他爱好者开始维护了),我也就开始找寻本地好用的 Markdown 管理软件。
现在已经记不起是什么机缘让我决定彻底使用 typora,但清晰记得自己从 mindoc 将笔记往 typora 搬迁的过程,那个时候笔记应该有三四百篇了,已是不小的工程,自此后三年来所有的笔记则全部都在 typora 当中呈现了。
后来也安利过不少同事使用 typora,现在组内好几个小伙伴都是经过我的安利之后切到 typora 的,的确,typora 的所见即所得模式算是目前市面上最丝滑的,简单,高效,不花哨,很好用,这大概就是 typora 的核心思想。在这里我要感谢 typora,以及 typora 的作者,给我带来了如此畅快的编辑体验。
# Obsidian
我用 Typora 写作了三年,三年来笔记已经达到一千五百篇左右,得益于一开始精心的架构设计,以及不间断地维护优化,我还总是能在这数量庞大的笔记里,找寻到解决实际问题的答案,但的确越来越感觉到有一些吃力了。人的大脑可能是无限的,但是对于固定的内容的记忆,则一定会随着时间的流逝,使用次数的减少,而慢慢淡化。我渐渐发现有一些笔记,可能再也不会被我阅读查看,那这个笔记其实也就等于白记。
于是,三年来我也不断地关注过其他笔记。我看到一个同事使用印象笔记 (opens new window)基于标签功能将笔记治理的井井有条,心生羡慕,想着 typora 能支持标签功能该多好,然而 typora 的作者似乎并不打算给 typora 添加更多丰富的功能,我也只能艳羡着。后来又看到有同事整组都在用notion (opens new window)记笔记,而且他们组已经形成了基于 notion 的协作体系,仿佛也是不错的,不过看到 notion 在国外又不支持本地,我也未曾涉足。国内类 notion 的wolai (opens new window),在很早期邀请制的时候我就开始关注了,那时候他功能还很不丰富,我仍旧进行了一部分体验,受一贯以来树形文件夹管理思路影响的我,一开始很不习惯 wolai 这种单页面管理形式,但是从 wolai 的体验中,了解到双链这种思想,单页的思想也多少有了一些认识,现在的 wolai,已经发展成相当成熟的笔记管理系统,不过我之所以不选择他,还是因为不支持本地。这个过程中还了解过葫芦笔记 (opens new window),互链笔记 (opens new window),roamedit (opens new window)等笔记,都只是简单体验,感觉不符合自己期待,也就没再深入。近期也体验过风评比较不错的思源 (opens new window)笔记,体验之后感觉思源笔记做的已是相当不错,而且也是基于本地管理,个人免费功能完全够用,但是他自创了基于 sy 后缀名管理,虽然编辑风格是 markdown,但实际已经脱离了 markdown 为基础文件单位的思想,我在实际使用过程中,博客分享等都依赖 markdown 源码格式,因此也放弃了思源。有人说,笔记管理的意义在于折腾,的确如此,在不断折腾的路上,我终于遇到了 Obsidian。
我并不是最近才听说的 ob,大概在一年之前就曾听说过他,并且也曾下载体验过,只是那个时候的 ob,全局英文,功能简单,编辑体验很差,在我没多体验之后就卸载了。直到两周前再次遇见 ob。
现在,是时候整理一下我个人对于笔记管理工具的需求了:
- 完全基于 Markdown 编辑,渲染,管理。
- 完全支持本地化管理,无论是笔记文件还是图片等附件。
- 需要支持标签系统,双链系统,模板系统。
- 搜索一定要强大好用。
- UI 整体看上去简洁优雅,不必过于花哨,也不要过于简陋。
想来想去,我的核心诉求应该也就是如上五点了,目前在用的 typora 在前两点上是当之无愧的霸主,但是越来越重要的三四两点就不太行了,结合市面上一众笔记软件对比下来,我发现,Obsidian 应该是最契合我需求的工具,经过两周多的体验之后,我基本上已经坚定,ob 将成为我下一个阶段的主力笔记软件了。
如上内容提到了不少其他笔记,这里无心评论任何一款笔记好或者坏,每款软件都有自己存在的优势,ob 未必是适合所有人的软件,否则她早就风靡全球了,我们在选择一款笔记软件时,首先要梳理清楚自己的需求,然后根据需求结合各笔记软件的特性进行体验,就可以找到合适自己的笔记软件了,合适的,就是最好的。
# 认识
# 基础信息
- Obsidian 官网 (opens new window)
- Obsidian 官方社区 (opens new window)
- Obsidian 中文社区 (opens new window)
- Obsidian 发行日志 (opens new window)
- Obsidian 未来规划 (opens new window)
- Obsidian 官方中文帮助文档 (opens new window)
通常大家都喜欢将 Obsidian 简称为 ob,那么后边编写过程中,我也就已 ob 简称了。
# 教程资源
网上有不少前人已经整理了很多丰富优秀的资源和内容,这里将我学习过程中遇到的优秀内容罗列如下:
- Johnny 学 OB (opens new window):作者在 b 站分享的系列入门教程,非常优秀,我在这里学到了非常多的东西。
- obsidian-plugin (opens new window):宏沉一笑整理的插件列表。
- OB 插件汇总 (opens new window):Johnny 学整理的插件站点,方便搜索,有简单介绍。
- Obsidian 插件汉化 (opens new window):作者整理了一些插件进行了汉化。
# 简单了解
刚才重读官方文档的时候,看到了开发者对于 ob 的定位:
再三思索之后,我们决定了黑曜石最基础的三个方向:
- 本地优先和纯文本
- 链接为一等公民
- 使其具有超级可扩展性。
第一条理念与我是深深契合的,至于第二条以及第三条则是我这两周来不断学习体验过程中慢慢感受体会着的,链接用好之后,的确能够将整盘笔记盘活,哪怕我那 Typora 库中的一千五百多篇笔记。丰富的插件扩展,让很多神奇的功能都得以在 ob 当中集成,极大地丰富了 ob 的生态,让 ob 成了一款无所不能的神器。
说了这么多铺垫信息,终于,我将要进入 ob 的入门旅程记录了,ob 一切配置皆为文件,在这两周的折腾历程中,的确有太多需要记录的东西了,我也必须要事无巨细地认真记录,以便于后来人参阅,也便于自己回看。
# 配置
# 前置说明
obsidian 的主题和插件接口加载的原文件以及资源都在外网,因此大多数同学没有梯子的情况下是没办法访问的,没法访问的资源可以在上边教程资源里边走国内下载手动安装。
因为我个人是从 typora 平台过来的,因此关于 Markdown 语法相关的内容,就不在这篇文章进行呈现了。
# 安装初始
通过官网下载各自平台安装包之后,各自进行安装,没什么值得说的。直奔主题,Mac 版本打开之后首先将语言切为中文:
然后创建一个新库,ob 中有库的概念,英文为:Vault,其实也可以理解成 Workspace,一个库就是一个独立的笔记的工作空间。我这里创建了一个名为Obsidian
的库,接下来所有的操作都将在这个库里进行。大家可以打开帮助库阅读官方提供的文档,里边已经全面详细地介绍了 ob 的各种用法,不过正因为是官方文档,可能有时候并不太适合一开始就去啃读的,因为有太多名词概念我们第一次接触,没办法很快消化理解,反而容易迷失其中。
# 目录简介
一个成熟的 ob 库目录大概如下:
Obsidian
├── .obsidian
│ ├── app.json
│ ├── appearance.json
│ ├── community-plugins.json
│ ├── core-plugins.json
│ ├── daily-notes.json
│ ├── graph.json
│ ├── hotkeys.json
│ ├── multicolor.json
│ ├── page-preview.json
│ ├── plugins
│ ├── snippets
│ ├── switcher.json
│ ├── templates.json
│ ├── themes
│ ├── workspace
│ └── workspaces.json
├── .trash
├── .vault-stats
├── obsidian
│ └── 学习obsidian.md
├── zob-config
│ └── template
└── zob-source
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
其中带.
的是隐藏文件,在 ob 打开之后是看不到的,不过都非常重要,我简单介绍一下各个文件目录以及用途:
.obsidian
:存放 ob 所有应用配置相关的内容。plugins
:所有安装的插件都会存放在这个目录,如果你要手动安装插件,可以通过将插件放到这个目录,让 ob 加载。snippets
:ob 允许用户添加一些自定义 css 片段对视图进行自定义,后边会讲到一些用法。themes
:主题文件,与插件一样,我们安装过得主题都会存放置在这个目录下。
.trash
:ob 系统自己的回收站,我们可以配置 ob 删除的文件存放在这里,以便与系统回收站的垃圾信息进行区隔。obsidian
:往下的文件将是我们自己定义的文件,用于存放及管理我们自己的笔记。zob-config
:我建议大家也这样创建一个 config 目录,加 z 是为了排序在最后,此目录用于存放 ob 使用过程中需要保存的一些配置,比如模板,脚本等。zob-source
:借助以往 typora 的使用经验,同样建议大家创建一个 source 目录,用于存放所有的图片,视频,附件等内容。
这里将 ob 常用的需要了解的目录都进行了介绍,可以说所有的准备工作都已经妥当,接下来进入正式的配置工作。
开始之前,我先放一张学习两周之后配置的首页,以提振兴致:
# 配置同步
得益于 ob 一切配置皆文件的思想,我们可以很方便地将 ob 的整库进行云同步,在以往 typora 使用过程中,我采用的方案是坚果云自动同步,这样可以实现工作电脑,以及家里电脑的自动同步。
在坚果云自动同步的基础之上,我还将库文件做了 git 初始化,基于国内的 gitee 管理,不过并没有使用 ob 的 git 插件,git 对我而言只是一个备份作用,而非同步作用,因此 typora 使用过程中,也只是在想起来的时候手动同步一次。
在 ob 特性之下,我能想到同步的优势有以下两点:
- ob 一切配置皆文件,类似软件比如 vscode 我们也会自定义非常多配置,尽管也有同步配置的工具,但是同步效果仍旧不甚理想,而 ob 中无论在哪台电脑做了什么配置变更,都会作用到其他同步的电脑上,这点优势非常大。
- ob 中附件的加载路径允许以库为根路径进行引用,这种优势在于,跨平台的场景下,仍旧不会因为上层路径不一致,而导致图片等资源加载失败。之前一开始使用 typora 是在 Windows 上运行,后来需要迁移到 Mac 平台,因为 win 与 Mac 的文件绝对路径不一样,我只得写个脚本批量将所有图片的路径进行替换,才解决这个问题,而今 ob 当中,则不会有这种问题。
因为我的笔记大多都是技术笔记,以及一些生活感悟,大多数时候都在 pc 端编写与使用,移动端的使用场景并不算很多,因此之前也没有怎么折腾移动端的配置,如果想要简单查看个内容,则可以使用安卓的坚果云在云端查看。
现在 ob 支持多平台,可以借助于 FloderSync 软件,配置坚果云实现安卓机的本地同步,不过目前我体验着好像有点问题,可能是自己哪里配置有问题,暂时按下不表。
现在同步工作也搞定了,接下来就进入正式的折腾环节了。
# 配置主题
一款好看的软件,能够让你多多驻足,至少能够愉悦地使用,也是好的。ob 现在主题也有几十款,我尝试着安装了几个,似乎都没有太喜欢的,直到在论坛遇到了Vue (opens new window)主题。
因为在使用 typora 的三年里,我一直用的就是 Vue 主题,中间也尝试下载其他主题体验过,但是都不够符合自己的审美,因此一个 Vue 主题,就始终霸占着我的眼球,ob 的 Vue 主题没有上架到社区商店,不过只需要将其官方仓库的 obsidian.css 放到 ob 主题文件夹下即可。
不难想象,Vue 主题将会成为我在 ob 的御用主题。
# 基础配置
事实上刚安装好软件之后,首要做的事情应该是对 ob 的系统配置项进行一些定义与配置,只不过前边先啰嗦了一堆内容,现在,就来说说我对于配置的使用以及取舍,权当个人配置信息的备份,不一定代表所有人都与我对齐。
主要用截图直接呈现,各项配置有话则长,无话则短。
# 编辑器
配置如下:
拼写检查:
通常不建议开启拼写检查,我不太喜欢系统在一些字词下边的红色波浪线。缩减栏宽:
此配置可实现正文内容居中展示或者顶满两侧显示的切换,我觉得窄的更好看。折叠标题:
建议开启,针对长文而言,编写的时候有了折叠还是方便不少的。折叠缩进:
同样建议开启。默认视图模式:
尽管我选择了默认为预览,但貌似没有生效,现在通过增强预览插件实现,后边详说。使用制表符:
从 typora 中养成的习惯,我更喜欢使用 tab 来管理缩进。
其他选项根据个人喜好自由配置。
# 文件与链接
配置如下:
删除提示:
我建议开启此选项,我们会给删除文件绑定一个快捷键,ob 中大量的工作都是基于快捷键完成的,可能会有误触,此时有这个提醒,能多加一个保险,删除之后再从回收站恢复是费事儿的一个操作。始终更新内部链接:
这个一定要勾选,勾选之后文件位置移动,或者重命名,引用链接会自动更新,非常方便。新笔记存放位置:
我已经配置了当前文件所在的文件夹,但是经常还是会创建错位置,因此新建文件建议使用鼠标右键进行创建。内部链接类型:
原则上来说这里用简短路径以及库的绝对路径是合适的,但是当前 ob 的编辑体验还差 typora 很多,一些笔记可能还会通过 typora 进行编辑查看,前边两种文件引用方式,在 typora 中,是无法加载到图片的,而改用插入基于当前笔记的相对路径
则即便文件通过 typora 打开,也仍旧是能通过 typora 加载到图片的。使用Wiki链接:
我这里不打开是为了兼容图片能够在 typora 打开时能够识别到,但是有一个问题是,如果通过[[
链接文件的时候,解析成[]()
格式之后,无法使用 ob 提供的链接到标题或者文本的能力,这块儿感觉是 ob 需要优化的一个点。附件默认位置:
这里定义的就是上边目录简介中提到过的专门存放附件的目录。
# 外观
配置如下:
基础颜色:
Vue 主题本身为亮色而生,我也不大习惯在笔记中使用暗色主题。半透明效果:
不建议开启,笔记本身应该专注使用,半透明反而不好看。主题:
根据自己喜好选择,实际主题都是基于单个 css 文件定义,如果网络不好可以自行下载放到主题目录。css代码片段:
论坛有同学临安 (opens new window)整理的很好了,大家可以根据自己的喜好选择。
# 快捷键
快捷键这里不进行截图了,每个人都有自己的快捷键使用习惯,可根据自己的需求进行配置,接下来我整理下自己使用的快捷键列表:
快捷键 | 说明 |
---|---|
command + shift + p | 打开命令窗口 |
command + o | 打开文件搜索切换窗口 |
option + w | 将窗口切到 HomePage 页面 |
option + shift + w | 打开工作空间面板 |
command + 1 | 一级标题 |
command + 2 | 二级标题 |
command + 3 | 三级标题 |
command + 4 | 四级标题 |
command + 5 | 五级标题 |
command + 6 | 六级标题 |
command + k | 插入链接 |
command + , | 打开软件设置 |
command + d | 删除段落 |
command + shift + w | 无序列表 |
command + shift + y | 有序列表 |
control + x | 行内代码 |
control + c | 代码块 |
control + - | 返回 |
control + = | 前进 |
command + f | 查找并替换 |
command + shift + f | 全局搜索框 |
option + shift + y | 折叠/展开右侧边栏 |
option + shift + z | 折叠/展开左侧边栏 |
command + shift + c | 折叠/展开左侧功能区 |
option + shift + delete | 删除当前文件 |
command + d | 向右拆分 |
command + shift + d | 向下拆分 |
option + shift + d | 删除当前段落 |
option + shift + k | 为中英文字符自动添加空格 |
option + shift + m | 使用默认应用打开当前笔记 |
有一些快捷键可能是需要安装插件之后才有的,具体信息等到讲解插件时再具体说明。
顺便说一句,因为快捷键比较多,多了之后很多会忘掉,因此我会在首页做了一个捕获的 button,从而再添加了快捷键之后,能够快速记录一下,然后形成一个自己的快捷键列表,方便自己没事儿的时候复习练习,同时也能很好的存档,这一点在后边将插件的时候再说。
遇到的问题:
- 目前发现如果我折叠了左侧功能区之后,那么左右两侧边栏的布局想要通过拖动重新规划的时候,总是会有问题,当我展开左侧功能区,拖动恢复正常。
# 关于账户
关于界面以及账户界面都没有太多要说的,开发者承诺对于个人用户本地使用永久免费,如果大家只是本地使用,那么也不必注册账号进行登陆,也不会有任何功能上的缺失。
# 核心插件
配置如下:
核心插件是 ob 官方提供的一些基本插件,或者说重要插件,不过有一些插件可以根据个人需求情况进行灵活调配,通常这里的配置文件都是建议打开的,那我就把几个没有打开的跳出来说说吧:
模板:
官方提供的模板插件只有一些相对简单的模板配置,通常我们都会使用社区插件 templater 来作为模板插件,因此这里就禁用了。ZK卡片:
我没有接触过这种概念,日常也不大用的到,因此就关闭了。幻灯片:
这个可开可不开,通常我没有直接使用幻灯片预览的需求,因此先关闭了。工作区:
同样,也是因为安装了更为强大好用的Workspaces Plus (opens new window)插件,所以这里官方提供的工作区就禁用了,工作区是一个非常重要的概念,后边折腾的时候会再次提到。发布与同步:
因为我的笔记都是基于本地管理,且并不依赖官方提供的付费同步功能,因此这两项也关闭了。
# 第三方插件
界面如下:
只需要关闭安全模式,即可愉快地使用第三方插件了。三方插件也成为了 ob 的一大特色,开放以来,社区涌现了大量优秀且强大的插件,正是这些插件,构建了 ob 如今的繁荣生态。网上大多数关于 ob 的教程,有超过一半以上的内容都是围绕着三方插件展开的,由此也可以看出三方插件在 ob 的系统中,已经是不可或缺的存在。
关于插件,我之前学习 ob 过程中的一些体悟,可以在此贴出:
- ob 最大的优势在于它的自由,以及插件体系的丰富与强大,但自古以来的阴阳道理告诉我们,优势很多时候,也会是劣势。因此使用 ob 的首要金句就是:
一定要克制地用ob
,尤其是插件体系。所以我在想,像 typora 这样的简单纯粹,丝滑够用的,也是一种不错的思想,至少能一直专注于文字,而非折腾,说到底,一款笔记软件的核心目的还是写作,所以像 ob 这种插件体系非常灵活的,要务必告诫自己,克制折腾,专注创作。 - 当然在初期体验使用过程中,还是鼓励多折腾,只有折腾之后,才能找到真正属于自己的美好定制。正所谓,历尽千帆,跨越山海,返璞归真,认真写作。
- 克制大多数应该是建立在折腾之后,而非一开始的坚持保守。正如处在青少年的处子,你告诉他千万不能纵放自己的欲望一样,是绝对没有任何威慑力的,必须得他自己经过一些体验,获得一些自己的体悟之后,方能体会到,克制的魅力。
- 是的,我还一直处在折腾插件过程中,还有很多优秀的插件等待我去发掘,如果在初体验时我不把这些优秀的插件发掘,那么在以后笔记全部迁移之后的日子里,则更不太可能有这样的精力折腾了。
# 插件
正如前边所言,插件也将会是本文的一大重点,尽管有一些插件用的还不够深入,但是当前我已经安装了足够多的插件,这里就以我个人的体验以及熟悉度来讲讲我对诸多优秀插件的理解。
插件讲解的时候我只会在标题链接插件的 github 地址,如有同学网络不能下载,可以通过上边资源里提供的插件网站在国内下载。
# buttons
# 信息
- 名称:buttons (opens new window)
- 功能:能够提供一个多功能的按钮,你可以给按钮绑定任意的操作。
# 使用
通常这个插件应该会是出现在固定的首页里边,我们能够简单高效地通过点击按钮执行一些操作。
正如开始截图的个人主页那样,借助于 QuickAdd 插件的捕获功能,我将按钮绑定在对应功能的快捷键上,从而提供了类似闪念胶囊的作用。
打开命令面板,输入按钮
(如果没有汉化则输入 button),可以进入如下选项页:
添加成功之后,会生成如下代码块:
```button
name 闪念
type command
action 快速添加: 日常随思
color blue
```
^button-m6g9
2
3
4
5
6
7
我这里是在汉化仓库下载的插件,中文用起来还是更加丝滑一些。
通常之后再添加同样的常规按钮,则直接复制如上配置块儿信息,改下name
,action
,以及最后的^button-m6g9
即可,最后的这个是这个 button 的唯一 ID,我们可以通过button-m6g9
这个 ID 全局调用这个 button。
这样把按钮放到首页,点击按钮即可直接创建一条短记到指定笔记中。
同理,套用这个命令功能,事实上所有我们在命令面板执行的命令,都可以通过这种方式绑定到按钮上。
# note-refactor-obsidian
# 信息
- 名称:note-refactor-obsidian (opens new window)
- 功能:笔记重构插件,能够让一篇长文,按照指定的分割标志切割成链接引用风格的文章。
# 使用
此插件是隐藏功能插件,在我们需要使用的时候,通过调用命令面板进行应用。如下图:
如截图所见,我们可以通过选择插件提供的一些切分依据对一篇文章进行打碎重构,比如你的一篇文章标题非常严谨,全部都是通过二级标题作为只是点归类,那么就可以直接选择Split note by headings - H2
,笔记就会自动基于 h2 标记对当前文章进行拆分,每个二级标题为一篇文章,笔记新建之后,标题会自动被当前笔记链接,那么一篇完整的笔记,就能够基于二级标题拆分成标准的双链笔记了。
官方对如上功能有一个表格,我这里摘录下来,通过机翻做下简单的汉化,可供大家参考:
使用案例 | 命令 | 插件设置 | |
---|---|---|---|
1 | 1. 将光标当前行中的内容按原样拆分为新内容. 2. 用户提供的新笔记的文件名. | Split note here - content only | 包括标题 False |
2 | 1. 从光标的当前行分割一个内容到新内容中. 2. 用户提供的新笔记的文件名. 3. 作为标题列入新说明的第一行. | Split note here - content only | 包括标题 True |
3 | 1. 将光标当前行中的内容按原样拆分为新内容. 2. 从选定内容的第一行开始设置新笔记的文件名. | Split note here - first line as file name | 包括标题 False |
4 | 1. 从光标的当前行分割一个内容到一个新的内容. 2. 从选定内容的第一行开始设置新笔记的文件名. 3. 作为标题列入新说明的第一行. | Split note here - first line as file name | 排除第一行 False 包括标题 True |
5 | 1. 将标题下的内容拆分为每个标题的新内容. 2. 标题为每个新笔记集的文件名. | Split note by headings - H1 Split note by headings - H2 Split note by headings - H3 |
这款插件可以应用在我们日常写作当中,我们新学习一个知识,在编写笔记的时候不必过多考虑链接之类的概念,只需要在一篇笔记中,利用标题层级做好归类划分,不断完善这个知识点即可,等到觉得差不多的时候,可以利用此插件,一键将一篇笔记拆分成诸多知识点。
# cm-editor-syntax-highlight-obsidian
# 信息
- 名称:cm-editor-syntax-highlight-obsidian (opens new window)
- 功能:提供了在编辑模式中一些代码语法高亮的效果。
# 使用
插件安装之后即可直接使用,没有单独的配置项,功能如下图所示:
# Advanced Tables
# 信息
- 名称:advanced-tables-obsidian (opens new window)
- 功能:更好用的表格编辑体验。
# 使用
通常在 markdown 里编辑表格的体验都比较糟糕,一些使用者有时会借助一些在线表格工具,通过工具渲染的 Markdown 内容再粘贴过来,这款插件为简单表格编辑提供了一些辅助角度。
所以现在一些简单的表格,我都会在 ob 里边直接编写。插件的配置项比较简单,我为了便于使用时判断是否启用,一般都会把插件里边的选项信息汉化一下,这里截图放一下机翻汉化的配置信息说明:
我比较常用的就是tab键
向后边的列切换并自动对齐,enter键
向下自动创建新行。
# Obsidian Activity History
# 信息
- 名称:obsidian-activity-history (opens new window)
- 功能:能够展示类似 github 提交历史那样的本地笔记活动历史。
# 使用
作者在 README 提供了三种视图的示例,如下:
因为第三种比较好看,因此我这里记录下个人配置出第三种效果的配置信息,同样本地针对插件的配置项做了简单的汉化处理:
配置完毕之后,在任意你想展示此活动历史的地方,添加如下代码切换到预览即可看到效果。
```ActivityHistory
/
```
2
3
注意:
此插件仅展示安装之后的活动状态记录,之前的历史并不会展示。
# Quick Explorer
# 信息
- 名称:quick-explorer (opens new window)
- 功能:从 Obsidian.md 标题栏执行文件资源管理器操作(并查看当前文件路径
# 使用
当我一开始从 typora 的目录层级管理切换到 ob 之后,发现无论点开哪里的文件,都没有展示文件路径的信息,这对于有时候想要依赖路径找到文件的我,很不习惯,此插件提供了在左上角展示文件路径的能力:
这个位置稍微有点尴尬,或者说不够美观,当我安装了 hider 插件之后,这个顶栏被隐藏了,因此就看不到这个信息了,不过使用了obsidian-show-file-path (opens new window)插件提供了在底部展示当前文件路径的能力。尽管如此,这个插件仍然值得被推荐。
# QuickAdd
# 信息
- 名称:quickadd (opens new window)
- 功能:快速添加,在 ob 中提供了随时随地快速添加内容的能力。
# 使用
这个插件的名字以及介绍都很简短,但是它的能力却非常强大,能力强大,就不是一句两句能讲的清楚的了,它提供了诸如模板
,捕获
,宏
等多种能力,前边主页截图右下角的速记工具,则都是通过这个插件的捕获功能来完成的,目前我的应用场景也是体现在捕获功能上,这里就先介绍下捕获的应用。
捕获是可以通过简单地配置就能够完成一个类似闪念笔记的功能,我这里以添加一个日常随思为例:
首先添加一个
日常随思
的命令,注意选择类型为捕获
然后按照下图根据自己的场景进行配置 通常我会比较在意一些想法以及笔记产生的
时间
,因此最后利用时间模板来填充笔记记录的时间:- 🙋 {{DATE:YYYY-MM-DD HH:mm:ss}}:{{VALUE}}
配置完成之后,退出来,点击
闪电
标志,能够将此命令添加到命令面板
,就能直接调用了。同时,我们还可以将这个命令利用
button插件
的特性,绑定在一个好看的按钮之上,然后将按钮放置在主页的侧边,这样就能够实现快速点击按钮调用日常随思的命令,来记录下那些日常的思想瞬间了。
这里只是介绍了该插件捕获功能的使用场景,事实上他的模板功能,宏功能都很好用,以后有机会再来补充。
# Media Extended
# 信息
- 名称:media-extended (opens new window)
- 功能:提供了在 ob 中引用在线视频的功能
# 使用
功能介绍补充:
- 播放器增强
- 做笔记
通常配合 bilibili 插件,我们能够在 ob 中直接引用 b 站的视频,启用双栏编辑可以边看视频边做笔记,并且能够标记视频的时间戳,从而定位知识点的位置。
# Templater
# 信息
- 名称:Templater (opens new window)
- 功能:比 ob 官方自带的核心插件中的模板插件更加强大的模板插件。
# 使用
介绍使用之前,这里先把我这里针对模板的配置项信息截图留存一下。
一般配置
- 正如一开始介绍目录分配的时候所说,模板存放的位置也应该有一个指定的路径安排,我这里统一将模板文件存放在
zob-config/template
下。 `鼠标光标自动跳转`,这个非常重要,非常好用,一定要勾选,后边介绍应用的时候会提到。
- 新建文件应用模板,这个也要勾选,其他日记,周记在快速新建的时候都会用到这个选项。
- 正如一开始介绍目录分配的时候所说,模板存放的位置也应该有一个指定的路径安排,我这里统一将模板文件存放在
模板快捷键
- 我们可以给指定的模板绑定快捷键,以实现更加快速地应用到模板。
文件夹模板
所谓的文件夹模板,其实也可以理解成文件模板,只不过插件更加强大地支持分目录单独配置,我这里针对普通文件目前没有特殊的配置需求,因此就配置了一个模板,作用于整个仓库下的新文件。我们来看下模板内容:
--- author: eryajf created: <% tp.file.creation_date() %> aliases: [] tags: ---
1
2
3
4
5
6这些内容将作为任一新建文件的基础信息,包括作者,创建时间,别名(如果需要),tags,这些信息,一方面标识一篇笔记的一些基础信息,另一方面将有助于以后利用一些形如 dataview 之类强大的插件对笔记进行归类,整理。
启动模板与脚本 这两个目前还没有具体研究过,所以暂时没有用到。
系统命令功能 这里非常巧妙地通过配置系统命令,能够为模板系统添加一些更加丰富的能力。比如我这里借助于wttr.in (opens new window)项目的能力,为日历内容中添加了天气信息获取的能力。 由于网站不在国内,获取比较慢,因此我在个人服务器上加了个脚本更新,然后获取天气的方式就变成了从自己的服务器获取,速度快多了。目前提供了如下城市的天气获取,如果你也想借助我这个服务器获取天气,而你的城市又不在列表内,可以评论留言我来添加:
# 北京 curl -H "Accept-Language: zh-CN" "http://weather.eryajf.net/BeiJing.html" # 上海 curl -H "Accept-Language: zh-CN" "http://weather.eryajf.net/ShangHai.html" # 广州 curl -H "Accept-Language: zh-CN" "http://weather.eryajf.net/GuangZhou.html" # 深圳 curl -H "Accept-Language: zh-CN" "http://weather.eryajf.net/ShenZhen.html" # 杭州 curl -H "Accept-Language: zh-CN" "http://weather.eryajf.net/HangZhou.html" # 社旗 curl -H "Accept-Language: zh-CN" "http://weather.eryajf.net/SheQi.html"
1
2
3
4
5
6
7
8
9
10
11
12上边的命令相当于添加了键值对,在模板内容里边,可以通过
<% tp.user.hangzhou() %>
这种方式进行调用。这个模板在日记里边有应用,等到讲解日志插件时候再详细介绍。 另外两个命令是因为我想在周记里边添加上周下周笔记的快捷链接,但是找遍了插件中的说明文档,似乎并没有比较好的方式实现,所以就借助于系统命令的能力,添加了两个数字获取的方法。
# Obsidian Pangu
# 信息
- 名称:obsidian-pangu (opens new window)
- 功能:能够一键自动为文中的数字或者英文添加空格的插件。
# 使用
这个插件非常简单,仅需绑定一个快捷键即可使用,我这里绑定的自定义快捷键是option + shift + k
。
# Clearing Unused Images
# 信息
- 名称:oz-clear-unused-images-obsidian (opens new window)
- 功能:一键清理未被引用的图片。
# 使用
配置信息如图:
这是个非常优秀的插件,通常我会打开命令面板调用命令将未使用的图片进行清理。之前在 typora 中则没有这样的插件,慢慢地已经积累了不少无用的图片在附件库,有了这个插件,从此不会再有这种顾虑。
# Checklist
# 信息
- 名称:obsidian-checklist-plugin (opens new window)
- 功能:能够将带有 todo 标签的任务卡汇总在右侧边栏展示的插件。
# 使用
配置信息如图: 只需要在待办列表之前添加 tudo 标签即可自动捕获,当然这个可调整。 展示效果如下:
# calendar
# 信息
- 名称:obsidian-calendar-plugin (opens new window)
- 功能:这个插件为黑曜石创建了一个简单的日历视图,用于在你的日常笔记之间可视化和导航。
# 使用
这又是一个明星插件,在社区安装数量排第一的插件,可见其 应用的普遍性。 配置信息如下:
创建新笔记确认,这个还是有必要勾选的。
显示周数之后能够添加周记的概念,往下边就又配置了关于周记的模板。内容如下:
--- author: eryajf aliases: [] tags: weekly --- <<[[<% tp.user.lastweek() %> |上周的周记]] | [[<% tp.user.nextweek() %> |下周的周记]]>> ## 生活 ## 工作 1. 效率 2. 稳定 3. 成本 4. 安全 5. 业务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17这样每周创建周记的时候,就会自动在开篇将上周与下周的笔记链接过来,形成一个上一篇下一篇的能力。 后来在微信群里又有朋友分享了基于 dataview 实现的上下周的功能,一并列举在此:
```dataviewjs const format = 'gggg-[W]ww'; dv.paragraph(`<<[[${moment(dv.current().file.name, format).subtract(1, "week").format(format)}|上周]] [[${moment(dv.current().file.name, format).add(1, "week").format(format)}||下周]]>>`) ```
1
2
3
4后来插件作者回复了插件原生的书写方式issue (opens new window):
``` <<[[<% moment().subtract(1, "week").format("gggg-[W]ww") %> |上周的周记]] | [[<% moment().add(1, "week").format("gggg-[W]ww") %> |下周的周记]]>> ```
1
2
3
# Hider
# 信息
- 名称:obsidian-hider (opens new window)
- 功能:自定义隐藏界面 UI。
# 使用
配置信息如图:
- 我这里隐藏了标题栏,从而让风格更加贴近于 typora 的应用风格。
- 隐藏应用功能区,是最左侧的功能区,我还为此操作绑定了快捷键:
command + shift + c
。不过这里有个问题在于,如果隐藏了这个功能区,那么在通过拖动左右侧边栏功能区重新布局的时候,会发现功能有一些奇怪的问题,那么调整这些地方的时候,可把功能区展示出来之后再操作。 - 我还隐藏了滚动条。
# Search on Internet
# 信息
- 名称:obsidian-search-on-internet (opens new window)
- 功能:可在 ob 中添加一个搜索,然后直接搜索你笔记中的一些信息,非常犀利。
# 使用
配置信息如图:
可以添加自定义的搜索引擎,我这里添加了 google 搜索。
# Recent Files
# 信息
- 名称:recent-files-obsidian (opens new window)
- 功能:可在侧边栏显示最近打开的文件列表。
# 使用
非常好用非常优秀的插件,我在写本文的时候,就一直借助此插件切换到其他文件:
# Admonition
# 信息
- 名称:obsidian-admonition (opens new window)
- 功能:能够为 ob 添加注释块风格的插件。
# 使用
官方提供的动图已经非常直观了,这里直接借用展示:
# Banners
# 信息
- 名称:obsidian-banners (opens new window)
- 功能:可以为文章添加题头图的一款插件。
# 使用
配置信息如图:
其中的 height 可以自定义展示的高度。 风格也可以选择经典的,或者底部渐变的。 图片选择可以通过命令面板从网络或者本地进行。
# BetterFn
# 信息
- 名称:better-fn (opens new window)
- 功能:改插件在光标悬停在脚注上时自动显示注释内容,让你无需跳转至文末。
# 使用
使用效果如图:
# cMenu
# 信息
- 名称:cMenu-Plugin (opens new window)
- 功能:一款能够将一些功能绑定在悬浮格式框的插件。
# 使用
插件使用效果如图:
看起来似乎这是一个倒退的插件,因为从富文本转到 Markdown,其中一个目的就是为了摆脱顶栏的一堆格式控制图标,而这个插件竟然又要在 Markdown 里边将之加回来,真是滑稽。
不过,好在它支持了你可以自定义将你想要绑定的命令配置上去,那么一些不常用但是需要用到的功能,就比较适合绑定在这里了。
我可以把前边 templater 中定义的一些捕获绑定在这里,或者一些需要高频使用的,都可以临时绑定在这里,便于快捷操作:
# Dataview
# 信息
- 名称:obsidian-dataview (opens new window)
- 功能:提供了强大的查询语言,检索出符合条件的内容。
# 使用
这是个强大的插件,网上也有不少介绍的文章,有机会一定要好好学习了解一下。
比如,可以用下边的语法,查询所有 doing 标签的文件:
```dataview
task from #doing
```
2
3
然后就能将带有 doing 标签的文件都展示出来了。
# enhancing-mindmap
# 信息
- 名称:obsidian-enhancing-mindmap (opens new window)
- 功能:提供了在 ob 中创建思维导图的功能。
# 使用
通过命令面板创建思维导图:
还可以将文件切换到 Markdown 模式进行管理与编辑。
# Mind Map
# 信息
- 名称:obsidian-mind-map (opens new window)
- 功能:能够将标题,无序列表渲染为思维导图的插件,还能直接导出为图片。
# 使用
使用姿势如下图:
# Folder Note
# 信息
- 名称:obsidian-folder-note-plugin (opens new window)
- 功能:一款能够为目录添加说明或概览的插件。
# 使用
直接按下 command 然后鼠标左键点击即可自动在当前目录下生成。
# Footnotes Shortcut
# 信息
- 名称:obsidian-footnotes (opens new window)
- 功能:给添加角标的功能提供了快捷键的一个插件。
# 使用
我在用的是 Mac 电脑,建议将热键设置为 option + shift + 6
,操作如下图(借用官方介绍的图):
# Homepage
# 信息
- 名称:obsidian-homepage (opens new window)
- 功能:该插件支持我们自定义 ob 启动时加载的笔记或者工作区。
# 使用
插件配置信息如图:
我这里借助于 workspace plus 插件自定义了 Home 工作区,这里指定 ob 启动之后加载这个工作区,就实现了每次启动之后加载指定页面的功能。
# Hotkey Helper
# 信息
- 名称:hotkey-helper (opens new window)
- 功能:从社区插件选项卡轻松查看和访问任何插件的选项窗格或热键分配 (包括冲突)
# 应用
使用 ob 过程中,我们会经常关注插件,并且调整配置插件的相关配置,在插件列表中,我们可以直接搜索对应的插件,但是在插件选项的列表没有搜索的功能,这个插件就很好的解决了这个问题,可以在已安装插件列表中直接点击跳转到插件配置页面:
# Icon Folder
# 信息
- 名称:obsidian-icon-folder (opens new window)
- 功能:能够为 ob 目录添加 icon 图标的插件。
# 应用
向文件夹添加图标非常简单:
- 右键单击要添加图标的文件夹
- 选择
Remove Icon
菜单项(以#
图标为前缀) - 选择您想要的图标设置即可!
- 要删除图标,您只需单击
Delete Icon
(以trash
图标为前缀)菜单项。
# Image Toolkit
# 信息
- 名称:obsidian-image-toolkit (opens new window)
- 功能:当你点击一个图片时,该图片将被会弹出,此时您可以预览查看、拖拽、缩放、旋转、反色图片。
# 使用
使用操作如图:
我借助编辑模式预览的插件能实时展示图片,只不过编辑模式下该插件无法工作。issue (opens new window)已经有人提过,期待后期适配。
# Kanban
# 信息
- 名称:obsidian-kanban (opens new window)
- 功能:提供了看板的功能。
# 使用
目前研究还不深入,也没有太多使用场景,暂时略过。
# Local Images
# 信息
- 名称:obsidian-local-images (opens new window)
- 功能:能够将 Markdown 中的网络图片下载到本地指定目录,并且自动替换图片的 URL 为本地。
# 使用
配置项汉化展示如下:
第一个选项是每一个粘贴板中的链接都会进行提醒,不建议开启。
使用时通过命令面板调用,选择对应参数处理即可:
# Maximise Active Pane
# 信息
- 名称:maximise-active-pane-obsidian (opens new window)
- 功能:提供了一键将当前窗口放到最大的功能。
# 使用
默认提供了 command + shift + x
的快捷键,能够将当前窗口最大化,在多窗口场景下,比较实用。
# Media Extended BiliBili Plugin
# 信息
- 名称:mx-bili-plugin (opens new window)
- 功能:提供了插入 bilibili 视频,并添加了一些特性。
# 使用
这里摘录一下官方介绍: 为 Media Extended v2.9.0+添加高级 Bilibili 支持
- 文档嵌入视频片段 Embed Video Fragment
- 文档嵌入时间戳 Timestamp Link
- 高清分辨率 High Resolution Video
- 倍速/循环/自动播放 Speed Control/Loop/Autoplay
- 画中画 Picture-in-Picture
- 更多... and more...
# Natural Language Dates
# 信息
- 名称:nldates-obsidian (opens new window)
- 功能:提供了快捷插入日期时间的功能,包括其他一些扩展能力。
# 使用
简单用法如下图:
# Outliner
# 信息
- 名称:obsidian-outliner (opens new window)
- 功能:提供了类似 vscode 中上下移动列表,以及 tab 键缩进的功能。
# 使用
需要注意启用此插件默认将 command+↕ 箭头的开头尾部快捷键占用为折叠展开 list 了,可在快捷键中将其取消。参考:192 (opens new window)
在不破坏结构的情况下,通过快捷键就能随心所欲地移动带有子项的列表。
命令 | 默认热键 (Windows/Linux) | 默认热键 (MacOS) |
---|---|---|
向上移动列表和子列表 | Ctrl + Shift + ↑ | Command + Shift + ↑ |
向下移动列表和子列表 | Ctrl + Shift + ↓ | Command + Shift + ↓ |
缩进列表和子列表 | Tab | Tab |
缩进列表和子列表 | Shift + Tab | Shift + Tab |
# Ozan's Image in Editor Plugin
# 信息
- 名称:oz-image-in-editor-obsidian (opens new window)
- 功能:这个插件提供了在编辑模式下实时预览图片,iFrame 或者 PDF 文件等能力。
# 使用
插件配置信息如图:
具体功能根据介绍个人体验选择即可。
# Paste URL into selection
# 信息
- 名称:obsidian-url-into-selection (opens new window)
- 功能:支持类似 typora 中 command+k 的功能,选择文字之后可以直接 command+v 将链接渲染。
# 使用
我在 typora 给一段内容添加超链接的时候,会直接使用 command + k 进行添加,事实上 ob 也有同样的快捷键,只不过 ob 调用这个快捷键之后并不会自动将粘贴板内的连接自动复制过去,这些就是 ob 与 typora 在编辑的细节体验上的差距。
不过这个插件提供的能力是,选中文字之后复制能够直接将链接添加到选中的文字上。
# Remember cursor position
# 信息
- 名称:obsidian-remember-cursor-position (opens new window)
- 功能:记住每个音符的光标位置和滚动。这在您在笔记之间切换、从链接到链接、返回时非常方便,无需滚动到上次所在的位置。
# 使用
插件没有什么特殊配置,但是功能非常好。
# show-file-path
# 信息
- 名称:obsidian-show-file-path (opens new window)
- 功能:一个能够在底部状态栏显示当前文件路径的插件。很赞!
# 使用
如果你通过搜索打开某篇笔记,左侧侧边栏并不会随着笔记展开,这个插件能够在右下角展示当前文件的路径:
# Text Snippets
# 信息
- 名称:text-snippets-obsidian (opens new window)
- 功能:类似在各种 IDE 中添加代码片段的功能。
# 使用
这里拿我在 vscode 写 go 是添加的一个片段举例吧,写 go 的时候经常会用到打印,所以我加了个 print 的片段,通过进行触发,那在这里配置为:
然后可以直接使用:
插件提供的一些变量,这里也整理下:
$end$
将替换后的光标放置在特定位置$nl$
在多行代码段中添加换行符$nl$
忽略片段设置中的下一个换行符,如果片段以 结尾$end$
,则添加额外的换行符- 使用
$tb$
到(连同不吨使用添加制表位的光标跳到
$end$`) - 在没有任何符合条件的扩展的情况下触发代码段快捷方式以跳转到下一个制表位
- 当
Tab
作为快捷方式启用时,只有在没有符合条件的扩展或跳转时,Tab
才会插入一个法线
# Tidy Footnotes
# 信息
- 名称:obsidian-tidy-footnotes (opens new window)
- 功能:自动整理笔记中的角标顺序,用法[^1]
# 使用
[^1]: 通过 command+p 打开命令面板搜索 tidy 即可一键整理
# Quick Switcher plus
# 信息
- 名称:obsidian-switcher-plus (opens new window)
- 功能:增强版的快速切换与打开窗口。
# 使用
ob 中默认通过command+o
可以打开文件选择面板,这个插件在实现了相同的功能之外,还提供了工作区选择,当前笔记全文标题搜索的能力。
安装插件之后,首先将系统默认的command+o
的快捷键取消,然后绑定到如下命令上:
就可以使用这个插件了,使用时,默认是搜索文件,键入+
可以搜索工作区:
键入@
可以搜索标题:
选择标题即可跳转到标题所在位置。
# Cycle through Panes
# 信息
- 名称:cycle-through-panes (opens new window)
- 功能:提供了多窗口切换的快捷键自定义。
# 使用
我这里将快捷键定义成了:command+shift+[/]
,与 vscode 和 iterm 一致,统一快捷键,切换更无缝。
# Various Complements
# 信息
- 名称:obsidian-various-complements-plugin (opens new window)
- 功能:一款强大的智能提示补全插件。
# 使用
默认情况下,当你在笔记里编辑的时候,该插件会自动智能解析相同的关键字并提示给你:
同时还支持自定义词库,可以先在表格编辑添加,三列内容如下:
您可以为字典文件中的每一行定义一个单词。
Col1 | Col2 | Col3 and later |
---|---|---|
word | description | aliases |
- 它使用
'<TAB>'
作为分隔符 - 用'%%'括起来表示注释 (ex:
%%This is a comment%%
)
# Workspaces Plus
# 信息
- 名称:obsidian-workspaces-plus (opens new window)
- 功能:一款增强工作区的插件。
# 使用
注意:
千万注意,这个插件是基于 ob 核心插件中的工作区插件提供的增强能力,所以使用的时候核心插件也要打开,不要问我是怎么知道的,都是血泪的教训啊。
至于插件的使用,应用非常简单,不过非常强大好用。在右下角可以直接使用,注意在工作区中,按下 shift 然后鼠标点击工作区名字,可以直接保存当前工作区。
# Tag Page Preview
# 信息
- 名称:tag-page-preview (opens new window)
- 功能:全局搜索 tag 匹配到的文件。
# 使用
插件提供了一个命令,基于命令面板直接调用:
# Timelines
# 信息
- 名称:obsidian-timelines (opens new window)
- 功能:提供了能够在 ob 中添加时间轴的能力。
# 使用
根据官方提供的示例,我们可以将如下内容添加到三个文件里边,以体现相识,相知,相恋的历程。
我在一个测试目录下,添加如下三个文件:
相识:
---
tags: timeline 爱情旅程
---
<span class='ob-timelines' data-date='2013-03-05' data-title='相识' data-img = 'https://tva1.sinaimg.cn/large/008k1Yt0ly1gwyp4hla6gj30m80er75c.jpg' data-class = "customCardCSS">茫茫人海,我们初相识</span>
初次见面。
2
3
4
5
6
7
相知:
---
tags: timeline 爱情旅程
---
<span class='ob-timelines' data-date='2013-04-05' data-title='相知' data-img = 'https://tvax3.sinaimg.cn/large/008k1Yt0ly1gwyozndsgxj30rs111qef.jpg' data-class = "customCardCSS">慢慢接触,我们慢慢增加了了解</span>
慢慢相处。
2
3
4
5
6
7
相恋:
---
tags: timeline 爱情旅程
---
<span class='ob-timelines' data-date='2013-05-05' data-title='相恋' data-img = 'https://tva3.sinaimg.cn/large/008k1Yt0ly1gwyp4w6h7qj30ku0v8tdq.jpg' data-class = "customCardCSS">我们确定恋爱关系啦</span>
初次见面。
2
3
4
5
6
7
说明:
- data-date:支持到小时
YEAR-MONTH-DAY-HOUR
。 - data-title: 预览时候展示的标题。
- data-img: 可以指定头图。
- span 里边可以写一点简单的说明信息。
- 然后下边就是正文了,正文能够在预览时看到,并且可以点击之后跳转。
然后再创建一个文件,里边使用 timeline 的语法进行渲染。
爱情旅程:
```timeline
爱情旅程
```
2
3
其中的爱情旅程是每个子项里边的 tag,可自定义。
接下来进入激动人心的预览效果阶段:
# 体会
在了解学习 ob 的过程中,我也一直都在接触一些之前从未接触过的概念,这个过程又学到不少东西,这里也将学习过程中随笔记录的一些新的合并在这里。
# 第一次记录
截止到今天,深度接触 obsidian 应该有三四天了,这几天中,我一直都在了解学习其中的门道以及用法,到今天算是稍微有点小心得,同时也隐隐预感到,ob 将是我未来使用的笔记工具了,至于用了两年的 Typora,恐怕要退居二线,作为一个打开 markdown 预览的一个工具了。
现在稍微有了一点点心得,特此记录一波:
- ob 的所有配置,主题以及插件,全部都在工作目录中的
.obsidian
目录下,因此不同电脑之间想要备份配置之类的,其实只需要将整个工作目录同步即可,所有的配置也都将是共享的。 - 如果你是从 typora 迁移过来,而且原来已经积累了相当体量的笔记了,那么初接触 ob 的时候,我不建议你直接使用 ob 打开你原来的笔记根目录,因为这两者还是有一定的小差别的,更建议的做法是先创建一个 ob 的根目录,然后以此为库,先体验一阵儿 ob 的编辑以及特性,等到真的体验成熟了,下定决心了,再慢慢将原来 typora 中的笔记迁移到 ob 不迟。
- 主题我使用 typora 中已经用惯了的 Vue 主题:Obsidian-Typora-Vue-Theme (opens new window)。
- 目前我的笔记目录结构如下:
- Obsidian:笔记根目录,所有内容在此之下。
- dayday:每天的笔记,全部存放于此,可在插件插件中自定义。
- obsidian:目前在学习 ob,所以创建这个目录存放学习笔记。
- zob-config:一些配置类的,放在此目录下。
- template:模板内容,统一放在此目录下。
- zob-source:一些附件,源文件放这里。
- images:图片统一放到这里。 已经通过坚果云监听了此目录,从而得以将内容和配置在办公电脑和家里的电脑之间同步起来。
- Obsidian:笔记根目录,所有内容在此之下。
- 关于图片目前还没有比较好的方案。目前来看,以前 typora 中使用的绝对路径目前在 ob 应该是无法兼容了。就算通过
file://
能够兼容,但是通过脚本一次性解决之后,以后新增的图片也不能是这种格式,因此后边可能会放弃绝对路径的方案。- 目前看配置了绝对路径还可以,ob 编辑过的文件,直接用 typora 打开图片也不会有问题,注意需要 ob 中
配置
里指定内部链接
类型为插入基于当前笔记的相对路径
。否则其他的两种类型在 typora 中打开都会让图片无法渲染,这种配置方案没有毛病,但有一个问题,那就是文件的位置不能再进行移动,移动之后相对路径的关系发生变化,从而无法渲染图片。写到这里,再一次感觉到,自己的思想尽管已经慢慢朝双链这种笔记方法转变,但是骨子里,还是那种以目录树管理笔记的思想,现在还不知道两者到底哪种更适合自己。我对去除目录层级唯一的担忧就是:一个目录下有几百个文件的时候,会不会更加难于管理,更加难于找到自己想要找的内容。
- 目前看配置了绝对路径还可以,ob 编辑过的文件,直接用 typora 打开图片也不会有问题,注意需要 ob 中
# 第二次记录
- ob 最大的优势在于它的自由,以及插件体系的丰富与强大,但自古以来的阴阳道理告诉我们,优势很多时候,也会是劣势。因此使用 ob 的首要金句就是:
一定要克制地用ob
,尤其是插件体系。所以我在想,像 typora 这样的简单纯粹,丝滑够用的,也是一种不错的思想,至少能一直专注于文字,而非折腾,说到底,一款笔记软件的核心目的还是写作,所以像 ob 这种插件体系非常灵活的,要务必告诫自己,克制折腾,专注创作。 - 当然在初期体验使用过程中,还是鼓励多折腾,只有折腾之后,才能找到真正属于自己的美好定制。正所谓,历尽千帆,跨越山海,返璞归真,认真写作。
# 第三次记录
克制大多数应该是建立在折腾之后,而非一开始的坚持保守。正如处在青少年的处子,你告诉他千万不能纵放自己的欲望一样,是绝对没有任何威慑力的,必须得他自己经过一些体验,获得一些自己的体悟之后,方能体会到,克制的魅力。
是的,我还一直处在折腾插件过程中,还有很多优秀的插件等待我去发掘,如果在初体验时我不把这些优秀的插件发掘,那么在以后笔记全部迁移之后的日子里,则更不太可能有这样的精力折腾了。
我以为插件是容易折腾的,但双链是需要一定方法论的。而对双链我一直没有太刻意地去学习,只片片段段的在别人视频中看到别人的应用方法,到今天,似乎模模糊糊中有了一些体会。先说之前使用 Typora 的写作思路,在 ob 这里则是完全行不通了的,以往的笔记利用目录层级作为分类依据对内容进行分门别类,下边的各个知识点,单文件,我则都是通过 123 这样明确的数字标识来进行排序,一旦全局的笔记都通过这样的命名安排之后,那么文档自动检索链接的能力也就丧失了,这是第一点体会到的(今天在群里又了解到了 aliases 的功能,通过给笔记添加别名,应该能完美解决如上我的顾虑,应该可以通过创建文件模板,新建文件时自动添加 metadata)。
另一方面,关于双链的使用,应该有两种思路,一种是正向的,一种是反向的,这也正对应着侧边栏功能区的入链和出链。以前使用 typora 时,在学习一个新的知识点编写笔记时,可能会根据该知识点的情况分出来几个文件夹,如下:
- 1,资料汇总
- 2,架构概念
- 3,安装部署
- 4,问题记录
这种纯目录式写作思路,给日后笔记的二次学习利用,带来了不小的考验,大多数时候,我也正是需要查找某个知识点的时候,依靠着记忆一层一层找下去,才找到自己想要的信息,而现在随着笔记越来越多之后,这种单靠大脑记忆来检索的方式越来越难,从而使得记录的诸多笔记变成了多年都不会再看第二次的
无用信息
了。 现在,在 ob 当中,应该多多利用好双链
,标签
这两个特性来解决这一困境。这里单独写一下双链的一些个人体会,我想,应该有两种思路来完成一个知识点的记录:- 第一种,记录一个知识点,可以先新建一个大目录,然后在大目录里建立一个类似索引的文件,接下来所有的内容都在这个文件里记录,一定注意严格利用二级目录对各知识点进行归类约束,每个大类知识点都用二级目录分割,当我们写完这篇笔记之后,可以利用note-refactor-obsidian (opens new window)重构插件,一键将该笔记基于二级目录裁切(注意裁切之前调整文件存放目录,当然,裁切之后将裁切的文件移动到索引文件同目录也可以,索引中的外链引用地址会自动更新),如此,便完成了一篇笔记基于单个索引链接多个知识点模块儿的效果。如此单个单个知识点再往上层大分类汇聚,就形成了万千溪水汇聚到河流,万千河流汇聚成江海的效果了。
- 第二种,按照以往写作的思路正常分文件编写知识点,编写之后,我们可以在每个知识点的侧边栏里边,看到系统自动识别到的
潜在链接
,这个功能太好了,如果这个潜在链接就是你想要链接的内容,那么可以直接点击链接该文件
,从而实现知识点与笔记双链的目的,这种时候还可以借助于obsidian-folder-note-plugin (opens new window)插件给目录创建一个黄页信息。
# 第四次记录
今天重看 b 站即凉关于 ob 的视频,有了一些新的小体会,看到作者基本上都是利用索引页面将所有的细碎知识进行索引管理,这样的方式能够简化笔记的目录层级,强化笔记与类别的关联。
所以我原来笔记的目录层级,应该费除掉,进而通过链接层级进行管理,但是每一层都要手动维护链接,仿佛有点累,这块儿应该能找到更加自动化的做法。
比如我的目录层级如下
运维观止 web nginx php 日志 filebeat logstash
1
2
3
4
5
6
7在 typora 中的做法是每一层都创建为目录,然后在最后一层小知识点下边创建文件编写各类知识点。
现在的做法应该是弱化掉 web 这层目录,甚至 nginx 这层目录,全部通过链接的方式替代,比如目录层级变成如下样子:
索引页面 运维观止 web nginx php 运维观止 ...
1
2
3
4
5
6
7所有的实体笔记内容在下边运维观止目录下散乱堆放,然后都通过索引页面进行逐级维护管理,nginx 为最底层的分类,链接具体的知识点分类,web 再链接 NGINX 和 PHP 的分类,同理运维观止再链接 web 和日志两个分类,这样就实现了通过索引页面,将原有的目录层级替换掉的效果。
# 结语
ob 将会成为我下一款长期使用的笔记工具,在这篇文章写完之后,我也将重新开库,按照上边整理的折腾记录,打磨出一个光滑顺手的文档库,然后就是将 typora 中所有的笔记进行迁移了,迁移也一定将是一项超大的工程,不过正好,趁着这样一次将笔记打破重组的机会,我也能够重新审视一遍自己之前做过的笔记,也算是一次新的收获了。
感谢 ob 的开发者,做出这么优秀的软件,并且免费提供给个人用户使用。 感谢 ob 的所有插件贡献者,正是这些插件,丰富了 ob 的整个生态,有人从这种繁荣中看到的是 ob 的弊端,不过我想,能够认清自己的需要,能够找到适合自己的,就是最好的。
- 01
- 敬告本站拷贝者,立即停止侵权行为10-29