Callout Quick

unlisted

by zych2023

选中文字后按快捷键,弹出选择框,一键把选中内容包成 [!important]、[!note]、[!tip] 等 Callout。类型列表可自定义。

Updated 14d agoMIT
View on GitHub

Callout Quick

让加 Callout 变成一次快捷键的事。

不用手打 > [!note]、不用记 > 前缀、不用反复检查前后空行 —— 选中文字、按快捷键、在弹框里选类型(也可以直接敲类型名),回车就好。

纯 CommonJS 实现,不需要 Node、不需要编译,三个文件复制进插件目录即可使用。


安装

  1. 找到你的库(Vault)根目录。不确定的话,在 Obsidian 里右键任意笔记 → 在系统中显示,往上退到最外层那个文件夹就是。
  2. 在里面创建文件夹 .obsidian/plugins/callout-quick/(Windows 资源管理器需要先勾选「查看 → 显示 → 隐藏的项目」才能看到 .obsidian)。
  3. 把本目录下的 manifest.json、main.js、styles.css 三个文件复制进去。
  4. 打开 Obsidian → 设置 → 第三方插件 → 关闭「安全模式」→ 在已安装插件列表里找到 Callout Quick 并打开开关。
  5. 如果没出现,点一下插件列表右上角的刷新按钮。

最终结构:

<你的库>/.obsidian/plugins/callout-quick/
├── manifest.json
├── main.js
└── styles.css

绑定快捷键(关键一步)

插件本身不预设快捷键,由你自己定:

设置 → 快捷键 → 搜索 Callout Quick → 找到 「转换选中内容为 Callout(弹出类型选择)」 → 点右边的 + → 按下你想要的组合键。

建议 Ctrl/Cmd + Shift + C,和 Obsidian 其他快捷键不冲突。


用法

1. 把选中文字变成 Callout

用鼠标选中一段文字,按快捷键,弹出一个搜索框,里面是各种类型:

● [!important]  重要
● [!note]       笔记
● [!tip]        提示
...

输入几个字母就能筛选(输 imp 或 重要 都行),回车生效。上次用过的类型会排在最前面,并带一个「上次」标记。

转换前:

这里是需要重点记住的内容

转换后:

> [!important]
> 这里是需要重点记住的内容

多行选中也没问题,每行自动加 > 前缀,原文档里的空行会变成 >:

> [!note]
> 第一行
> 第二行
>
> 第四行

Callout 前后会自动补空行,避免和上下段落粘连(Markdown 的 lazy continuation 会把紧贴的段落吸进引用块里)。

2. 不选中任何东西

直接按快捷键 → 插入一个空的 Callout 模板,光标落在内容行,接着打字就行:

> [!note]
> 

3. 光标停在已有 Callout 里

不用手动选一整块,光标放进去按快捷键即可,插件会自动识别整个 Callout 块,然后你可以:

  • 换类型 —— 只替换 [!xxx] 标记,不会嵌套出一层引用
  • 移除格式 —— 列表末尾多出一个 ✕ 移除 Callout 格式,选中后还原成普通段落

4. 自定义类型

选择框里直接输入一个不存在的类型名,会出现「自定义类型」选项,回车即可生成,比如输入 idea:

> [!idea]
> 内容

不用提前配置。想让它固定出现在候选列表里,去设置页加一行。


三个命令

命令说明
转换选中内容为 Callout(弹出类型选择)主命令,弹框选类型
转换选中内容为上次使用的 Callout不弹框,直接用上次的类型,适合连续标同一种
移除选中内容的 Callout 格式还原成普通段落

设置

设置 → 第三方插件 → Callout Quick 齿轮图标。

Callout 类型列表 —— 每行一个,决定弹框里有哪些候选:

important
note | 笔记
tip | 提示
mystery | 神秘事件
  • 只写类型名 → 自动使用内置中文名(important → 重要)
  • 写成 类型 | 显示名 → 用你写的显示名
  • # 开头的行会被当成注释忽略
  • 类型名只能用字母、数字、-、_

默认折叠状态 —— 生成 [!type] / [!type]-(默认折叠) / [!type]+(默认展开)。

写入标题 —— 开启后会把显示名写进标题:

> [!important] 重要
> 内容

关闭时用 Obsidian 自带的默认标题(更干净,推荐关闭)。


常见问题

快捷键按了没反应? 先确认焦点在笔记编辑区(点了正文),并且打开了「实时预览」或「源码模式」。阅读模式下无法编辑。

弹出的框里没有我要的类型? 直接在框里把类型名打出来,回车。或者去设置页把类型加进列表。

能识别 [!important] 这种已经写好的 Callout 吗? 能。选中它或者把光标放进去,按快捷键就会让你换类型或移除。


文件说明

文件作用
manifest.json插件元信息(id、名称、版本)
main.js全部逻辑,CommonJS 格式,无需构建
styles.css选择框里小圆点和设置页的样式
versions.json发布到社区插件市场时用,本地使用可忽略
.gitignore排除 data.json 等本地运行时文件
LICENSEMIT 许可证

想改成 TypeScript + esbuild 工程,把 main.js 逻辑搬到 main.ts、去掉 require('obsidian') 换成 import 即可,其余不变。


许可

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.