跳转到主要内容

片段

保存常用的 SQL 和命令文本,用参数和当前日期时间展开后复制,在多台 Mac 之间共用一个片段库,或从其他应用直接创建片段。

片段是常用的 SQL、命令或说明文字,保存在片段库中。用的时候填好参数,复制到剪贴板,再粘贴到需要的地方。Crib 不会在其他应用里自动展开片段。

片段库

片段库在“设置 › 片段”中,“文件 › 打开片段库”直接打开这一页。

  • 顶部的“启用片段”和“在搜索结果中显示片段”都勾选时,片段才出现在主搜索结果中。
  • 列表上方可以按名称、触发词或正文搜索,也可以按标签筛选。
  • “新建片段…”新建;“更多操作”菜单中有“从剪贴板新建…”“导入片段库…”“导出片段库…”。
  • 选中一个片段后可以“复制”“复制原文”“编辑…”“创建副本”或“删除”。

“文件”菜单中的“新建片段…”和“从剪贴板新建片段…”也会打开这一页并直接进入编辑。

新建与编辑

字段规则
名称必填,1–80 个字符,不能与其他片段重名(不分大小写)
触发词可选,1–32 个小写字母、数字、- 或 _,以字母开头,不能重复;搜索时也会匹配
语言默认 SQL,最多 32 个字符;决定是否按 SQL 着色
标签用逗号分隔,最多 20 个,每个不超过 40 个字符
正文最多 1,000,000 个字符

新片段的正文默认是 SELECT * FROM __TABLE__;,可以直接改。

编辑器按键

按键作用
Tab在光标处插入 4 个空格;选中多行时整体增加缩进
⇧ 加 Tab每行去掉一个行首 Tab 或最多 4 个空格
↩换行
⌘ 加 ↩保存
⌃ 加 Tab / ⌃ 加 ⇧ 加 Tab离开正文,移到下一个 / 上一个控件

正文上方也有“增加缩进”“减少缩进”按钮。编辑器不会把引号、破折号自动替换成排版符号;每个编辑器有自己的撤销记录。用中文输入法选词时,保存会等组合输入结束后再进行。

参数与展开

正文中用分隔符括起的词是参数,复制时填写:

SELECT pg_size_pretty(pg_total_relation_size('__TABLE__'));
-- 生成于 @date @time
  • 默认分隔符是两个下划线,__TABLE__ 就是名为 TABLE 的参数。同名参数出现多次,只填一次。
  • 参数名不能含空格或换行;只有开头没有结尾的分隔符按普通文字处理。
  • @date 和 @time 换成复制时的日期和时间,默认格式分别是 MM.dd.yyyy 和 HH:mm:ss。

分隔符和两种格式在“设置 › 片段”中修改。分隔符是 1–8 个字符,不能含字母或数字。日期格式点“查看写法”可以看到 yyyy、MM、dd、HH、mm、ss 等写法和示例,修改后要点“应用”才生效。

复制一个有参数的片段时,会打开“填写参数”:

  1. 逐个填写参数。确实要留空的,勾选该参数旁的“留空”。
  2. 下方“预览”实时显示结果。
  3. 全部参数填好或标为留空后,按 ⌘ 加 ↩ 或点“复制”。

没有参数的片段直接复制。“复制原文”不替换参数和日期时间,原样复制正文。

SQL 着色

语言写成 SQL、PostgreSQL、Postgres、pgsql、PLpgSQL 或 PL/pgSQL(不分大小写)时,编辑器、片段详情和参数预览按 SQL 着色:关键词、字符串、带引号的标识符、注释、数字和 $1 这类位置参数,包括 E'…' 字符串、$$ 引用和嵌套注释。

着色只是阅读辅助,不检查 SQL 是否正确。其他语言按普通文本显示。

搜索框有内容时,名称、触发词、正文、语言或标签中含查询文字的片段,显示在结果最上方的“片段”分组中。右键可以“复制正文”“展开并复制…”或“打开片段库”。

“设置 › 片段”中关闭“在搜索结果中显示片段”即可隐藏;单个搜索方案也可以关闭“在结果中显示片段”。

从其他应用创建

在其他应用中选中文字,选“服务 › 在 Crib 中创建片段”,Crib 打开新建片段,正文是选中的文字,名称是“所选文字片段”,确认后保存。菜单中没有这一项时的设置办法见系统服务。

片段库文件与共用

默认片段库是用户目录中的 snippets.json:

~/Library/Application Support/Crib/snippets.json

片段、参数分隔符和日期时间格式都保存在这个文件里。在“设置 › 片段”的“片段库”一行可以换文件:

  • 另存为…:把当前片段库另存为新文件,并改用新文件。原文件保留,已有的同名文件不会被覆盖。
  • 打开…:改用一个已有的片段库文件,不合并、不修改原来的库。要把片段合并进当前库,用“导入片段库…”,冲突的片段会自动改名。

当前用的是哪个文件只记在本机,不写进片段库本身。所以可以把片段库放进 iCloud Drive 等同步文件夹,在另一台 Mac 上“打开…”同一个文件。Crib 每两秒检查一次文件,别处的修改会自动出现。文件的传送由同步服务负责。

双机同步未经实测两个 Crib 先后编辑同一个本机文件已经测试过;通过 iCloud Drive、Dropbox 等服务在两台 Mac 之间同步还没有实测。

共用时要注意:

  • 在别处被改过的片段,保存会被拒绝,草稿保留,可以“另存为新片段”。副本使用新的标识,触发词清空。
  • 删除片段会同时从所有共用这个文件的 Mac 上删除。
  • 文件丢失、只写了一半或来自更新版本的 Crib 时,片段库变为只读:已经载入的内容继续显示,从未载入时显示“片段库未载入”。Crib 不会自动新建一个空库代替它。文件恢复或打开另一个有效的库后即可继续编辑。
  • 片段库文件上限 8 MiB,必须是普通文件,不能是符号链接。