TUI 参考指南

October 10, 2025 · View on GitHub

GhostScope TUI 界面由三个面板组成,每个面板具有不同的功能。本指南专注于键盘快捷键和面板操作。

快速参考

  • 全局快捷键:适用于所有面板
  • 面板 1:源代码面板 - 导航和设置追踪点
  • 面板 2:eBPF 输出面板 - 查看实时追踪输出
  • 面板 3:命令交互面板 - 执行命令和编辑脚本

全局快捷键

重要提示:这些快捷键仅在命令交互面板处于命令模式时生效(输入模式和脚本模式下不可用)。

快捷键功能说明
Tab切换面板向前循环:源代码 → eBPF → 命令交互
Shift+Tab反向切换反向循环切换面板
Ctrl+W + h/j/k/lVim 导航跳转到左/下/上/右面板
Ctrl+W + zF1全屏切换当前面板全屏或恢复
Ctrl+W + vF2切换布局切换面板布局排列
Ctrl+C(两次)退出按两次退出 GhostScope

Ctrl+C 行为

  • 第一次按下
    • 脚本模式:取消脚本编辑
    • 其他模式:显示"再按一次 Ctrl+C 退出"
  • 第二次按下:退出程序

窗口导航模式

按下 Ctrl+W,然后:

  • h:跳转到左侧面板
  • j:跳转到底部面板
  • k:跳转到顶部面板
  • l:跳转到右侧面板
  • v:切换布局
  • z:全屏切换

面板 1:源代码面板

显示源代码和追踪点管理。有三种模式:正常模式文本搜索文件搜索

模式:正常模式

基本导航

快捷键功能
h/j/k/lVim 导航(左/下/上/右)
↑/↓/←/→方向键导航
Ctrl+U向上滚动 10 行(半页)
Ctrl+D向下滚动 10 行(半页)
PgUp/PgDn整页滚动
gg跳到文件开头
G跳到文件结尾
[数字]G跳到指定行(输入数字后按 G

Vim 风格单词移动

快捷键功能
w下一个单词开头
b上一个单词开头
^行首(第一个非空白字符)
$行尾

模式切换

快捷键功能
/进入文本搜索模式
o进入文件搜索模式
Space在当前行设置追踪点 → 进入脚本模式

模式:文本搜索

在当前文件中搜索文本。

快捷键功能
[字符]输入构建搜索查询
n下一个匹配
N上一个匹配
EscCtrl+C退出到正常模式

模式:文件搜索

搜索并在源文件之间快速切换。文件列表来自 DWARF 调试信息中的所有源文件。

搜索与过滤

快捷键功能
[字符]输入过滤文件列表(实时过滤)
Backspace从搜索查询中删除字符
Ctrl+U清除整个搜索查询
Ctrl+W删除前一个单词

说明

  • 搜索是子串匹配,输入任意部分都可以匹配(如 nginx 匹配 /path/to/nginx.c
  • 支持路径搜索(如 core/nginx 匹配 src/core/nginx.c
  • 实时过滤:输入时文件列表立即更新
  • 最多显示 10 个匹配结果

导航与选择

快捷键功能
Ctrl+N选择下一个文件
Ctrl+P选择上一个文件
Enter打开选中的文件
EscCtrl+C取消并返回正常模式

光标控制

快捷键功能
Ctrl+A光标移到搜索输入开头
Ctrl+E光标移到搜索输入结尾
Ctrl+B光标左移一个字符
Ctrl+F光标右移一个字符

提示

  • 文件列表与命令面板的文件补全共享缓存,修改 srcpath 映射后会自动更新
  • 如果文件路径无法找到,使用 srcpath map 命令配置路径映射(参见 input-commands.md

面板 2:eBPF 输出面板

以“卡片”形式显示实时追踪事件。有两种显示模式:自动刷新(默认)和 滚动(手动导航)。

卡片展示与展开视图

  • 列表视图下每条事件以卡片展示,正文最多 3 行;若被截断,第 3 行末尾显示粗体黄色 省略号。
  • 在卡片上按 Enter 进入展开视图;展开视图中使用 j/k/↑/↓ 滚动,Ctrl+U/D 半页,PgUp/PgDn 整页;按 EscCtrl+C 关闭返回列表。

基本导航

快捷键功能
j向下滚动(进入滚动模式)
k向上滚动(进入滚动模式)
h向左滚动
l向右滚动
Ctrl+D向下半页
Ctrl+U向上半页
PgUp/PgDn整页滚动
ggg跳到最早的追踪(顶部)
G跳到最新的追踪(底部,返回自动刷新模式)
[数字]G跳到指定行(输入数字后按 G

显示模式

  • 自动刷新模式(默认):自动显示最新追踪,自动滚动
  • 滚动模式:按 jk 或其他导航键进入;允许手动浏览追踪历史

面板 3:命令交互面板

支持三种交互模式:输入模式命令模式脚本模式

模式概览

模式用途进入退出
输入模式执行命令i(从命令模式)Escjk
命令模式浏览命令历史Escjk(从输入模式)i
脚本模式编辑追踪脚本trace 命令后Ctrl+S(提交)或 Ctrl+C(取消)

模式:输入模式

执行命令并使用命令补全。详细命令参考见 输入模式命令

输入和编辑

快捷键功能
[字符]输入字符
BackspaceCtrl+H删除光标前的字符
Ctrl+W删除前一个单词
Ctrl+U删除到行首
Ctrl+K删除到行尾
Enter执行命令

光标移动

快捷键功能
Ctrl+B光标左移
Ctrl+F光标右移
Ctrl+A移到行首
Ctrl+E移到行尾

命令补全和建议

快捷键功能
Tab自动补全命令或文件名
Ctrl+E接受自动建议(灰色文本)

历史导航

快捷键功能
Ctrl+P上一条命令
Ctrl+N下一条命令
Ctrl+R开始历史搜索模式

历史搜索子模式

按下 Ctrl+R 后:

快捷键功能
[字符]输入搜索历史
Backspace从搜索查询中删除字符
Ctrl+R下一个匹配的命令
Enter执行匹配的命令
Esc使用匹配的命令作为输入(退出搜索)
Ctrl+C取消并清空输入

模式切换

快捷键功能
Escjk进入命令模式(jk 需在 150ms 内按下)

模式:命令模式

使用 Vim 风格导航浏览命令历史。

导航

快捷键功能
h/j/k/l在历史中向左/下/上/右导航
Ctrl+U向上半页
Ctrl+D向下半页
ggg跳到历史顶部
G跳到历史底部

模式切换

快捷键功能
i返回输入模式

模式:脚本模式

在执行 trace 命令后编辑追踪脚本,支持语法高亮。

特性:

  • GhostScope 脚本语言的实时语法高亮
  • 行号显示,当前行高亮
  • 多行编辑支持
  • 按目标自动缓存脚本(重新进入时恢复)

文本编辑

快捷键功能
[字符]输入字符
BackspaceCtrl+H删除光标前的字符
Ctrl+W删除前一个单词
Ctrl+U删除到行首
Ctrl+K删除到行尾
Enter插入新行
Tab插入 4 个空格(缩进)

光标移动

快捷键功能
Ctrl+B光标左移
Ctrl+F光标右移
Ctrl+P移到上一行
Ctrl+N移到下一行
Ctrl+A移到行首
Ctrl+E移到行尾

脚本控制

快捷键功能
Ctrl+S提交脚本(编译和加载)
Ctrl+CEsc取消脚本编辑并返回输入模式

使用技巧

  1. 快速追踪:在源代码面板按 Space 是设置追踪点的最快方式
  2. Vim 导航:掌握 h/j/k/l 键可大幅提升效率
  3. 命令补全:频繁使用 Tab 减少输入
  4. 历史搜索:在输入模式按 Ctrl+R 进行反向历史搜索
  5. 全屏专注:需要专注时使用 Ctrl+W z 全屏显示面板

相关文档