片段
片段是常用的 SQL、命令或说明文字,保存在片段库中。用的时候填好参数,复制到剪贴板,再粘贴到需要的地方。Crib 不会在其他应用里自动展开片段。
片段库
片段库在“设置 › 片段”中,“文件 › 打开片段库”直接打开这一页。
- 顶部的“启用片段”和“在搜索结果中显示片段”都勾选时,片段才出现在主搜索结果中。
- 列表上方可以按名称、触发词或正文搜索,也可以按标签筛选。
- “新建片段…”新建;“更多操作”菜单中有“从剪贴板新建…”“导入片段库…”“导出片段库…”。
- 选中一个片段后可以“复制”“复制原文”“编辑…”“创建副本”或“删除”。
“文件”菜单中的“新建片段…”和“从剪贴板新建片段…”也会打开这一页并直接进入编辑。
新建与编辑
| 字段 | 规则 |
|---|---|
| 名称 | 必填,1–80 个字符,不能与其他片段重名(不分大小写) |
| 触发词 | 可选,1–32 个小写字母、数字、- 或 _,以字母开头,不能重复;搜索时也会匹配 |
| 语言 | 默认 SQL,最多 32 个字符;决定是否按 SQL 着色 |
| 标签 | 用逗号分隔,最多 20 个,每个不超过 40 个字符 |
| 正文 | 最多 1,000,000 个字符 |
新片段的正文默认是 SELECT * FROM __TABLE__;,可以直接改。
编辑器按键
| 按键 | 作用 |
|---|---|
| Tab | 在光标处插入 4 个空格;选中多行时整体增加缩进 |
| ⇧ 加 Tab | 每行去掉一个行首 Tab 或最多 4 个空格 |
| ↩ | 换行 |
| ⌘ 加 ↩ | 保存 |
| ⌃ 加 Tab / ⌃ 加 ⇧ 加 Tab | 离开正文,移到下一个 / 上一个控件 |
正文上方也有“增加缩进”“减少缩进”按钮。编辑器不会把引号、破折号自动替换成排版符号;每个编辑器有自己的撤销记录。用中文输入法选词时,保存会等组合输入结束后再进行。
参数与展开
正文中用分隔符括起的词是参数,复制时填写:
- 默认分隔符是两个下划线,
__TABLE__就是名为 TABLE 的参数。同名参数出现多次,只填一次。 - 参数名不能含空格或换行;只有开头没有结尾的分隔符按普通文字处理。
@date和@time换成复制时的日期和时间,默认格式分别是MM.dd.yyyy和HH:mm:ss。
分隔符和两种格式在“设置 › 片段”中修改。分隔符是 1–8 个字符,不能含字母或数字。日期格式点“查看写法”可以看到 yyyy、MM、dd、HH、mm、ss 等写法和示例,修改后要点“应用”才生效。
复制一个有参数的片段时,会打开“填写参数”:
- 逐个填写参数。确实要留空的,勾选该参数旁的“留空”。
- 下方“预览”实时显示结果。
- 全部参数填好或标为留空后,按 ⌘ 加 ↩ 或点“复制”。
没有参数的片段直接复制。“复制原文”不替换参数和日期时间,原样复制正文。
SQL 着色
语言写成 SQL、PostgreSQL、Postgres、pgsql、PLpgSQL 或 PL/pgSQL(不分大小写)时,编辑器、片段详情和参数预览按 SQL 着色:关键词、字符串、带引号的标识符、注释、数字和 $1 这类位置参数,包括 E'…' 字符串、$$ 引用和嵌套注释。
着色只是阅读辅助,不检查 SQL 是否正确。其他语言按普通文本显示。
在搜索结果中
搜索框有内容时,名称、触发词、正文、语言或标签中含查询文字的片段,显示在结果最上方的“片段”分组中。右键可以“复制正文”“展开并复制…”或“打开片段库”。
“设置 › 片段”中关闭“在搜索结果中显示片段”即可隐藏;单个搜索方案也可以关闭“在结果中显示片段”。
从其他应用创建
在其他应用中选中文字,选“服务 › 在 Crib 中创建片段”,Crib 打开新建片段,正文是选中的文字,名称是“所选文字片段”,确认后保存。菜单中没有这一项时的设置办法见系统服务。
片段库文件与共用
默认片段库是用户目录中的 snippets.json:
片段、参数分隔符和日期时间格式都保存在这个文件里。在“设置 › 片段”的“片段库”一行可以换文件:
- 另存为…:把当前片段库另存为新文件,并改用新文件。原文件保留,已有的同名文件不会被覆盖。
- 打开…:改用一个已有的片段库文件,不合并、不修改原来的库。要把片段合并进当前库,用“导入片段库…”,冲突的片段会自动改名。
当前用的是哪个文件只记在本机,不写进片段库本身。所以可以把片段库放进 iCloud Drive 等同步文件夹,在另一台 Mac 上“打开…”同一个文件。Crib 每两秒检查一次文件,别处的修改会自动出现。文件的传送由同步服务负责。
共用时要注意:
- 在别处被改过的片段,保存会被拒绝,草稿保留,可以“另存为新片段”。副本使用新的标识,触发词清空。
- 删除片段会同时从所有共用这个文件的 Mac 上删除。
- 文件丢失、只写了一半或来自更新版本的 Crib 时,片段库变为只读:已经载入的内容继续显示,从未载入时显示“片段库未载入”。Crib 不会自动新建一个空库代替它。文件恢复或打开另一个有效的库后即可继续编辑。
- 片段库文件上限 8 MiB,必须是普通文件,不能是符号链接。