# 终端功能 本页覆盖终端的基础操作、命令历史与建议、可选增强项、SSH 辅助能力和会话录制。 ## 基础操作 ### 搜索、复制与右键菜单 终端右键菜单可直接执行这些高频操作: - 复制 / 粘贴 - 粘贴选中的文本 - 查找文本 - 在线搜索选中文本 - 按 provider 翻译选中文本 - 交给 AI Assistant 解释或分析 - 清屏 / 全部清除 - 全选 在 **设置 → 交互** 中,你还可以调整: - **选中即复制** - **右键粘贴** - 单词分隔符 - 默认字符编码 ### 回滚缓冲区、字体与缩放 - 回滚缓冲区默认保留 **5000 行** 输出,可调范围 **100 到 100000 行** - 可自定义字体族、字号、普通字重、粗体字重、光标样式与闪烁 - 可通过菜单或快捷键放大、缩小、重置终端缩放;终端根节点会协调缩放,避免嵌套工作区重复处理 - **硬件加速**默认开启,排查渲染或驱动问题时可在 **设置 → 终端** 中关闭 ### 粘贴与输入兼容 - **多行粘贴提示** 默认开启。粘贴多行文本时先弹出处理窗口,可选择直接粘贴、按行发送或取消 - 终端可以按设置处理图片路径粘贴,把截图或本地图片路径快速带入命令行工具 - **允许 OSC 52 写入剪贴板** 控制远程应用能否通过终端输出写入本机剪贴板。它让远端的 tmux、vim 等工具可以直接复制到本地,代价是远端进程获得了写本机剪贴板的能力 - 终端默认支持系统原生输入法的组合文本与提交,无需开启兼容选项 - macOS 下如需让 `Option+f` 这类组合发送 `ESC` + 按键而不是输入 `ƒ`,在 **设置 → 交互** 中开启 **将 Option 作为 Meta/Alt 键** - 在 vim、less、top 等交互式程序中,NyaTerm 会抑制命令建议,避免历史建议覆盖程序自己的输入体验 ## 命令历史与建议 NyaTerm 会为会话工作流提供两类辅助: ### 命令历史 - 自动记录终端输入过的命令 - 支持模糊检索 - 可从右侧的 **命令历史** 面板回看历史输入 - 搜索栏会保留近期查询,便于重复查找同一类日志或错误 ### 终端查找 `Ctrl / Cmd + Shift + F` 会打开终端查找框。查找框支持: - 上一个 / 下一个结果跳转 - 当前结果与总结果数提示 - 无结果、搜索中和正则错误反馈 - 重复使用近期查询,不必每次重新输入完整关键词 ### 输入建议 输入时会基于历史命令给出建议。 历史里如果有很多超长命令、一次性脚本或噪音条目,可以在 **设置 → 交互** 中过滤: - 是否启用命令建议 - 建议参与匹配的**最小历史命令长度** - 建议参与匹配的**最大历史命令长度** 需要注意: - 这两个长度过滤只影响**历史命令建议** - 它们不会影响右侧命令历史面板中的已有记录 - 它们也不会影响**快捷命令**本身的可用性 ## 从终端唤起 AI 终端右键菜单提供这些 AI 入口,都会自动带上当前会话的上下文: - **生成命令** — 描述目标,由 AI 生成命令卡片 - **解释最近输出** — 把当前会话最近的终端输出发给 AI,不必手动复制日志 - **解释选中内容** — 解释选中的日志、报错或片段 - **分析错误** — 把错误上下文交给 AI 生成修复建议 - **修复选中内容** — 从选中报错推导下一步命令 Agent 模式执行命令时,输出摘要会以内联片段显示在终端附近,行数由 **设置 → AI → Agent Settings** 的 `Terminal Output Lines` 控制,设为 `0` 关闭。 模式、命令卡片、风险控制、provider 与模型配置见 [AI 助手](./ai-assistant)。 ## 命令风险评估 手动输入命令时也会走同一套风险评估。命中规则后弹出提示,显示风险等级、命中原因和更安全的替代命令,你可以继续执行或改用替代命令。 需要在 **设置 → AI** 中开启 **命令风险检查**。四档分类和判定依据见 [AI 助手 → 风险等级怎么定](./ai-assistant#风险等级怎么定)。 ## 可选终端增强项 以下能力默认全部关闭,按需开启。 ### 行号与时间戳 gutter 在 **设置 → 终端** 中可分别开启: - **显示行号** - **显示时间戳** 开启后,终端左侧会出现 gutter,用于辅助阅读长日志、命令输出或回放录制内容。 ### 动作链接 动作链接默认关闭,开启后可识别并点击常见文本模式,包括: - IPv4 地址,例如 `192.168.1.10` - `host:port`,例如 `db.internal:5432` - 压缩包文件名,例如 `backup.tar.gz` 注意: - 需要先在 **设置 → 终端** 中开启 **动作链接** - 打开链接时需要使用 **Ctrl / Cmd + 点击**,避免和普通选中操作冲突 - 三类 matcher 可以分别启用或关闭 ### 终端行斑马纹 **终端行斑马纹** 默认开启。开启后高亮 shell 输入区域和鼠标点击的目标行,便于在密集输出里定位当前输入位置。 开启后可使用 **按行显示** 子开关(默认关闭),让输入和输出按屏幕显示行交替显示浅底色,替代输入区域底色。长文本自动换行后,每条显示行分别交替;关闭自动换行时,每条完整行交替。鼠标点击的目标行仍优先高亮。关闭主开关会保留子开关选择。 ### 低延迟模式 **低延迟模式** 默认关闭。开启后临时跳过命令建议、关键词高亮和动作链接的富化处理,把终端输入和滚动保持在最短路径上。用于高吞吐输出或远端延迟较高的场景,代价是本页其他增强项在开启期间不生效。 ### 关键词高亮 关键词高亮同样默认关闭。启用后,NyaTerm 会先应用内置规则,再叠加你的自定义规则。 内置规则覆盖的内容不只限于错误关键字,还包括: - error / warn / success / info / debug 等常见状态词 - 日期时间 - 数字、大小、持续时间 - 地址、URL、UUID、版本号等结构化文本 - 提示符(`$` / `#`) 你也可以自定义规则: - 自定义规则名称 - 分别设置深色 / 浅色主题颜色 - 每行填写一个匹配模式 - 可选择是否跨折行继续匹配 #### 导入自定义高亮规则 在 **设置 → 终端 → 自定义规则** 中点击 **导入**,可以从 JSON 文件导入自定义高亮规则。 导入会和现有规则合并,不会清空已有列表: - 相同 `id` 的规则会被更新 - 不存在的 `id` 会追加为新规则 - `id` 为空时会自动生成 - `name` 为空或没有有效 `patterns` 的规则会被跳过 推荐的 JSON 结构如下,也兼容直接使用规则数组作为文件顶层: ```json { "keyword_highlights": [ { "id": "deploy-errors", "name": "Deploy Errors", "patterns": ["deploy failed", "rollback required", "fatal"], "color_dark": "#ff7b72", "color_light": "#cf222e", "enabled": true } ] } ``` ### 大输出保护 当某个会话输出量过大时,NyaTerm 会临时进入保护模式,优先保证终端可交互性。 在这个阶段,应用会暂时抑制部分高开销装饰能力,并提示已经跳过的排队字符数;待输出压力回落后再恢复正常显示。这个机制主要用于日志洪峰或持续刷屏的场景。 ### 大输出处理 终端输出会经过批量处理后再更新画面。在 `tail -f`、编译日志、压测输出等高吞吐场景下,这有助于保留输入响应、滚动和搜索体验;这是默认行为,不需要手动开启。 ## SSH 相关辅助能力 ### Keep-Alive 对 SSH 会话,可以在 **设置 → 终端** 中配置 Keep-Alive 间隔: - 默认值为 **30 秒**,可调范围 **0 到 600 秒** - 设为 `0` 表示关闭 - 用于降低长时间空闲连接被远端回收的概率 同一分组下还有 **Keep-alive 模式**,可选 **禁用**、**兼容** 和 **严格**。当前 SSH 运行时对 **严格** 使用与 **兼容** 相同的传输行为,该选项只保留配置意图。 ### 远程主机监控 SSH 会话可以在右侧打开五个监控面板:资源监控、NVIDIA GPU 监控、Ascend NPU 监控、进程管理和 Docker 管理。它们各自的开关、默认值、轮询间隔和具体能力见 [远程主机监控](./remote-monitoring)。 ## 翻译与在线搜索 在终端中选中文本后,你可以直接通过右键菜单: - 使用自定义搜索引擎做在线搜索 - 使用已启用的翻译 provider 打开翻译对话框 ### 搜索引擎 在 **设置 → 搜索** 中,你可以维护自定义搜索引擎列表,为它们设置: - 名称 - URL 模板(使用 `%s` 占位) - 图标 - 是否显示在搜索菜单中 ### 翻译 provider **Google** 和 **Microsoft** 开箱可用;**DeepL**、**百度**、**阿里** 和 **有道** 需要先在 **设置 → 翻译** 中填写凭据才会出现在菜单里。完整说明见 [翻译功能](./translation)。 ## 会话录制 `Ctrl / Cmd + Shift + R` 开始或停止录制当前会话,把终端输出写成日志文件。 录制文件默认保存到系统下载目录,也可以在 **设置 → 传输** 中为录制单独指定 **录制保存路径**,把留档文件和普通下载分开。 同一分组下还有两个录制选项: - **自动开始录制** — 会话一打开就录制,不必手动触发 - **包含时间戳** — 在录制文稿中写入时间戳,便于把输出对应到实际时间 录制选项也可以配置在单个连接的表单里,把「生产堡垒机总是录制」这类策略绑定到连接本身,而不是每次打开会话后手动切换。