跳转到内容

终端搜索

OxideTerm 提供两种搜索模式来查找终端会话中的内容 — 一种用于当前视窗,另一种用于完整会话历史。

模式搜索范围速度适用场景
Visible Buffer当前视窗 + xterm.js 滚动缓冲区实时 (< 5 ms)快速查找最近输出
Deep History完整会话历史(最多 100,000 行)异步 (50–100 ms)搜索大量命令历史

快捷键

  • macOS: ⌘F
  • Windows: Ctrl+Shift+F
  • Linux: Ctrl+F

或右键终端 → 搜索

┌──────────────────────────────────────────────────────┐
│ [Visible Buffer] [Deep History] [×] │
├──────────────────────────────────────────────────────┤
│ 🔍 Search terminal output... 2/15 [↑] [↓] │
├──────────────────────────────────────────────────────┤
│ □ Aa (大小写) □ .* (正则) □ Word (整词) │
└──────────────────────────────────────────────────────┘
组件功能
模式标签切换 Visible Buffer 和 Deep History
搜索输入输入搜索词
匹配计数显示当前位置/总匹配数(如 2/15
导航按钮 上一个, 下一个匹配
选项大小写敏感、正则表达式、整词匹配

使用 xterm.js 原生 SearchAddon 搜索当前可见的终端内容。

  • 实时高亮 — 输入即搜索(150ms 防抖)
  • 黄色高亮 — 匹配文本以黄色背景显示
  • 橙色高亮 — 当前选中匹配以橙色背景显示
  • 极速 — 毫秒级响应,无后端往返
操作快捷键
下一个匹配Enter 或点击
上一个匹配Shift+Enter 或点击
关闭搜索Esc

Visible Buffer 搜索上限为 1,000 个匹配(性能保护)。如果显示 1000+ matches,请细化搜索词。

搜索存储在后端滚动缓冲区的完整会话历史 — 默认 30,000 行,可在设置中配置至 100,000 行。

  • 异步执行 — 通过 spawn_blocking 运行,保持 UI 响应
  • 结果列表 — 显示所有匹配项的行号和内容
  • 点击跳转 — 点击任意结果滚动到对应位置
  • Rust Regex 驱动 — 大缓冲区上的高性能模式匹配
┌──────────────────────────────────────────────────────┐
│ 15 matches (45ms) │
├──────────────────────────────────────────────────────┤
│ Line 1234 │
│ npm install react-dom │
├──────────────────────────────────────────────────────┤
│ Line 2456 │
│ npm install success — installed 23 packages │
├──────────────────────────────────────────────────────┤
│ ... │
└──────────────────────────────────────────────────────┘

Deep History 显示前 100 个匹配。如有更多,底部提示总数(如 Showing first 100 of 456 matches)。

状态行为
关闭(默认)error 匹配 errorErrorERROR
开启error 仅匹配 error
状态行为
关闭(默认)file.txt 精确匹配 — . 被转义
开启file.txt 也匹配 fileXtxt. 匹配任意字符
状态行为
关闭(默认)test 匹配 testtestingcontest
开启test 仅匹配独立单词 test

单词边界包括空格、标点和行首/行尾。

模式说明示例
^xxx行首匹配^Error: 匹配以 Error: 开头的行
xxx$行尾匹配success$ 匹配以 success 结尾的行
a|b或运算ERROR|FATAL 匹配任一词
\d+数字port \d+ 匹配 port 3000port 8080
\w+单词字符user_\w+ 匹配 user_adminuser_123
.*任意字符start.*end 匹配 startend 之间的内容
  1. 切换到 Deep History
  2. 启用 Regex
  3. 搜索: ^(ERROR|FATAL):
  4. 点击结果跳转到对应位置
  1. 留在 Visible Buffer
  2. 搜索: git commit
  3. Shift+Enter 向上导航
  1. 切换到 Deep History
  2. 启用 Regex
  3. 搜索: \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
  4. 浏览结果列表
  1. 留在 Visible Buffer
  2. 启用 Regex
  3. 搜索: port \d+
指标数值
响应时间< 5 ms
最大匹配数1,000
搜索范围视窗 + xterm.js 滚动缓冲区
指标数值
搜索速度50–100 ms(100K 行)
搜索引擎Rust Regex
执行方式异步 (spawn_blocking)
默认历史30,000 行(可配置至 100,000)

组合选项 — 同时启用 Regex + 大小写敏感 + 整词匹配。例如 \bError\b 仅匹配独立的大写 “Error”。

否定前瞻 — 使用 ^(?!.*DEBUG).*ERROR 查找包含 ERROR 但不包含 DEBUG 的行。

锚定搜索 — 添加 ^$ 减少误匹配并提升性能。

操作macOSWindows / Linux
打开搜索⌘ FCtrl+Shift+F (Win) / Ctrl+F (Lin)
关闭搜索EscEsc
下一个匹配EnterEnter
上一个匹配Shift+EnterShift+Enter

无结果但内容确实存在? 关闭大小写敏感。如果内容已滚出视窗,切换到 Deep History。启用正则时检查语法 — 搜索栏底部会显示错误信息。

Deep History 搜索慢? 简化正则模式。添加更具体的搜索词。超大历史(100K+ 行)配合复杂模式会更耗时。

Visible Buffer 中显示 “1000+ matches”? 细化搜索词。使用整词匹配或添加锚点(^$)减少匹配数量。