Files
nyaterm/docs-site/docs/guide/quick-commands.md
T
Kang dc5fe7a282 fix(commands): preserve workspace input guards when syncing target branch
Merge migration/gpui at 2a27ce375 and retain its is_session rule in the shared input guard. Cover file manager tabs with actual TCP regression tests and document that cancellation leaves already sent text in the remote terminal.
2026-10-22 01:05:04 +08:00

6.9 KiB

快捷命令

快捷命令功能让你可以把常用命令保存成可复用动作,在工作区里快速发送到当前终端。

用途

  • 高频执行固定运维命令
  • 保存带参数模板的部署 / 排障脚本
  • 把常见命令按产品、环境或团队分类
  • 把危险命令先放到输入行检查,再决定是否执行

创建快捷命令

  1. 打开底部或侧边的 快捷命令 区域
  2. 点击 添加
  3. 在独立子窗口中填写命令信息

可配置字段包括:

字段 说明
标签名称 命令的显示名称
分类 命令所属分类
描述 命令说明(可选)
颜色标签 自定义显示颜色
图标 自定义图标
置顶显示 是否优先显示在列表顶部
执行模式 立即执行或追加到输入行
命令脚本 要发送到终端的命令内容

保存后,命令会出现在快捷命令列表中,可继续编辑或删除。

执行模式

立即执行

点击后直接发送到当前终端并执行,用于:

  • 确认无误的常用命令
  • 日常巡检
  • 固定格式的只读查询

追加到输入行

点击后只把命令放到输入行,不自动回车,用于:

  • 还要再检查参数的命令
  • 可能需要二次修改的脚本片段
  • 有一定风险、希望人工确认的操作

变量提示

命令脚本支持 {{变量名}} 语法注入动态参数,例如:

docker exec -it {{容器名}} bash

执行时会弹出变量填写对话框,让你把模板命令补全后再发送。

转义序列与暂停

命令脚本里的这些写法会在发送时被解释:

写法 发送内容
\r 回车
\n 换行
\t 制表符
\p 暂停 1 秒后继续发送后面的内容
\\ 一个反斜杠

其它反斜杠序列保持原样,所以正则的 \d、Windows 路径 C:\Users 不会被打乱。想发送一个字面反斜杠时写成 \\。

登录设备、串口菜单或老系统经常需要「发出一段、等一秒、再发下一段」,把 \p 写在两段之间即可:

admin\r\psecret\r\pdisplay version

这段脚本会先发送 admin 和回车,等待 1 秒,再发送 secret 和回车,再等待 1 秒后发送 display version。\p 只负责暂停,登录交互中的每次提交都需要显式写出 \r。连续写 \p\p 会等待 2 秒。

目标会话在脚本开始发送时固定(如有变量,则在提交变量后固定)。暂停期间切换标签不会改变目标。在某个目标会话中发送新快捷命令、手动输入或粘贴,会取消旧脚本对此会话的后续发送,其他目标继续执行。断开或关闭会话也会取消其剩余步骤。

取消只会阻止尚未发送的内容,已经发送到远程终端的前缀仍然保留,新输入可能直接接在它后面。例如,old\pobsolete 在暂停时被 new command 替代,终端可能收到 oldnew command。继续输入前请确认远程提示和已有内容,尤其是在登录交互中。NyaTerm 不会自动发送 Ctrl+C 或清除输入,因为不同设备和交互程序对控制字符的含义不同。

开启同步输入或使用「发送到所有会话」时,每个会话按同样的分段发送。

\n、\t 只影响脚本本身:执行模式仍然只决定最后一段要不要补回车,脚本末尾已经有 \r 或 \n 时不会多加一个。

变量填写对话框里输入的值按字面发送:值里的反斜杠不会被解释成转义或暂停,只有写在模板里的 \p 才会停顿。

分类、搜索、排序与视图

快捷命令面板支持这些管理方式:

  • 通过搜索框按标签、命令内容或描述过滤
  • 通过分类下拉框只看某一类命令
  • 创建、重命名、移动和排序分类
  • 置顶命令优先显示在列表顶部
  • 按名称、使用频率、最近使用等排序模式整理列表
  • 在紧凑视图和常规视图之间切换,以适配不同面板宽度
  • 已保存分类会被复用,新命令也可以继续补充分类;导入时也会尽量保留外部文件中的分类结构

常见的分类方式:

  • K8s
  • Docker
  • 数据库
  • 发布脚本
  • 环境巡检

导出快捷命令

在快捷命令面板右上角点击 导出快捷命令,把当前快捷命令和分类导出为 NyaTerm JSON 文件。导出文件可用于:

  • 在另一台设备上通过 导入快捷命令 合并
  • 作为团队模板分发
  • 在做大规模分类整理前留一份可回退副本

导出不会包含终端历史或其他应用设置;它只覆盖快捷命令和分类数据。

导入快捷命令

在快捷命令面板右上角点击 导入快捷命令,可以从外部文件批量导入。导入会按命令 ID 合并覆盖,不会清空现有快捷命令。

从 WindTerm 导入

WindTerm 的快捷命令文件通常位于:

~/.wind/profiles/default.v10/terminal/quickbar.config

在 Windows 上可以在用户目录下找到对应路径:

C:\Users\<用户名>\.wind\profiles\default.v10\terminal\quickbar.config

选择 WindTerm Quickbar 后,选中这个 quickbar.config 文件即可导入。NyaTerm 会读取 quick.label、quick.text、quick.group 和 quick.uuid 等字段,并把 WindTerm 的 Send Text 类型导入为 追加到输入行,避免点击后立即执行脚本。

从 JSON 文件导入

选择 NyaTerm JSON 后,可以导入下面这种 JSON 文件:

{
  "categories": [
    {
      "id": "general",
      "name": "General"
    },
    {
      "id": "k8s",
      "name": "Kubernetes"
    }
  ],
  "commands": [
    {
      "id": "cmd-list-files",
      "label": "List files",
      "command": "ls -la",
      "category_id": "general",
      "description": "List files with details",
      "color_tag": "blue",
      "icon_tag": "terminal",
      "pinned": true,
      "execution_mode": "execute",
      "source": "manual",
      "risk_level": "low"
    },
    {
      "label": "Kubernetes pods",
      "command": "kubectl get pods -A",
      "category": "Kubernetes",
      "execution_mode": "append",
      "risk_level": "low"
    }
  ]
}

说明:

  • categories 可以省略;使用 category 名称时,分类不存在会自动创建
  • id 可以省略;省略后会自动生成
  • execution_mode 支持 execute 或 append
  • source 支持 manual 或 ai
  • risk_level 支持 low、medium、high、critical

与工作区配合的使用方式

快捷命令并不绑定某一类会话。只要当前终端可接收输入,你就可以把命令发送到:

  • SSH 会话
  • 本地终端
  • 某些需要批量发指令的串口场景

常见搭配方式:

  • 左边看日志,右边通过快捷命令触发诊断脚本
  • 远程 SSH 执行部署命令,本地终端同时做构建或 Git 操作
  • 把变量化命令做成团队共享模板,减少人工拼写错误
  • 将 AI Assistant 生成并通过审批的命令保存为快捷命令,后续按固定模板复用