你可以通过属性这个功能来组织笔记。属性包含很多结构化的数据,如文本、链接、日期、复选框和数字。属性还可以与[[第三方插件]]结合使用,这些插件可以处理笔记的属性数据并完成一些有用的操作。 ## 在笔记中添加属性 有几种方法向笔记中添加属性: - 使用**添加文件属性**[[命令面板|命令]]。 - 使用**`Cmd/Ctrl+;`**[[快捷键|快捷键]]。 - 从**更多操作**菜单中选择**添加文件属性**(通过三个点图标或右键单击标签页)。 - 在笔记的开头输入`---`。 添加属性后,文件顶部会出现一行属性框,其包含两个输入框:属性_名称_和属性_值_。 对于名称,你可以选择任何你喜欢的名称。Obsidian 提供了几个内置的属性:`tags`(标签)、`cssclasses`(样式)和`aliases`(别名)。 选择属性名称后,可以为其赋值。 ### 属性类型 除了名称和值外,属性还有*类型*。属性的类型描述了它可以存储的值的种类。要更改属性的类型,点击属性的图标或使用**编辑文件属性**命令。 Obsidian支持以下属性类型: - **[[#^text-list|文本]]** - **[[#^text-list|列表]]** - **[[#^numbers|数字]]** - **[[#^checkbox|复选框]]** - **[[#^date-time|日期]]** - **[[#^date-time|日期和时间]]** 一旦选择了属性类型,所有同一个名称的属性都被设定为该类型。 ## 高级用法 ### 链接 **文本**和**列表**类型的属性可以包含 URL 和[[内部链接]],使用`[[链接]]`语法即可插入。 ### 搜索属性 属性有自己的[[搜索|搜索语法]],你可以将其与其他搜索项和运算符一起使用。[[搜索|查看属性搜索语法]]。 ### 模板 你可以向[[模板]]中添加属性。当你将模板插入当前笔记时,模板中的所有属性都将添加到笔记中。Obsidian 还会将当前笔记中已有的属性与模板中的属性合并。 ### 重命名属性 你可以通过在[[属性列表|全局属性页面]]中右键单击属性来重命名属性。 ### 显示模式 你可以通过转到**设置 → 编辑器 → 笔记属性**来更改属性在笔记中的显示方式。选项包括: - **可见**(默认)— 如果有属性,将在笔记顶部显示属性。 - **隐藏** — 隐藏属性,仍可通过[[属性列表]]在侧边栏中显示。 - **源代码** — 以纯文本YAML格式显示属性。 ### 不支持的功能 在Obsidian中不支持以下功能: - **嵌套属性** —— 若要查看嵌套属性,建议使用源代码显示。 - **批量编辑属性** —— 可以使用社区制作的工具,如 Python 脚本来实现。 - **属性中使用 Markdown 语法** —— 这是一个故意的限制,因为属性的设计初衷是人和机器均可读的信息。 ## 快捷键 ### 添加属性 | 动作 | 快捷键 | |---|---| |添加属性|`Cmd + ;`| ### 在属性之间导航 当属性被聚焦时 | 动作 | 快捷键 | |---|---| |聚焦到下一个属性|`下箭头`或`Tab`| |聚焦到上一个属性|`上箭头`或`Shift+Tab`| |跳转到编辑器|`Alt+下箭头`| ### 选择属性 | 动作 | 快捷键 | |---|---| |向上扩展选择|`Shift+上箭头`| |向下扩展选择|`Shift+下箭头`| |全部选择|`Cmd+A`| ### 编辑属性 | 动作 | 快捷键 | |---|---| |编辑属性名称|`左箭头`| |编辑属性值|`右箭头`| |聚焦属性|`Escape`| |删除属性|`Cmd+Backspace`<br><br>如果有任何属性被选中,将删除选中的内容。| |撤销|`Cmd+Z`| |重做|`Cmd+Shift+Z`| ### Vim(高级) | 动作 | 快捷键 | |---|---| |向下移动|`j`| |向上移动|`k`| |聚焦到键|`h`| |聚焦到值|`l`| |聚焦到值(光标在结尾处)|`A`| |聚焦到值(光标在开头处)|`i`| |创建新属性|`o`| ## 属性格式 属性以[YAML](https://yaml.org/)格式存储在文件的顶部。YAML是一种广泛使用的格式,可供人类和机器阅读。 属性名称与值之间用冒号和空格分隔: ```yaml --- 名称: 值 --- ``` 属性名称和属性值对之间的顺序并不重要,但每个属性名称在笔记内必须是唯一的。例如,你不能有多个`tags`属性。 值可以是文本、数字、true或false,甚至是值的集合(数组)。 ^text-list ```yaml --- 标题: 新的希望 # 文本类型 年份: 1977 喜爱: true 演员: # 列表类型 - 马克·哈米尔 - 汉森·福特 - 凯丽·费雪 --- ``` **文本**和**列表**类型属性中的内部链接必须用引号括起来。如果手动在属性中输入内部链接,Obsidian会自动添加这些引号,但在使用模板插件时要注意。 ```yaml --- 链接: "[[链接]]" 链接列表: - "[[链接]]" - "[[链接2]]" --- ``` 数字类型属性是一个数字。它可以包含小数点,但不包含运算符。 ^numbers ```yaml --- 年份: 1977 圆周率: 3.14 --- ``` 复选框类型的属性代表了逻辑的真和假(`true` 或 `false`)。空值将默认视为 `false`。在实时预览下,这类属性会被渲染为复选框样式,而不是`true` 或 `false` 文本。 ^checkbox ```yaml --- 是否喜欢: true 是否回复: false 是否可持续: # 这里没填任何值,将被视为false ``` **日期**和**日期和时间**类型属性以以下格式存储: ^date-time ```yaml --- 日期: 2020-08-21 时间: 2020-08-21T10:30:00 --- ``` 日期信息遵循你操作系统的默认日期和时间格式。你可以在系统偏好设置中更改它: > [!info]- Windows > **设置 → 时间和语言 → 语言和地区 → 区域格式 → 更改格式** > > ![[Windows-OS-DateTime.png#interface]] > [!info]- Mac OS > **系统偏好设置 → 语言与地区 → 日期格式** > > ![[Mac-OS-DateTime.png|450]] 启用[[日记]]插件后,日期属性还可以链接到对应日期的日记。 ![[日记#^daily-notes-date]] ### JSON 语法属性 虽然我们建议使用 YAML 语法定义属性,但也可以使用[JSON 语法](https://www.json.org/)定义属性: ```json --- { "标签": "日记", "发布": false } --- ``` 请注意,JSON 块将被读取、解释和保存为YAML。 ## 默认属性 Obsidian附带一组默认属性: | 属性 | 描述 | |-|-| | `tags` | 查看[[标签\|标签]]。 | | `aliases` | 查看[[别名]]。 | | `cssclasses` | 允许你使用[[CSS 代码片段]]来为单个笔记设置样式。 | ### 用于Obsidian 发布的属性 以下属性可与[[发布服务简介|Obsidian 发布服务]]一起使用: | 属性 | 描述 | |-|-| | `publish` | 查看[[发布笔记与取消发布\|自动选择要发布的笔记]]。 | | `permalink` | 查看[[发布笔记与取消发布\|永久链接]]。 | | `description` | 查看[[设计分享链接\|描述]]。 | | `image` | 查看[[设计分享链接\|图片]]。 | | `cover` | 查看[[设计分享链接\|图片]]。 | ### 废弃的属性 这些属性已被 Obsidian v1.4 以后的版本弃用,请不要再使用: | 属性 | 描述 | |-|-| | `tag` | 用于`tags`的弃用别名。 | | `alias` | 用于`aliases`的弃用别名。 | | `cssclass` | 用于`cssclasses`的弃用别名。 |