====
理解obsidian的笔记结构
vault 其实就是一个目录, 笔记都存储在其中.
笔记 每则笔记都是一个单独的md文件
链接和引用 使用 内部链接 或者 引用 来建立笔记之间的联系.
标签 用传统的方式建立笔记之间的主题关联
正反向链接 查看当前笔记的关联
网状视图 查看整个知识库中的笔记关联
库 (vault)
- vault可以理解为其他笔记工具中的根目录, 其实他就是在我们终端中的一个folder
- 在vault中, 以点号开头的文件夹/文件将默认不会显示在obsidian的文件管理中, 但可以手动输入文件全名来打开.
- 新版的obsidian是支持symbolic link和junctions的, 但需要注意一些可能会出现的问题.
- 安装obsidian后, 会自动支持
obsidian://的uri, 这样可以做一些点击唤起的便捷操作. 具体的uri构造参考这里. obsidian://new?vault=testing&name=在名叫testing的vault中新建一个untitled笔记obsidian://search?vault=testing&query=my%20notes在名字叫testing的vault中搜索my notesobsidian://open?vault=testing&file=my%20note打开testing vault中的my note笔记.- 上面的也可以简化成:
obsidian://vault/my vault/my note - 也可以直接打开一个绝对地址的笔记:
obsidian:///c:\absolute\path\to\my note, 注意这里的空格不需要转义
笔记
- vault中的笔记就是在vault中的markdown文件, 其他文件不会以笔记的形式显示.
- 笔记内容会按照headings进行第一级别的整理, 并为每个headings编号, 以便将来引用/链接. 开启outline侧边栏(settings > core plugin > outline)可以显示heading层级.
- 除此之外, 笔记内容还会内容块(block)进行整理, block就是一个段落, 一个引用块, 一个代码块, 一个list中的条目等. 通常的来说, 就是在markdown中, 前后都有一个空行的元素都可以当作是block. obsidian会自动为每个block进行索引(也可以自定义), 以便将来引用/链接.
- 在md笔记文件头部增加yaml可以增加一些metadata, 让笔记更加结构化. 具体的看这里.
- 可以给笔记增加多个别名, 如这里. 用别名主要是为了用户方便, 但实际插入的内部链接仍然是用笔记的原名.
- 新版obsidian中支持标注框(callouts), 还支持折叠和自定义样式. 简单的语法是:
> [!info], 具体使用方法和标注选择看这里. - 笔记支持内容自动层级折叠. 开启settings > editor > fold indent 和 fold heading. obsidian可以按照标题和缩进进行折叠. 对于结构复杂的文档会非常有用.
附件
- obsidian支持一些媒体文件, 除了独立显示外, 还可以引用/链接.
- 添加附件文件的方式很直观: 在笔记中拷贝粘贴, 拖拽到笔记中, 或者直接拷贝文件到vault所在目录中即可.
笔记链接(内部链接)
链接是obsidian的核心功能, 是构建知识链接的重要支柱.
这里要注意的是, obsidian默认使用双方括号的[[]]建立内部链接及后文提及的引用. 这种方式其他的markdown编辑器并不支持.
- 当输入
[[]]时, obsidian会开启自动匹配来建立内部链接. 同时在选择笔记后, 还可以进一步深入笔记内部进行更局部的内部链接: - 通过
#建立选择笔记中的某个heading的链接 - 通过
^建立候选笔记中的某个block的链接. 当不确定是哪个block的时候可以输入^^来进行全局搜索 - 通过
|来改变链接显示的标题 - 查看内部链接(在live preview模式下)
- 首先打开 settings>core plugins > page preview
- ctrl+鼠标悬停在链接上, 会弹出预览窗格显示链接内容
- 鼠标点击, 是在当前的编辑窗口中打开笔记. 注, 可以使用navigate back/forward回到之前的笔记.
- ctrl+shift点击, 是在新的panel中打开笔记, 可以有分屏显示的效果.
笔记内嵌(引用)
在双括号链接前加入 ! 就可以将链接变为内嵌方式. 内嵌不光可以针对媒体文件, 甚至可以内嵌另外一个笔记的全文, 且由于obsidian已经将笔记内容进行了块定义, 所以引用笔记的局部也变得非常方便.
![[filename.png|100x100]]用来内嵌媒体文件, 支持的文件格式在这里, 图片文件尺寸可以调整, 具体在这里.![[My File.pdf#page=number]]引用pdf的特定页<iframe src="https://www.youtube.com/embed/xxxxxxxxxxx"></iframe>可以使用iframe来引用网页内容.![[obsidian]]内嵌一个名叫obsidian的笔记全文![[obsidian#理解obsidian的笔记结构]]内嵌obsidian笔记中的某一个heading![[obsidian#^0befda]]通过输入^来内嵌某笔记中的一个block
标签 (tag)
和传统的笔记一样, obsidian也支持标签, 但它更加兼具自由和结构化.
- settings > core plugings > tag pane开启标签管理面板.
这里需要注意的是, 标记和heading有一些区别, heading的#号和文字之间有一个空格, 而且在句首.
- 在笔记的任何位置, 只要使用#号就可以建立tag:
#tag - 而且tag是可以带有层级的, 比如:
#tag/subtag - 也可以使用yaml格式建立tag块, 具体在这里
- 开启tag面板(settings > core plugins > tag pane), 可以方便的查看整个vault中的tags.
- tags按照空格分隔, 所以tag名称中是不可以有空格的, 常用的替代空格的方法:
- camelCase:
#twoWords - PascalCase:
#TwoWords - snake_case:
#two_words - kebab-case:
#two-words - tags也不能用数字做开头.
正向/反向链接
obsidian通过内部链接, 内嵌和标签建立了笔记之间的联系. 通过开启obsidian提供的相关插件, 我们可以对当前笔记的所有链接进行查看.
- settings > core plugins > outgoing links 开启正向链接面板
- settings > core plugins > back links 开启反向链接面板
无论是正向还是反向链接, obsidian都将链接分为两个部分:
- 明确的链接, 也就是上半部分. 这些链接是明确的定义的链接.
- 而下半部分, 我认为也是更有用的, 是非定义的链接. obsidian自动在整个vault中匹配任何和当前笔记文件名相同的内容, 并列在非定义链接中. 这让我们会发现很多和当前笔记有关的信息. 而为了将这个特性善加利用, 要求我们的每个笔记要尽量的原子化, 相应的名称也尽量的简短. 这样才有可能利用obsidian的非定义链接匹配中找到更多的相关信息.
网状图视
- 开启 settings > core plugins > graph view
- 之后可以在命令条中启用网状视图
正反向链接给我们了一个针对单个笔记的关系管理. 而网状视图则是针对vault中所有笔记的关系视图.
- 视图中的节点代表单个笔记
- 节点中的链接线代表之间的内部链接.
- 被引用/链接次数越多的笔记就变得越大, 也就预示着这篇笔记的信息比较重要.
- 鼠标悬浮在某个笔记上, 会高亮和它有链接的笔记
- 点击某个笔记节点就打开该笔记
- 左上角齿轮图标可以做一些视图设置, 详见
- 左上角手杖图标可以用动画的形式显示笔记间建立联系的先后顺序.
新建笔记
新建笔记有两种思路:
- 传统方式, 直接在obsidian的文件管理中添加笔记即可, 甚至在系统的资源管理器中在vault目录中添加md文件也行.
- 链接方式, 这种方式是先在某个笔记中建立一个链接, 比如
[[new notes]], 然后点击这个名字, obsidian先会搜索是否有同名笔记, 如果没有, 那么就会建立一个同名笔记.
导入笔记:
- obsidian社区开发了不少导入笔记的脚本
- 同时它自带 Roam Research 和 bear的导入.
- 详情看这里.
笔记模板:
相当于增加一些常用的输入, 便于稍后调用. 这些模板中还可以增加一些参数, 比如 {{date}}就是显示当前的日期.
- 首先在vault中建立一个目录, 比如
templates, 用来存放所有templates. - 开启 settings > core plugins > templates
- 在settings > templates 中设置上面新建的目录为template目录.
- 在templates目录中加入一个笔记, 也就是markdown文件.
- 参数详情查看这里.
- 使用命令条上新增的添加template命令来添加模板, 也可以为这个命令添加快捷方式.
日记笔记(daily notes):
执行这个命令会打开一个以当天日期命名的笔记, 供我们解决一些类似日记的笔记需求.
- 开启: settings > core plugins > daily notes
- 之后可以在命令条/命令快搜/快捷键中启用这个命令
- 入股希望日记笔记有一些预设内容, 那就需要指定一个template文件, 在 settings > daily notes > plugin options > template file location中设置.
网页中的截取:
- obsidian有原生浏览器插件, 可以方便的截取页面信息到自己的笔记中.
合并和分割笔记
启用: settings > core plugins > note composer, 其中有些设置在这里说明.
分隔笔记:
- 选中笔记中的一个部分, 右键菜单或者使用命令快搜(ctrl+p), 在其中选择
extract current selection, - 会弹出新建分割笔记对话框, 在其中下方有一些操作提示, 包括插入在文件开头, 或者结尾; 或者直接新建.
- 如果选择部分第一行正好是heading, 那么会自动用heading当作分割笔记的名称.
- 在新建了分割笔记后, 会在源笔记中自动添加一个内部链接.
合并笔记:
- 在三点菜单或者命令快搜中执行
merge entire file with, 在弹出的文件选择框中选择另一个文件合并. - 文件选择框中还有一些特殊的合并操作提示.
搜索
尽管obsidian提供了链接, 标签甚至是网状视图, 但是常规使用中快速定位笔记, 整理笔记还是要依赖搜索, obsidian提供了功能完备的搜索功能.
首先开启搜索功能: settings > core plugins > search
搜索常识
- 通过快捷键
Ctrl-Shift-F激活搜索界面. - 如果当前有选中文字, 在激活搜索基面后, 选中文字自动会成为待搜字段.
- 有搜索记录方便回溯搜索结果, 点选旁边的 x 按钮清除记录.
- 搜索界面上有一排功能按钮, 选择不同的功能会影响搜索结果.
- 其中有个一个搜索提示按钮, 初学可以打开, 这样我们搜索的时候, 它可以提示我们一些技巧.
- 甚至更厉害的是, 搜索结果本身也可以被引用内嵌, 详情看这里.
搜索语法
foo bar中间的空格代表不严格的 and, 有两者之一也会出现在结果中, 只是靠后而已."foo bar"则代表严格搜索, 包括其中的空格.OR代表严格的 or-代表绝对不要\是逃逸符号()可以改变优先级/[a-z]{3}/是正则, 用两个/包裹. obsidian使用的是js的正则类, 详情看这里.
特殊的搜索指令
-
path:"Daily Notes/2020-07"搜索路径. -
file:.jpg搜索文件名. -
content:"happy cat"仅搜索内容 -
match-case:Tomandignore-casebsidian控制是否大小写敏感 -
tag:#work搜索包含#work的笔记. 由于所有tags已经被obsidian索引, 这个搜索要比单独搜索#work要快很多. -
sectionfoo bar)foo bar要在同一个部分才会返回结果. section在obsidian中就是两个heading之间的部分. -
blockfoo bar)foo bar要在同一个block才会返回结果. -
linefoo bar)foo bar要在同一行上才会返回结果. -
taskfoo bar)foo bar要在同一个task中. -
task-todofoo bar)foo bar要在同一个没有完成的task中. -
task-donefoo bar)foo bar要在同一个已经完成的task中.
界面
- 窗格 (pane) 或者叫面板
- 命令条(ribbon)
- 侧边栏(sidebar)
- 状态条 (status bar)
- 标题栏 (title bar), 上面有三点菜单, 有一些针对当前笔记的操作.
- 工作界面 (workspace), 提供一个界面管理, 包括: 面板布局, 侧边栏状态和文件打开的状态.
设置
- 设置是按照vault来进行管理的. 不同的vault会有不同的设置.
- 每个vault的设置都保存在folder中的一个.obsidian文件中, 所以同步vault文件夹就同步了所有的设置.
- 另外一个技巧是, 将.obsidian文件夹拷贝到另外一个vault中, 那么就相当于将设置全部拷贝过去了.
- .obsidian设置包括: 配置,自定义热键和启用的插件.
- 语言设置在: settings > about 中, 其中有中文.
- 支持theme, 设置在: settings > appearance, 除了直接应用完整的theme文件, 还可以建立自己的theme, 甚至可以通过引入ccs snippets来对现有的theme进行局部改造. 更多详情
- 支持自定义快捷键, settings > hotkeys. 我个人喜欢它管理快捷键的方式, 除了在设置中可以搜索, 在命令快搜中也会显示快捷键. 真希望所有现在的软件都能这样重视快捷键的管理.
核心插件
obsidian原生自带一些插件, 可以在settings > core plugins中激活相应的插件. 上面文中提及过的插件用删除标记之外, 还有一些有趣的插件.
- File explorer 一个文件管理, 默认开启.
Search- Quick switcher 快速文档切换,
ctrl+o, 默认开启 Graph viewBacklinksOutgoing linksTag panePage previewDaily notesTemplatesNote composer- Command palette 命令快搜,
ctrl+p, 默认开启 Slash commands- Editor Status 增加一个状态条, 默认开启.
- Starred notes 在命令条中增加一个star分类, 通过多种方式可以为笔记加星, 以便稍后可以快速访问.
- Markdown format converter 将其他笔记工具的markdown文档转换成obsidian支持的格式, 详情.
- Zettelkasten prefixer
- Random note 随机打开一个笔记. 对于回顾那些陈年想法非常有用.
Outline- Word count 在状态栏中显示字数统计, 支持cjk文字. 默认开启.
- Slides 用
---将笔记分割成不同的区块, 然后使用三点菜单中的start presentation进行一个简单的演示. - Audio recorder
- Open in default app 三点菜单中增加一个命令, 可以用系统关联的程序打开当前文件, 包括附件文件格式.
Workspaces- File recovery 为vault自动建立快照, 默认每5分钟建立一个快照, 并保留7天. 启用这个插件后, 所有操作都在 settings > file recovery中. 注意: 快照并不在vault目录中.
- Publish, 需要obsidian云, 付费
- Sync, 需要obsidian云, 付费
其他有用的特性
- 首先要使用的live preview (setting > editor > general > default editing mode: live preview). 会有类似typora的所见所得的效果.
- 开启 setting > files & links > automatically update internal links, 这样在我们更名笔记的时候, obsidian自动帮我们维护内部链接. 不开启这个选项, obsidian会提醒.
- 设置 etting > files & links > default location for new attachements, 为所有附件定义单独的目录. 这样可以让笔记和附件分开管理.
- obsidian没有命令菜单, 用 ctrl+p 进行命令快搜. 甚至可以开启 settings > core plugins > slash commands后, 在编辑状态下直接输入
/就可以快搜命令. - 快速切换打开过的文档 ctrl+o, 也可以使用ctrl+shift+左/右来按照历史切换.
- obsidian本质是一个浏览器, ctrl+shift+i会调出inspect. 在自定义样式中会有些用处.
- 拖拽, 包括从obsidian中拖拽任何文件到笔记中可以快速建立链接. 还有很多其他的拖拽操作.
- 不需要特殊的ctrl+s, obsidian会即输即存.
- 笔记更名很简单, 直接在editor界面最上方的当前文件名上点击即可进入编辑模式. obsidian会自动的更新所有的backlink. 或者更简单的用快捷键:
F2, 改完回车确定后回到先前的光标处, 非常自然. - 支持多选. 按住
alt进行选择/点击, 可以多选操作. 在将多个段落变为list的时候会非常有用. - 同时编辑多个笔记(也就是分屏编辑).
- 使用
ctrl点击笔记文件/链接, 会在分屏中打开笔记. - 在当前笔记的右上角三点菜单中, 有
split v/h菜单可以进行分屏, - 三点菜单中的pin可以将某个笔记固定, 而不会被取代.
- markdown链接地址(也就是括号中的内容)是不允许使用空格的, 通常需要用
%20来转义. 在obsidian中, 也可以使用<>来转义, 如:[link](<[https://demo.com/space](https://demo.com/space) path>) - obsidian支持mermaid图表, 详情看这里.
- 更多的格式内容, 基本和markdown一致, 到这里看详情.
- 在文件管理器中, 单项多选是用
alt, 连续多选用shift, 和在windows中略有不同. 可能ctrl已经留给了在另外的窗口中打开的功能.
不足
以下不足是在原生基础上提出的, 也许有第三方插件可以实现.
- 在live preview模式下, 当切换不同的笔记时, obsidian无法记住不同笔记的视图位置, 但是光标的位置它是能记住的, 需要移动一下光标, 让视图归位.
- copy命令只能拷贝markdown格式, 不像typora那样提供更多的copy格式, 比如纯文本.
- 输出只有pdf, 没有html格式.
- 原生没有根据外部链接进行整理笔记的自动方法, 有些可惜. 比如带有同域名外部链接的笔记, 甚至是包含同样url的笔记等.
- 没有文件历史, 也没有笔记比较.
- 不能直接监测剪贴板, 自动将拷贝的文字贴到光标处. 这是我一直没有放弃editplus的唯一理由.
- 缺少一个mini map, 对于长文件移动, 搜索等都缺少直观性. 这一点sublime text简直完美.