Quick Switcher++ 插件高级使用案例
本文介绍 Quick Switcher++ 的进阶配置,涵盖动态书签、搜索宏、自定义过滤和高级工作流。
动态书签
基于 Dataview 的动态书签
通过 Dataview 查询生成动态书签列表:
dataview
```dataview
LIST
FROM ""
WHERE contains(file.tags, "项目")
WHERE file.mtime >= date(today) - dur(7 days)
SORT file.mtime DESC
LIMIT 10
```标签聚合书签
按标签自动聚合笔记:
#聚合书签配置
├─ 📊 数据分析
│ ├─ #数据分析/可视化
│ ├─ #数据分析/统计
│ └─ #数据分析/报告
├─ 💻 技术栈
│ ├─ #技术栈/前端
│ ├─ #技术栈/后端
│ └─ #技术栈/运维
└─ 📚 学习方法
├─ #学习方法/记忆
└─ #学习方法/阅读时间维度书签
javascript
// 最近的 10 个修改文件书签
> 最近修改
├─ [[修改于 1 分钟前]]
├─ [[修改于 5 分钟前]]
├─ [[修改于 30 分钟前]]
└─ ...(动态生成)搜索宏
创建搜索宏
在设置中创建自定义搜索宏:
javascript
// 宏:本周项目进展
{
"name": "本周项目",
"query": "#项目 AND modified:7d",
"description": "显示本周修改的所有项目笔记"
}
// 宏:未整理笔记
{
"name": "待整理",
"query": "#待整理 OR #inbox",
"description": "显示所有待整理的笔记"
}宏触发器
配置快捷键触发宏:
| 快捷键 | 宏 | 说明 |
|---|---|---|
Ctrl + Alt + P | 本周项目 | 快速查看项目进展 |
Ctrl + Alt + I | 收件箱 | 查看待整理笔记 |
Ctrl + Alt + T | 今日任务 | 查看今日任务 |
复杂搜索语法
#标签1 AND #标签2 → 同时满足两个标签
#标签1 OR #标签2 → 满足任一标签
"exact phrase" → 精确匹配
author:@username → 按作者筛选
modified:>2026-01-01 → 按修改时间
created:this-week → 本周创建自定义过滤
文件类型过滤
extension:md → 仅 Markdown
extension:pdf → 仅 PDF
extension:image → 仅图片路径过滤
path:Journal/Daily → 指定路径
path:/Projects/ → 项目文件夹
path:#archive → 归档笔记大小过滤
size:>10kb → 大于 10KB
size:<1kb → 小于 1KB组合过滤
#重要 AND path:Projects AND modified:7d
→ Projects 文件夹中本周修改的带 #重要 标签的笔记高级工作流
快速项目上下文切换
- 为每个项目创建书签组
- 配置快捷键快速切换:
Ctrl + Alt + 1 → 打开项目 Alpha 书签
Ctrl + Alt + 2 → 打开项目 Beta 书签
Ctrl + Alt + 3 → 打开项目 Gamma 书签知识库探索
#知识库
├─ 🧠 核心概念
│ ├─ [[概念 A]]
│ ├─ [[概念 B]]
│ └─ [[概念 C]]
├─ 🔗 概念关联
│ ├─ [[A → B]]
│ └─ [[B → C]]
└─ 📖 探索路径
├─ [[入门路径]]
└─ [[进阶路径]]快速任务管理
#待办
├─ 🕐 今天
│ ├─ [[今日任务]]
│ └─ [[紧急任务]]
├─ 📅 本周
│ └─ [[周任务]]
└─ 📋 归档
└─ [[已完成任务]]与其他插件联动
Templater 联动
创建笔记后自动添加书签:
markdown
<%*
const file = tp.file.find_tfile(tp.file.filename());
if (file) {
app.plugins.getPlugin('quickswitcher').addBookmark(file.path);
new Notice('已添加到书签');
}
-%>Dataview 联动
在 Quick Switcher 中显示 Dataview 查询结果:
javascript
// 设置 Dataview 视图为书签的一部分
const results = await dv.query(`
LIST file.link
FROM ""
WHERE contains(file.tags, "项目")
WHERE file.mtime >= date(today) - dur(7 days)
`);Calendar 联动
快速跳转到日历日期对应的日记:
:date 2026-06-09 → 打开指定日期日记
:date +1w → 打开一周后日记
:date -1m → 打开一个月前日记常见问题
Q: 如何同步书签?
书签数据存储在插件设置中,可通过 Obsidian Sync 或 Git 同步。
Q: 搜索结果过多?
使用更精确的搜索条件,或使用 LIMIT 语法限制结果数量。
Q: 如何批量管理书签?
在设置中提供书签管理界面,支持批量删除、排序和分组。
Q: 自定义宏不生效?
- 检查 JSON 格式是否正确
- 确认宏名称唯一
- 重启 Obsidian