共计 4737 个字符,预计需要花费 12 分钟才能阅读完成。
Obsidian 是一款支持 Markdown 格式的本地编辑工具,因此 Markdown 的使用技巧能直接用在 Obisidian 笔记上。不过 Obsidian 的笔记仍有自己的一些用法,本文做一些简介。
插入内容
Obsidian 插入文件有两种方式:
[[file]]
链接到 file,这种方式是 Obsidian 内部链接。如果 file 设置了别名,插入内部链接时可以通过[[file|alias]]
指定使用别名。![[file]]
直接将 file 嵌入到当前文件。这种方式支持设置大小,位置等,语法为![[file|widthxheight|position]]
,如:![[image.png|200|right]]
:设置 image.png 大小为 200*200px,位置为 right。![[image.png|200x300]]
:设置 image.png 宽为 200px,高为 300px。注意这里是小写的x
,非*
。
目前支持的文件格式如下:
- 文本文件。支持的文本后缀:md, pdf ;
- 图片。支持的图片后缀:png, jpg, jpeg, gif, bmp, svg ;
- 音频。支持的音频文件后缀:mp3, webm, wav, m4a, ogg, 3gp, flac ;
- 视频。支持的视频文件后缀:mp4, webm, ogv, mov, mkv。
插入标题
Obsidian 支持使用 ![[file#title]]
的语法插入文件中 title 标题下的整块内容,如 ![[test#二级标题]]
插入 test 文档中二级标题下的所有内容。对于 PDF 而言,可以插入指定页面,如 ![[test.pdf#page=5]]
插入 test.pdf 第 5 页。
插入块
有时插入整个标题下的内容太多了,能不能只插入一小块内容呢?
Obsidian 在 0.9.5 之后的版本提供了插入块的功能,在输入 ![[file#^
时 Obsidian 会列出所有块,选择需要插入的块后,Obsidian 会补齐 blockId 形成 ![[file#^blockId]]]
的引用,并在 file 文档中生成 blockId 来标记选定的块。
iframe
对于音视频等网页内容,可以使用 <iframe src="IFRAME URL"></iframe>
嵌入。
如代码:
<iframe
width="960"
height="480"
src="//player.bilibili.com/player.html?aid=384665948&bvid=BV1XZ4y147cD&cid=737982845&page=1"
scrolling="no"
border="0"
frameborder="no"
framespacing="0"
allowfullscreen="true"
>
</iframe>
其效果如下:
Front Matter
Obsidian 使用 YAML Front Matter 储存文件的元信息,Front matter 在开头和结尾处都有三个 -
,且需要放置在文件开头才能被识别。
如下:
---
key: value
key2: [one, two, three]
key3:
- 4
- 5
- 6
---
目前 Obsidian 包含如下原生 key:
你也可以自定义自己的 key,这种使用方式在 Dataview 和 Kanban 等插件中运用很广泛。
tags
由于使用频率太高,tag 已成为很多笔记类软件的基本功能了。
Obsidian 提供了两种增加 tag 的方法:
#
后紧跟 tag 名,多个 tag 以,
分隔,如#tag1, #tag2
;- 在文件的 Front Matter 中添加
tags
(或tag
)字段,格式为 YAML 列表格式:tags: - tag1 - tag2
或
tags: [tag1, tag2]
另外,我们会有如下常用用法:
- 使用
_
、-
和驼峰来分隔 tag 中的单词,如#two-words
、#two_words
、#TwoWords
和#twoWords
,选择一种自己习惯的用法即可。 - 使用
/
表示多级 tag,如#教程/前端/CSS
。
通过 tag 搜索文档
目前 Obsidian 支持两种 tag 搜索文档的方式,一种是在 Tag pane 中点击要查找的 tag,另外一种是在搜索框中输入 tag:TagName
来搜索 TagName 标记的文档。
aliases
可以通过设置 aliases 来为文件设置不同的别名,这样在不同的地方可以使用不同的文件名展示。
设置别名
在文件头部增加 aliases
的 Front matter 信息。如文件名为 Obsidian,可以设置如下别名信息:
aliases: [obsidian, ob, 黑曜石]
使用别名
设置完别名后,输入 [[别名]]
再选择文件回车即可引用文件,也可以输入 [[文件原名|别名]]
来引用文件。在引用过程中,对话框中会显示重定向标志 |
,如下通过黑曜石来引用名为 Obsidian 的文件:
cssclass
cssclass 用于加载一些自定义 CSS 样式,如参考自定义 CSS 在 CSS 文件中添加如下测试行:
.obcss .cm-header-2 {
color: #5f539f;
background-color: #c80202;
}
.obcss h3 {
color: #5f539f;
background-color: #c80202;
}
.obcss p {
color: #c80202;
font-weight: 300;
border: 1px solid #ccc;
border-radius: 10px;
padding: 10px;
background-color: #91d1a9;
}
在 Front Matter 中设置 cssclass
,测试效果如下:
编辑模式
阅读模式
搜索
快速切换
快速切换用来切换笔记,如果记得文件路径或文件名的话,快速切换相比全局搜索而言使用起来更方便,其快捷键为 ⌘
+o
。
注:macOS 系统的 ⌘
键对应 Windows/Linux 中的 Ctrl
键;macOS 系统的 ⌥
键对应 Windows/Linux 中的 alt
键。读者请自行替换,下文不再赘述。
全局搜索
通过快捷键 ⌘
+shift
+F
可唤出搜索框,输入文本即对整个仓库下的所有文件内容进行搜索,一般而言这种方式会返回太多内容,因此一般使用如下几种方式来达到更精确的搜索结果。
逻辑符号
- 和:使用空格
表示,其分隔的关键词都会被独立查到,如 qileq com 返回同时包含 qileq 和 com 的文件。
- 或:使用
OR
表示,如 qileq OR com 返回包含 qileq 或 com 的文件。 - 非:使用
-
表示,如 qileq -com 返回包含 qileq 但不包含 com 的文件。 - 多条件:使用
()
将多个查询条件并列,如 (a OR b) (c OR d) 返回同时包含 a 或 b 和 c 或 d 的文件。 - 精确查询:如同搜索引擎一样,Obsidian 也是使用双引号
"
来限定搜索词语,如 “qileq com” 返回包含 qileq com 这一短语的文件。 - 正则查询:使用
/
表示正则表达式,比如/[a-z]{3}/
会返回包括 3 个 a-z 字符的文件,Obsidian 接受 JavaScript 风格的正则表达式,关于正则表达式的更多内容,可以参考这里。
搜索符
如果清楚当前的搜索文本是如下种类中的一种,则可使用相应的搜索符来减少返回结果,一般而言会将组合使用逻辑符号和搜索符:
- 路径:使用
path
限定只返回该文件夹中的文件,如path:工具/Obsidian
会返回工具/Obsidian 目录下的文件。 - 文件名:使用
file
限定只返回文件名中包含搜索文本的文件,如file:index
返回文件名包含 index 的文件,file:"obsidian index"
返回文件名包括 obsidian index 的文件。 - 内容:使用
content
限定只返回文件内容中包含搜索文本的文件,如content:qileq.com
返回内容包括 qileq.com 的文件。 - 章节:使用
section:(...)
限定只返回文件章节中(即两个小标题之间的文本)包括搜索文本的文件。一般会结合前面的逻辑符号来缩小查询范围,如section:(qileq com)
返回同一章节中包含 qileq 和 com 的文件。 - 块:使用
block:(...)
限定返回块中(即被两个空行包围的元素)包括搜索文本的文件,如block:(qileq com)
返回同一块中包含 qileq 和 com 的文件。 - 行:使用
line:(...)
限定返回行中包括搜索文本的文件,如line:(qileq com)
返回同一行中包含 qileq 和 com 的文件。 - tag:使用
tag
限定返回标签中包括搜索文本的文件,如tag:#obsidian
返回 tag 包含 obsidian 的文件。 - 任务:使用
task:(...)
、task-todo:(...)
和task-done:(...)
返回所有任务(checklist)中的任务。 - 大小写:
match-case
: 大小写敏感ignore-case
: 忽略大小写
搜索设置
目前 Obsidian 对搜索提供了如下设置:
- 区分大小写:将搜索设置为大小写敏感模式,会被
match-case:
和ignore-case:
语法覆盖。 - 显示搜索含义:显示当前搜索范围。
- 折叠搜索结果:只显示文件名,隐藏搜索结果的具体内容。
- 显示上下文:显示搜索结果的更多内容。
- 排序:选择按文件名、修改时间、创建时间对搜索结果排序。
- 拷贝搜索结果:拷贝所有结果的文件名。
附件
当从外界拷贝图片、音频等附件时,默认会保存在根文件夹下,可以设置 Preferences/Files & Links 的 Default location for new attachments(即新附件默认存储位置)的值为 In the folder specified below,然后设置附件存储目录。设置完后再粘贴图片时会自动保存在附件存储目录中。
图表
Obsidian 支持通过 Mermaid 及其所提供的编译器来来绘制流程图、序列图等 UML 图。
如制作 Gantt 图:
```mermaid
gantt
title A Gantt Diagram
dateFormat YYYY-MM-DD
section Section
A task :a1, 2014-01-01, 30d
Another task :after a1, 20d
section Another
Task in Another :2014-01-12, 12d
another task :24d
```
效果如下:
Canvas
Canvas 是 v1.1.0 版本中引入的一个全新功能,以官方的话来说,Canvas 提供了一种新的思考方式,其支持嵌入文本、文件、网页、图片、视频等,并能随意拖拽,不同元素之间都是曲线可以进行关联。通过如下几种方式可以创建一个 Canvas:
- 从最左侧功能区点击新建 Canvas 图标。
- 右击文件夹点击新建 Canvas。
- 通过命令面板(快捷键
⌘
+p
)输入 new canvas 然后回车创建 Canvas。
脚注
Obsidian 支持两种类型的脚注:
- 长脚注:
[^id]
- 行内脚本:
^[text]
文本如下:
效果如下:
可以看到长脚本 id 数字与展示的 id 数字可能并不相同。
公式
Obsidian 支持 LaTeX 语法来展示数学公式,若表达式位于 $
和 $
或 $$
和 $$
之间会使用 LaTex 语法解析。如 $\alpha,\beta, \gamma, \delta$
表示小写希腊字符,更多内容参考 LaTeX 常用数学符号的表示方法。
常用快捷键
常用的一些快捷键:
快捷键 | 说明 |
---|---|
⌘ +p |
打开命令窗口 |
⌘ +o |
打开文件搜索窗口 |
⌘ +, |
打开设置 |
⌘ +e |
切换编辑/预览模式 |
⌘ +w |
关闭当前 pane |
⌘ +⌥ +<- |
前一篇笔记 |
⌘ +⌥ +-> |
后一篇笔记 |
⌘ +⌥ +i |
打开 debug 窗口 |
另外还有一个快捷键比较常用,即 Reveal file in navigation,笔者将其快捷键设置为 ⌥
+F
。