跳到内容

文档 / MeatPad / 代码片段、命令和宏

代码片段、命令和宏

插入可复用文本,运行经过检查的 shell 转换,并录制可重复的编辑操作。

MeatPad 0.31.4 · 发布于 2026 年 10 月 13 日 · 审核于 2026 年 10 月 20 日

本文为简体中文。截图显示 MeatPad 0.31.4 的简体中文界面;操作步骤中的菜单和按钮名称保留英文。视频、视频预览图及文字记录仍为英文。

创建和插入代码片段#

  1. 打开 Settings → Snippets。选择内置代码片段,检查其触发词和语言范围。
  2. 选择 Duplicate as editable copy 自定义内置片段,或选择 Add snippet 创建新片段。
  3. 填写 Name、Trigger 和 Body;展开 Languages 选择范围;选择 Save。未选择语言表示适用于所有语言。
  4. 将焦点放在编辑器上,选择 Commands → Insert Snippet,然后选择片段。触发词匹配时,也可用 Tab 展开。
  5. 使用 Tab / Shift-Tab 在占位符间移动,按 Escape 结束代码片段会话。

代码片段正文支持编号跳转点,例如 $1;占位符,例如 ${1:name};以及最终位置 $0。支持嵌套占位符和重复编号的跳转点(镜像)。在代码片段语法中,请转义字面量美元符号、反斜杠或右花括号。不支持 ${1/…/…/} 等正则转换。具有相同触发词和语言范围的用户副本可覆盖内置片段。内置片段为只读;删除用户副本即可移除该自定义。

保存和运行 shell 命令#

  1. 打开 Settings → Commands 并选择 Add command。
  2. 设置 Name 和 Script。选择 Input:None、Selection 或 Document。
  3. 选择 Output:Replace Selection、Insert at Caret、New Note 或 Output Panel。需要时设置 Key Equivalent。
  4. 检查超时(默认 30 秒)、Restricted environment 和用于设置范围的 Languages 展开项,然后选择 Save。
  5. 将焦点放在编辑器上,从 Commands 菜单选择命令。检查生成的文本或输出面板。选择 Cancel Command 停止正在执行的命令。要安全测试,在可丢弃的文本中选择 hello,以 Selection 输入和 Replace Selection 输出运行 tr a-z A-Z;只有该选区会变成 HELLO。

要运行临时转换,选择 Commands → Filter Through Command… (⌥⌘R)。没有选区时,Selection 输入接收整个文档;没有选区时,Replace Selection 会替换整个文档。命令作用于当前选区,而不是每个插入点,且一次只运行一个命令。命令失败、产生 stderr 或超时时,输出会发送到输出面板,而不是替换文本;笔记窗口会改用一条新笔记。命令是真正的 shell 脚本:可以根据其内容和你的权限读取、更改或发送数据。Restricted environment 保留 TM_* 上下文以及 PATH、HOME、SHELL、LANG 和 TMPDIR,而不是完整继承的环境;它不是 macOS 安全沙箱。避免使用已归标准菜单所有的快捷键;冲突会在 Settings 中标记。

使用一次性 shell 命令过滤文本#

  1. 在获得焦点的编辑器中选择一些可丢弃的文本。
  2. 选择 Commands → Filter Through Command… (⌥⌘R)。
  3. 在 Shell command 中输入 sort -u,对所选行排序并去重,或输入经过检查的转换命令。
  4. 选择 Input(None、Selection 或 Document)和 Output(Replace Selection、Insert at Caret、New Note 或 Output Panel)。
  5. 选择 Run 并检查结果,或选择 Cancel 不执行而关闭。对话框会记住上次的命令和模式选择。

没有选区时,Selection/Replace Selection 表示整个文档。在笔记窗口运行时,Output Panel 会打开一条新笔记。项目输出面板显示状态和输出,提供用于运行中进程的 Cancel,以及 Close output panel。手动输入的命令因由你编写而被视为可信,因此按 Run 前请检查。

在命令脚本中使用编辑器上下文#

存在相应上下文时,已保存命令会接收 TextMate 风格的上下文变量。请在 shell 脚本中按正常的 shell 引号规则使用,不要假定项目专用值在笔记窗口中也存在。

变量上下文
TM_SELECTED_TEXT当前所选文本(如果存在)
TM_FILE_PATH / TM_DIRECTORY当前项目文件及其所在目录
TM_PROJECT_DIRECTORY项目根目录
TM_LINE_NUMBER / TM_COLUMN_NUMBER当前行号和列号
TM_CURRENT_LINE / TM_CURRENT_WORD插入点周围的文本
TM_MODE当前语言标识符

命令的 Input 设置独立于这些变量控制标准输入。Restricted environment 会限制继承的环境值,同时保留受支持的命令上下文;它不会阻止文件系统或网络操作。

导入包并审查命令信任#

  1. 在 Snippets 或 Commands 设置中选择 Import Bundle…,并选择 TextMate .tmbundle 目录。其中的 Snippets/*.tmSnippet 和 Commands/*.tmCommand 条目在兼容时会被导入。
  2. 阅读导入报告,包括任何跳过的项目。导入会添加受支持的代码片段和命令;不保证每项包功能都能转换。
  3. 运行前检查每个导入命令的脚本、输入和输出。导入的命令最初不受信任。
  4. 首次运行时,请审查确认提示。在 Commands 设置中,右键单击命令可使用 Trust 或 Revoke Trust。

选择 Run Once 可单次执行而不保存信任,或选择 Trust and Run 记住信任。自行编写的命令最初受信任。信任会取消今后的确认;它不会让脚本变得无害。导入代码片段和命令并不等于恢复完整的 MeatPad 资料库。主题有自己的导入控件。

录制、重放和保存编辑操作#

  1. 将焦点放在要录制的编辑器上。选择 Commands → Start Recording Macro (⌥⌘M)。
  2. 执行希望重复的编辑序列。
  3. 选择 Stop Recording(同样使用 ⌥⌘M 快捷键)。
  4. 将插入点放在目标位置并选择 Replay Last Macro (⇧⌘M)。检查结果。
  5. 选择 Save Last Macro As…,输入名称并保存。已保存宏会出现在 Commands 菜单中,供之后使用。

宏录制受支持的编辑器键盘事件;不会录制鼠标操作或由菜单处理的快捷键(如 ⌘D)。宏不是任意应用窗口、鼠标工作流程、shell 会话或其他应用的录制器。将宏用于重要工作前,请先在可丢弃的文本上测试。

MeatPad version 0.31.4 zh-Hans — 录制并回放插入注释的宏之后的项目编辑器。
录制并回放插入注释的宏之后的项目编辑器。 · MeatPad 0.31.4 · UI: zh-Hans
Project editor after recording and replaying a comment insertion macro. · MeatPad 0.31.4 · UI: en
录屏文字稿

Focus the project editor. Press Command-Option-M to start recording. Type a Review complete comment. Press Command-Option-M to stop. Press Command-Shift-M to replay; verify the comment appears twice.

相关问题

需要帮助?

联系 MeatPad 支持. 请提供应用版本、macOS 版本,以及导致问题的操作步骤。