Simple Command Panel
approvedby oquhe
This plugin has not been manually reviewed by Obsidian staff. A command panel that includes aliases, descriptions, hidden content, parameters, and text commands.
obsidian-scp
Obsidian插件:简单命令面板
特点
- 触发符或命令打开命令面板
- 可更换命令的显示名称
- 可快速查询又不影响显示的隐藏文本
- 避免命令名称太长加入描述文本
- 可使命令更灵活的命令参数
- 使用命令面板插入文本
- 使用命令面板执行脚本
使用
- 使用命令:“简单命令面板:打开”
- 使用触发符:笔记中输入触发符
别名语法
- 若想检索原名,可以将原名加入到别名
- 若想检索原名但不显示,可以将原名加入到别名的隐藏文本
- 句首
[xxx]中括号之间为隐藏文本 - 句尾
{xxx}大括号之间为描述文本 - 查询语法中的字符可以显示但不能被检索
保存当前文件
[save]保存{保存当前文件}
保存{保存当前文件}
[save]保存当前文件
脚本别名
格式:[隐藏部分]显示名称{描述内容} $脚本
示例:
[table]表格{添加表格} ${"tag": "insert", "text": "\n| | |\n| - | - |\n| | |\n", "ch": 3}
[table2]表格2{添加表格,与上行效果相同} $["\n| | |\n| - | - |\n| | |\n", -28]
脚本
首先会对 \$ \\ 转义,然后使用 JSON 格式 解析,若无法解析,则默认为字符串类型
字符串类型 (string)
在笔记当前光标位置插入文本
可配合 Easy Typing 等插件使用
数字类型 (number)
整数:向后移动光标;负数表示向前移动
需要注意不要移动到非法位置,如表格线上,否则会导致无法撤销等问题
数组类型 (Array)
按顺序执行多个脚本
对象类型 (Object)
使用 tag 作为标识,不区分大小写
tag: cmd/command
执行命令,优先查找 id,没有再查找 name
id: 命令的 id
name: 命令的名称
args: 命令的参数
tag: insert
插入文本
text: 插入的文本;可用 {"data": "name"}
sys: 系统数据;"pos" 光标位置;"clipboard" 剪贴板内容
ch: 正数表示从插入文本首往后计算的光标位置;负数表示从插入文本尾往前计算;null 表示插入文本尾
tag: move
移动光标;注意与整数类型表现不同
n: 向下移动 n 行;负数表示向上移动
ch: 光标在此行中位置,负数表示从后计数,默认 null 表示行尾
find: 向后移动到字符串
rfind: 向前移动到字符串
re: 是否使用正则表达式;默认 false
lim: 性能限制 find rfind 查找行数,≥ 1;默认 1
pos: 移动到位置数据
find、rfind 可用 {"data": "name"}、{"args": index}
index 表示参数元素序数,-1 表示使用参数整体
tag: del/delelt
删除,参数同 move
tag: select
选择,参数同 move
tag: data
数据;在部分脚本参数可用 {"data": "name"}
name: 数据名称,默认 _
data: 储存数据
sys: 系统数据;"pos" 光标位置;"select" 选中文本;"clipboard" 剪贴板内容;"args" 查询参数
del: 删除数据;默认 false
查询语法
空格
空格之后的内容作为查询参数,多个参数用空格隔开
通过 app.plugins.plugins['s-c-panel'].q_args 访问参数,命令执行后会清空参数
标题 3
查询语句:标题
查询参数:3
执行命令:设为 3 级标题
只是作为例子,实际上官方已为每个等级的标题都添加了命令
?/?半角或全角问号
强制显示描述
可以在空格前的任意位置
!/! 半角或全角感叹号
强制显示隐藏
可以在空格前的任意位置
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.