# 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 格式](https://developer.mozilla.org/zh-CN/docs/Learn_web_development/Core/Scripting/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 级标题 ``` 只是作为例子,实际上官方已为每个等级的标题都添加了命令 ### ?/?半角或全角问号 强制显示描述
可以在空格前的任意位置 ### !/! 半角或全角感叹号 强制显示隐藏
可以在空格前的任意位置