Skip to content

obsidian-outliner 插件教程

Outliner 插件使用指南

Outliner 是 Obsidian 中用于增强列表和大纲操作的核心插件,提供类 Notion / Roam Research 风格的大纲编辑体验。它让列表项的折叠、拖拽、缩进等操作变得极其流畅。

插件特点

特性说明
📂 折叠/展开点击折叠列表项,优雅地隐藏子内容
⌨️ 快捷键操作Tab/Shift+Tab 缩进、Ctrl+↑/↓ 移动列表项
🔄 实时保存所有大纲操作自动保存,不破坏笔记结构
📋 块级聚焦聚焦单个列表项,折叠周围内容
↩️ 撤销历史每个列表操作有独立的撤销历史

安装插件

  1. 打开「设置」→「第三方插件」
  2. 关闭「安全模式」
  3. 点击「浏览」
  4. 搜索「Outliner」
  5. 点击「安装」并「启用」

基础操作

折叠列表

在列表项末尾添加 :: 可使其默认折叠:

markdown
- 父级项目
  - 子项目 A
  - 子项目 B
  - 子项目 C::

点击列表项左侧的折叠图标即可交互式折叠/展开。

列表项操作

操作快捷键
缩进(降级)TabCtrl + ]
取消缩进(升级)Shift + TabCtrl + [
上移Ctrl + ↑
下移Ctrl + ↓
折叠/展开Ctrl + ;
新建列表项Enter
删除并合并Backspace(空行时)

块级聚焦

使用命令面板或快捷键聚焦单个列表项:

  • 命令Outliner: Focus on current list item
  • 效果:其他列表项折叠,聚焦项及子项展开
按 Ctrl+; 前的状态:
├─ 项目 A
│  ├─ 子任务 1
│  └─ 子任务 2
├─ 项目 B         ← 聚焦这里
│  ├─ 子任务 3
│  └─ 子任务 4
└─ 项目 C

按 Ctrl+; 后的状态:
├─ 项目 A
├─ 项目 B         ← 聚焦
│  ├─ 子任务 3    ← 展开
│  └─ 子任务 4
└─ 项目 C         ← 折叠

使用场景

项目管理

适合用大纲管理项目结构和子任务:

markdown
# 🗂️ 项目 Alpha

## 阶段一:规划
- [x] 市场调研
- [ ] 竞品分析
  - Notion
  - Roam Research
  - Obsidian
- [ ] 需求文档
  - 用户故事
  - 功能列表
  - 优先级排序

## 阶段二:执行
- [ ] 原型设计
- [ ] 开发
  - 前端
  - 后端
  - 测试
- [ ] 部署上线

每日回顾

适合用折叠大纲记录每日的多层次反思:

markdown
# 每日回顾:2026-06-09

## 工作
- [x] 团队周会
- [ ] 项目评审
  - 项目 A 进度
  - 项目 B 风险
  - 项目 C 资源

## 学习
- [ ] 阅读《深度工作》
  - 第 3 章笔记
  - 实践清单

## 健康
- [x] 晨跑 30 分钟
- [x] 冥想 10 分钟

会议记录

使用 Outliner 高效记录分层会议内容:

markdown
# 产品周会 | 2026-06-09

## 议题一:Q2 回顾
- 完成功能
  - 用户反馈系统
  - 数据分析面板
- 未完成功能
  - 实时协作编辑
- 下季度计划

## 议题二:技术债务
- 前端架构重构
  - 预计工时:2 周
  - 负责人:@张三
- 数据库优化

快捷键配置

在 Obsidian「设置」→「快捷键」中搜索「Outliner」,可自定义所有操作的快捷键:

操作默认快捷键推荐自定义
缩进TabCtrl + ]
取消缩进Shift + TabCtrl + [
上移Ctrl + ↑Ctrl + Shift + ↑
下移Ctrl + ↓Ctrl + Shift + ↓
折叠当前Ctrl + .
展开当前Ctrl + ,

注意

Obsidian 内置的 Vim 模式和 Outliner 有部分快捷键冲突。如果同时使用两个插件,建议重新映射 Outliner 的快捷键。

列表项格式

Outliner 支持丰富的列表项格式:

markdown
# 带标签的列表
- [ ] 任务 A #工作 #紧急

# 带优先级的任务
- [ ] 高优先级任务 [!important]
- [ ] 低优先级任务 [!low]

# 带日期的任务
- [ ] 报告撰写 📅 2026-06-15

# 带时间块
- [ ] 09:00 - 10:30 深度工作

# 带进度
- [ ] 项目进度 ████████░░ 80%

与 Tasks 插件配合

Outliner 配合 Tasks 插件 使用,可以实现更强大的任务管理:

markdown
- [ ] 09:00 - 10:00 晨会 🔁 every weekday
- [ ] 14:00 - 15:00 代码评审 📅 2026-06-09
- [ ] 完成文档撰写 📅 2026-06-10 🔁 every weekday until 2026-06-30

常见问题

Q: 折叠后内容丢失了?

这是 Outliner 的正常行为 —— 折叠列表项只是隐藏显示,内容并未删除。再次点击折叠图标即可展开。

Q: 与其他列表插件冲突?

建议避免同时使用功能重复的插件(如「Enhanced Editing」中的列表功能)。可在「设置」→「第三方插件」中禁用冲突功能。

Q: 列表项移动后格式错乱?

Outliner 会尽可能保留列表项的格式。如果出现格式问题,检查列表项的缩进是否正确(使用空格或 Tab 保持一致)。

Q: 如何导出大纲结构?

使用命令面板 Outliner: Copy outline as Markdown 可以将当前焦点列表复制为纯 Markdown 格式。

Outliner 高级使用案例

本文介绍 Outliner 插件的进阶使用技巧,涵盖复杂列表结构、自动化工作流和与其他插件的深度配合。

高级列表语法

多级折叠结构

利用 :: 语法构建默认折叠的多级大纲:

markdown
# 知识管理系统

## 📚 信息输入 (3)
- RSS 订阅
- 播客笔记
- 网页剪藏::
  - 使用 Bionic Reading 提高阅读效率
  - 建立「常读清单」减少信息噪音
  - 用 Readwise 统一管理高亮
  - 每晚 10 点处理收件箱
  - 每周六 2 小时深度阅读

## ✏️ 信息加工 (2)
- 写卡片的 3 个原则
- 渐进式写作流程::
  - 闪卡 → 卡片 → 原子笔记
  - 每张卡片一个核心观点
  - 间隔重复复习
  - 每月整理一次卡片盒

## 📤 信息输出 (1)
- 博客文章
- 播客内容
- 视频脚本::
  - 建立选题库
  - 先写大纲再填充
  - 用语音输入提高效率

展开/折叠状态指示

在列表项中添加展开状态标记:

markdown
## 项目管理 ▼
- 需求分析
  - 用户访谈 ▼
    - 访谈记录 1
    - 访谈记录 2
  - 竞品调研 ▶  <!-- 默认折叠 -->
  - PRD 文档 ▶  <!-- 默认折叠 -->

## 开发进度 ▶  <!-- 默认折叠 -->

列表操作宏

结合 Obsidian 的 Templates 或 Templater,可以创建可复用的列表操作宏。

一键生成项目结构

markdown
<%*
const project = await tp.system.prompt("输入项目名称:");
const today = tp.date.now("YYYY-MM-DD");
-%>

# <% project %>

## 目标
- 

## 里程碑
- [ ] M1: 需求确认 📅 <% today %>
- [ ] M2: 设计评审 📅 <% today %>
- [ ] M3: 开发完成 📅 <% today %>
- [ ] M4: 测试通过 📅 <% today %>
- [ ] M5: 上线部署 📅 <% today %>

## 任务分解
- [ ] 任务 1
  - 子任务 A
  - 子任务 B
- [ ] 任务 2
  - 子任务 C

## 风险点
- 

## 资源需求
- 人力:
- 技术:
- 时间:

会议记录模板

markdown
<%*
const meetingTitle = await tp.system.prompt("会议名称:");
const attendees = await tp.system.prompt("参会人(逗号分隔):");
const date = tp.date.now("YYYY-MM-DD");
-%>

# <% meetingTitle %> | <% date %>

**参会人**: <% attendees %>

## 议程
1. 

## 讨论内容
- 

## 决策
- [ ] 决策 1

## 待办事项
- [ ] @某人: 

## 下次会议
- 日期:
- 议题:

与 Kanban 插件联动

Outliner 的列表结构可以与 Kanban 插件无缝配合。

列表 → 看板迁移

在 Outliner 中维护结构化任务,然后导出到看板:

markdown
# 任务池

## 🔴 紧急
- [ ] 紧急修复 P0

## 🟡 中等
- [ ] 功能优化

## 🟢 规划中
- [ ] 新功能调研

在 Kanban 中创建对应的列,拖入相关任务。Outliner 保持层级结构,Kanban 展示进度视图。

双向同步

使用 Dataview 将 Kanban 看板数据回写到 Outliner 列表:

dataview
```meta
type: task
```
TABLE file.link AS 任务, status AS 状态
FROM "05 - Kanban"
WHERE contains(status, "In Progress")
SORT file.mtime DESC

复杂任务管理

OKR 追踪

使用 Outliner 构建 OKR 追踪系统:

markdown
# 2026 Q2 OKR

## 🎯 目标一:提升产品体验

### 关键结果 1.1
- [x] 用户调研报告
- [ ] 5 个核心问题修复
  - 问题 1
  - 问题 2
  - 问题 3
  - 问题 4
  - 问题 5
- [ ] NPS 提升至 40

### 关键结果 1.2
- [x] 新版首页上线
- [ ] 转化率提升 15%

## 🎯 目标二:提升团队效率

### 关键结果 2.1
- [ ] 部署自动化率 100%
- [ ] CI/CD 流程优化
  - 单元测试覆盖率 80%
  - 集成测试覆盖核心流程

习惯追踪

markdown
# 🏃 习惯追踪

## 每日习惯
- [ ] 早起 06:30 ✓
- [ ] 晨跑 30 分钟 ✓
- [ ] 冥想 10 分钟
- [ ] 阅读 30 分钟
- [ ] 日记记录

## 本周进度
- [x] 周一
- [x] 周二
- [ ] 周三
- [ ] 周四
- [ ] 周五

## 月度目标
- [ ] 跑步 100 公里 ████████░░░░ 80%
- [ ] 读完 4 本书 ██░░░░░░░░ 2/4
- [ ] 冥想 30 天 ████████░░░░ 24/30

大纲可视化

缩进可视化

在代码块中使用 Mermaid 流程图展示列表层级:

mermaid
flowchart TB
    A[项目] --> B[模块 1]
    A --> C[模块 2]
    A --> D[模块 3]
    B --> B1[子任务 1.1]
    B --> B2[子任务 1.2]
    C --> C1[子任务 2.1]
    C --> C2[子任务 2.2]
    C --> C3[子任务 2.3]
    D --> D1[子任务 3.1]

Dataview 大纲统计

dataview
TABLE 
  length(filter(file.lists, l => !l.checked)) AS 待办,
  length(filter(file.lists, l => l.checked)) AS 已完成,
  length(file.lists) AS 合计
FROM "04 - Projects"
WHERE file.mtime >= date(today) - dur(7 days)
SORT length(file.lists) DESC

工作流自动化

列表项自动归档

使用 Obsidian Shell Commands 或 QuickAdd 宏,自动将完成的任务移动到归档区:

javascript
// 归档已完成的子任务
const content = app.workspace.getActiveFile();
if (content) {
  const file = app.vault.getAbstractFileByPath(content.path);
  const lines = (await app.vault.read(file)).split('\n');
  
  const archived = lines.map(line => {
    if (line.includes('- [x]')) {
      return line.replace('- [ ]', '- [x]')
        + ' 📅 ' + moment().format('YYYY-MM-DD');
    }
    return line;
  }).join('\n');
  
  await app.vault.modify(file, archived);
  new Notice('已归档 ' + 
    lines.filter(l => l.includes('- [x]')).length + ' 项');
}

列表项批量升级

按住 Ctrl 并拖动多个列表项,一次性移动整组任务:

按住 Ctrl + 拖拽的效果:
├─ 项目 A
│  ├─ 任务 1 ← 选中
│  ├─ 任务 2 ← 选中
│  └─ 任务 3 ← 选中
└─ 项目 B

拖拽后:
├─ 项目 A
└─ 项目 B
   ├─ 任务 1 ← 一起移动
   ├─ 任务 2
   └─ 任务 3

与其他插件深度配合

Outliner + Dataview

dataview
TABLE 
  default(row.关键结果, "—") AS 关键结果,
  length(filter(row.children, c => !c.checked)) AS 待办,
  length(filter(row.children, c => c.checked)) AS 已完成
FROM "05 - OKR"
WHERE structure(tasks) = "list"
FLATTEN file.tasks AS 关键结果

Outliner + Kanban

在 Kanban 看板中查看 Outliner 维护的任务池:

markdown
<!-- Kanban 看板数据源 -->
# 任务池

## 🔴 高优
- [ ] P0 紧急任务

## 🟡 中优
- [ ] 功能优化

## 🟢 低优
- [ ] 技术债务

Outliner + Tasks

markdown
- [ ] 09:00 晨会 📅 2026-06-09 🔁 every weekday
- [ ] 每周同步会议 📅 every Friday
- [ ] 月度回顾 📅 2026-06-30

常见问题

Q: 如何在大列表中快速定位?

使用 Ctrl + F 搜索关键词,或在命令面板输入 Outliner: Jump to parent,跳转到当前项的父级。

Q: 列表项太多导致卡顿?

  1. 拆分为多个笔记文件
  2. 使用 Dataview 查询代替超长列表
  3. 对已完成的任务使用折叠标记

Q: 如何导出为思维导图?

  1. 使用 Outliner 维护结构
  2. 复制为 Markdown
  3. 使用 Markdown 导图工具(如 Markmap)转换为思维导图

Q: 列表项的层级关系丢失?

确保使用一致的缩进(全部空格或全部 Tab),混合使用会导致层级识别错误。