精品论坛上面的有关链接

====

理解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 notes
  • obsidian://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中设置.

网页中的截取:

合并和分割笔记

启用: 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:Tom and ignore-case![](https://bbs.et8.net/bbs/images/smilies/2019/038.gif "038")bsidian 控制是否大小写敏感

  • tag:#work 搜索包含#work的笔记. 由于所有tags已经被obsidian索引, 这个搜索要比单独搜索#work要快很多.

  • section![](https://bbs.et8.net/bbs/images/smilies/2019/072.gif "072")foo bar)  foo bar要在同一个部分才会返回结果. section在obsidian中就是两个heading之间的部分.

  • block![](https://bbs.et8.net/bbs/images/smilies/2019/072.gif "072")foo bar) foo bar要在同一个block才会返回结果.

  • line![](https://bbs.et8.net/bbs/images/smilies/2019/072.gif "072")foo bar) foo bar要在同一行上才会返回结果.

  • task![](https://bbs.et8.net/bbs/images/smilies/2019/072.gif "072")foo bar) foo bar要在同一个task中.

  • task-todo![](https://bbs.et8.net/bbs/images/smilies/2019/072.gif "072")foo bar) foo bar要在同一个没有完成的task中.

  • task-done![](https://bbs.et8.net/bbs/images/smilies/2019/072.gif "072")foo 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 view
  • Backlinks
  • Outgoing links
  • Tag pane
  • Page preview
  • Daily notes
  • Templates
  • Note 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简直完美.