块编辑器
Obsidian 1.5+ 引入了强大的块编辑器功能,允许用户直接编辑单个内容块,而无需打开整个笔记。这大大提升了编辑效率和灵活性。
什么是块
在 Obsidian 中,笔记由多个「块」组成。每个块可以是:
- 段落文本
- 标题(1-6级)
- 列表项(无序、有序、任务)
- 引用块
- 代码块
- 嵌入内容
- 表格
- Callout 块
- 分割线
块的识别
Obsidian 会自动识别块的边界:
这是一个独立的块(段落)
## 这是标题块
- 这是列表项块
- 嵌套列表也是独立块
- 支持多层嵌套
> 这是引用块
```代码块```块编辑器基础
打开块编辑模式
有三种方式进入块编辑模式:
鼠标操作:将鼠标悬停在块的左侧,会出现
⋮⋮符号,点击即可进入块编辑模式快捷键:选中块内容后,按
Ctrl+/(Mac:Cmd+/)进入编辑命令面板:
Ctrl+P→ 输入「块编辑」
块编辑界面
进入块编辑模式后:
- 只会高亮当前块的内容
- 块周围显示蓝色边框
- 块左侧显示拖拽手柄
- 按
Esc退出块编辑模式 - 再次按
Ctrl+/可退出
块选择状态
| 状态 | 显示效果 |
|---|---|
| 未选中 | 正常显示 |
| 悬停 | 左侧显示 ⋮⋮ 手柄 |
| 选中 | 蓝色边框包围 |
| 编辑中 | 光标在块内闪烁 |
块操作技巧
快速选择块
快捷键选择:
| 快捷键 | 功能 |
|---|---|
Ctrl+Shift+[ | 向上选择当前块 |
Ctrl+Shift+] | 向下选择当前块 |
Ctrl+A(在块内) | 选择整个块 |
| 连续使用 | 一次选择多个连续块 |
鼠标选择:
- 点击块左侧手柄:选择整个块
- Shift+点击:选择范围块
- Ctrl+点击:多选块
块级别操作
| 操作 | 方法 |
|---|---|
| 移动块 | 拖拽块左侧的 ⋮⋮ 图标 |
| 删除块 | 选中块后按 Backspace 或 Delete |
| 复制块 | Ctrl+C 复制块内容 |
| 剪切块 | Ctrl+X 剪切块 |
| 粘贴块 | Ctrl+V 粘贴到光标位置 |
| 复制块链接 | Ctrl+L |
块缩进与层级
快捷键操作:
Tab:增加缩进(降级到子块)Shift+Tab:减少缩进(升级到父块)Ctrl+[:减少缩进Ctrl+]:增加缩进
层级关系:
markdown
- 一级列表
- 二级列表(Tab 缩进)
- 三级列表(再次 Tab)
- 回到二级
- 回到一级块转换
在不同块类型之间转换:
| 操作 | 方法 |
|---|---|
| 段落 → 标题 | 输入 # + 空格 |
| 段落 → 列表 | 输入 - 或 1. |
| 段落 → 引用 | 输入 > |
| 段落 → 代码 | 输入 ``` |
| 标题 → 段落 | 删除 # 符号 |
块引用与嵌入
创建块引用
块引用允许你引用笔记中的特定块:
- 选中目标块
- 按
Ctrl+L复制块链接 - 在任意位置粘贴
引用格式:
markdown
![[笔记名称#^块ID]]块 ID
每个块都有一个唯一的标识符(块 ID):
- 格式:
^xxxxxx(6位字母数字) - 创建引用时自动生成
- 存储在笔记末尾的隐藏区域
手动创建块 ID:
markdown
这是一个带有 ID 的块 ^myblockid块嵌入
嵌入显示另一个块的内容:
markdown
![[笔记名称#^块ID]]嵌入与引用的区别:
| 类型 | 语法 | 效果 |
|---|---|---|
| 引用 | [[笔记#^块ID]] | 显示链接,点击跳转 |
| 嵌入 | ![[笔记#^块ID]] | 直接显示内容 |
嵌入块编辑
嵌入的块支持实时编辑:
- 点击嵌入块进入编辑模式
- 修改内容会同步到原始笔记
- 支持格式保持
高级块操作
块拖拽排序
拖拽操作:
- 将鼠标移到块左侧的手柄上
- 按住鼠标左键
- 拖动到目标位置
- 松开鼠标
跨笔记拖拽:
- 打开两个笔记的分屏
- 从一个笔记拖拽块到另一个
- 自动复制或移动块
块折叠
折叠功能:
- 标题下的内容可以折叠
- 列表可以折叠子项
- 点击标题/列表前的箭头折叠
快捷键:
Ctrl+↑:折叠当前块Ctrl+↓:展开当前块
块样式自定义
使用 CSS 为块添加自定义样式:
css
/* 为特定块添加样式 */
[data-block-id^="important"] {
border-left: 3px solid red;
padding-left: 10px;
}
/* 高亮当前块 */
.is-selected {
background-color: rgba(66, 133, 244, 0.1);
}块信息查看
查看块的详细信息:
- 右键点击块
- 选择「块信息」
- 显示:块 ID、字数、创建时间等
嵌套块技巧
多层嵌套
创建复杂的内容结构:
markdown
## 项目规划
### 第一阶段
- 任务1
- 子任务1.1
- 细节1.1.1
- 细节1.1.2
- 子任务1.2
- 任务2
### 第二阶段
- 任务3
- 任务4嵌套 Callout
Callout 块可以嵌套使用:
markdown
> [!note] 主笔记
> 这是主笔记内容
>
> > [!tip] 提示
> > 这是嵌套的提示内容
>
> 继续主笔记内容嵌套代码块
使用缩进创建嵌套结构:
markdown
- 前端开发
```javascript
console.log('Hello');- 后端开发python
print('World')
## 实用工作流
### 知识整理
使用块编辑器快速重组笔记内容:
1. 打开多个笔记的分屏视图
2. 使用块模式选择相关块
3. 拖拽到新位置重新组织
4. 快速构建新的知识结构
### 内容重用
创建可复用的内容块:
1. **维护块库笔记**
```markdown
# 常用块库
## 签名块
^signature
## 引用模板
^quote-template
## 任务模板
^task-template- 嵌入复用
markdown
本文档由 ![[块库#^signature]] 编写会议记录
高效记录会议要点:
markdown
## 会议记录 - 2024-01-15
### 议程
- 议题1 ^topic1
- 议题2 ^topic2
### 决议
- 决议1 ^decision1
### 待办
- [ ] 任务1 ^task1
- [ ] 任务2 ^task2每日笔记整合
将日记中的重要块链接到主题笔记:
markdown
# 项目进度
## 2024-01-15 进展
![[2024-01-15#^project-update]]
## 2024-01-16 进展
![[2024-01-16#^project-update]]块与插件联动
Dataview 查询块
使用 Dataview 查询特定块:
dataview
TABLE without id
file.link as "笔记",
text as "内容"
FROM "项目"
WHERE contains(text, "重要")Templater 块操作
使用 Templater 自动操作块:
javascript
<%*
// 获取当前块
const block = app.workspace.activeLeaf.view.editor.getCursor();
// 插入模板
tR += "自动生成的内容";
%>QuickAdd 快速块
创建快速添加块的命令:
- 配置 QuickAdd 宏
- 设置块模板
- 一键插入常用块
快捷键汇总
基本操作
| 快捷键 | 功能 |
|---|---|
Ctrl+/ | 进入/退出块编辑模式 |
Ctrl+Shift+[ | 向上选择块 |
Ctrl+Shift+] | 向下选择块 |
Ctrl+L | 复制块链接 |
Tab | 增加缩进 |
Shift+Tab | 减少缩进 |
Ctrl+A(块内) | 选择整个块 |
高级操作
| 快捷键 | 功能 |
|---|---|
Alt+↑ | 上移当前行/块 |
Alt+↓ | 下移当前行/块 |
Ctrl+Shift+K | 删除当前行/块 |
Ctrl+Enter | 新建块(列表模式) |
导航操作
| 快捷键 | 功能 |
|---|---|
↑ | 移动到上一块 |
↓ | 移动到下一块 |
Home | 移动到块首 |
End | 移动到块尾 |
常见问题
块 ID 不显示
解决方案:
- 确保使用引用语法
[[笔记#^]] - 手动添加块 ID
- 检查 Obsidian 版本
块拖拽失败
可能原因:
- 目标位置格式不兼容
- 跨文件夹权限问题
- 插件冲突
嵌入块不更新
解决方法:
- 刷新笔记视图
- 检查原始块是否被删除
- 验证块 ID 是否正确
注意事项
- 块编辑功能需要 Obsidian 1.5.0 及以上版本
- 块 ID 在创建时自动生成,复制时会包含在引用中
- 复杂笔记中使用块编辑可以显著提升效率
- 块引用和嵌入可以帮助建立更紧密的知识网络
- 大量块引用可能影响性能,适度使用
提示
结合反向链接功能使用时,块编辑器能让知识管理更加高效。尝试为相关块建立双向连接!
进阶阅读
- 反向链接 - 深入了解链接系统
- 模板系统 - 使用模板快速创建块
- Dataview 实战 - 查询和展示块数据