GhostScope TUI 界面由三个面板组成,每个面板具有不同的功能。本指南专注于键盘快捷键和面板操作。
快速参考
- 全局快捷键:适用于所有面板
- 面板 1:源代码面板 - 导航和设置追踪点
- 面板 2:eBPF 输出面板 - 查看实时追踪输出
- 面板 3:命令交互面板 - 执行命令和编辑脚本
全局快捷键
重要提示:这些快捷键仅在命令交互面板处于命令模式时生效(输入模式和脚本模式下不可用)。
| 快捷键 | 功能 | 说明 |
|---|
Tab | 切换面板 | 向前循环:源代码 → eBPF → 命令交互 |
Shift+Tab | 反向切换 | 反向循环切换面板 |
Ctrl+W + h/j/k/l | Vim 导航 | 跳转到左/下/上/右面板 |
Ctrl+W + z 或 F1 | 全屏切换 | 当前面板全屏或恢复 |
Ctrl+W + v 或 F2 | 切换布局 | 切换面板布局排列 |
Ctrl+C(两次) | 退出 | 按两次退出 GhostScope |
- 第一次按下:
- 脚本模式:取消脚本编辑
- 其他模式:显示"再按一次 Ctrl+C 退出"
- 第二次按下:退出程序
窗口导航模式
按下 Ctrl+W,然后:
h:跳转到左侧面板
j:跳转到底部面板
k:跳转到顶部面板
l:跳转到右侧面板
v:切换布局
z:全屏切换
显示源代码和追踪点管理。有三种模式:正常模式、文本搜索 和 文件搜索。
模式:正常模式
基本导航
| 快捷键 | 功能 |
|---|
h/j/k/l | Vim 导航(左/下/上/右) |
↑/↓/←/→ | 方向键导航 |
Ctrl+U | 向上滚动 10 行(半页) |
Ctrl+D | 向下滚动 10 行(半页) |
PgUp/PgDn | 整页滚动 |
gg | 跳到文件开头 |
G | 跳到文件结尾 |
[数字]G | 跳到指定行(输入数字后按 G) |
| 快捷键 | 功能 |
|---|
w | 下一个单词开头 |
b | 上一个单词开头 |
^ | 行首(第一个非空白字符) |
$ | 行尾 |
模式切换
| 快捷键 | 功能 |
|---|
/ | 进入文本搜索模式 |
o | 进入文件搜索模式 |
Space | 在当前行设置追踪点 → 进入脚本模式 |
模式:文本搜索
在当前文件中搜索文本。
| 快捷键 | 功能 |
|---|
[字符] | 输入构建搜索查询 |
n | 下一个匹配 |
N | 上一个匹配 |
Esc 或 Ctrl+C | 退出到正常模式 |
模式:文件搜索
搜索并在源文件之间快速切换。文件列表来自 DWARF 调试信息中的所有源文件。
搜索与过滤
| 快捷键 | 功能 |
|---|
[字符] | 输入过滤文件列表(实时过滤) |
Backspace | 从搜索查询中删除字符 |
Ctrl+U | 清除整个搜索查询 |
Ctrl+W | 删除前一个单词 |
说明:
- 搜索是子串匹配,输入任意部分都可以匹配(如
nginx 匹配 /path/to/nginx.c)
- 支持路径搜索(如
core/nginx 匹配 src/core/nginx.c)
- 实时过滤:输入时文件列表立即更新
- 最多显示 10 个匹配结果
导航与选择
| 快捷键 | 功能 |
|---|
↓ 或 Ctrl+N | 选择下一个文件 |
↑ 或 Ctrl+P | 选择上一个文件 |
Enter | 打开选中的文件 |
Esc 或 Ctrl+C | 取消并返回正常模式 |
光标控制
| 快捷键 | 功能 |
|---|
Ctrl+A | 光标移到搜索输入开头 |
Ctrl+E | 光标移到搜索输入结尾 |
Ctrl+B 或 ← | 光标左移一个字符 |
Ctrl+F 或 → | 光标右移一个字符 |
提示:
- 文件列表与命令面板的文件补全共享缓存,修改
srcpath 映射后会自动更新
- 如果文件路径无法找到,使用
srcpath map 命令配置路径映射(参见 input-commands.md)
以“卡片”形式显示实时追踪事件。有两种显示模式:自动刷新(默认)和 滚动(手动导航)。
卡片展示与展开视图
- 列表视图下每条事件以卡片展示,正文最多 3 行;若被截断,第 3 行末尾显示粗体黄色
… 省略号。
- 在卡片上按
Enter 进入展开视图;展开视图中使用 j/k/↑/↓ 滚动,Ctrl+U/D 半页,PgUp/PgDn 整页;按 Esc 或 Ctrl+C 关闭返回列表。
基本导航
| 快捷键 | 功能 |
|---|
j 或 ↓ | 向下滚动(进入滚动模式) |
k 或 ↑ | 向上滚动(进入滚动模式) |
h 或 ← | 向左滚动 |
l 或 → | 向右滚动 |
Ctrl+D | 向下半页 |
Ctrl+U | 向上半页 |
PgUp/PgDn | 整页滚动 |
g 或 gg | 跳到最早的追踪(顶部) |
G | 跳到最新的追踪(底部,返回自动刷新模式) |
[数字]G | 跳到指定行(输入数字后按 G) |
显示模式
- 自动刷新模式(默认):自动显示最新追踪,自动滚动
- 滚动模式:按
j、k 或其他导航键进入;允许手动浏览追踪历史
支持三种交互模式:输入模式、命令模式 和 脚本模式。
模式概览
| 模式 | 用途 | 进入 | 退出 |
|---|
| 输入模式 | 执行命令 | i(从命令模式) | Esc 或 jk |
| 命令模式 | 浏览命令历史 | Esc 或 jk(从输入模式) | i |
| 脚本模式 | 编辑追踪脚本 | trace 命令后 | Ctrl+S(提交)或 Ctrl+C(取消) |
模式:输入模式
执行命令并使用命令补全。详细命令参考见 输入模式命令。
输入和编辑
| 快捷键 | 功能 |
|---|
[字符] | 输入字符 |
Backspace 或 Ctrl+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 | 取消并清空输入 |
模式切换
| 快捷键 | 功能 |
|---|
Esc 或 jk | 进入命令模式(jk 需在 150ms 内按下) |
模式:命令模式
使用 Vim 风格导航浏览命令历史。
导航
| 快捷键 | 功能 |
|---|
h/j/k/l | 在历史中向左/下/上/右导航 |
Ctrl+U | 向上半页 |
Ctrl+D | 向下半页 |
g 或 gg | 跳到历史顶部 |
G | 跳到历史底部 |
模式切换
模式:脚本模式
在执行 trace 命令后编辑追踪脚本,支持语法高亮。
特性:
- GhostScope 脚本语言的实时语法高亮
- 行号显示,当前行高亮
- 多行编辑支持
- 按目标自动缓存脚本(重新进入时恢复)
文本编辑
| 快捷键 | 功能 |
|---|
[字符] | 输入字符 |
Backspace 或 Ctrl+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+C 或 Esc | 取消脚本编辑并返回输入模式 |
使用技巧
- 快速追踪:在源代码面板按
Space 是设置追踪点的最快方式
- Vim 导航:掌握
h/j/k/l 键可大幅提升效率
- 命令补全:频繁使用
Tab 减少输入
- 历史搜索:在输入模式按
Ctrl+R 进行反向历史搜索
- 全屏专注:需要专注时使用
Ctrl+W z 全屏显示面板
相关文档