【免费下载链接】ghuiA GitHub TUI项目地址https://gitcode.com/gh_mirrors/gh/ghui点击查看免费下载还在在终端和浏览器之间来回跳只为看一眼某个 Pull Request 的 diff 或 CI 结果吗ghui 是一个面向终端的 GitHub TUITerminal UI让你在一块键盘驱动的画面里完成 PR 评审、diff 审阅、评论、合并等操作。而真正让它上头的是两个被很多人忽略的高级技巧按e键直接把当前 PR 交给你的编辑器Neovim、VS Code 等按a键在终端内追踪该 PR 的 GitHub Actions 运行。掌握这两个快捷键就能彻底告别频繁切屏。一、为什么需要不切屏的 GitHub 工作流传统流程是终端里跑gh pr list看到感兴趣的 PR切到浏览器看 diff再切回终端跑测试然后切到 IDE 写代码……屏幕切来切去上下文反复中断。ghui 把所有 PR 收拢到一块可键盘导航的画面里列表、详情、diff、评论、合并都在原地完成。而下面两个技巧把终端 ↔ 编辑器和终端 ↔ 浏览器这两条最常跨的边界也打通了。二、e键打开编辑器一键把 PR 交给 Neovim / VS Code在 PR 列表、详情或 diff 视图里光标停在某个 PR 上时按eghui 会暂停 TUI释放 raw mode / alt-screen在你的真实终端里运行你配置的命令交互式编辑器可以直接接管终端命令退出后自动恢复 TUI 并重绘。整个过程类似git commit调用$EDITOR的体验无论是否使用 tmux 都能工作。配置editorCommand与repoPaths编辑器和仓库路径映射写在config.jsonLinux 下通常是~/.config/ghui/config.json。editorCommand一条 shell 命令模板repoPaths把owner/repo映射到本地克隆目录。匹配顺序精确匹配owner/repo→owner 通配符owner/**替换为仓库名→通用模板:owner/:repo。路径中的~会展开为家目录。{ editorCommand: tmux new-window -c {{repoPath}} gh pr checkout {{number}} nvim -c \:DiffviewOpen {{baseRef}}...{{headRef}}\, repoPaths: { kitlangton/ghui: ~/code/ghui, kitlangton/*: ~/code/repos/kitlangton/*, :owner/:repo: ~/src/github.com/:owner/:repo } }常用命令模板模板支持这些占位符{{repo}}、{{owner}}、{{name}}、{{number}}、{{headRef}}PR 头部分支、{{baseRef}}基础分支、{{author}}、{{url}}、{{repoPath}}解析出的本地路径。// diffview.nvim检出分支并与 base 做 diff editorCommand: tmux new-window -c {{repoPath}} gh pr checkout {{number}} nvim -c \:DiffviewOpen {{baseRef}}...{{headRef}}\ // octo.nvim走 GitHub API 评审无需 checkout editorCommand: tmux new-window -c {{repoPath}} nvim -c \:silent Octo pr edit {{number}}\ // VS Code直接打开本地仓库 editorCommand: code {{repoPath}}如果没配editorCommandghui 会回退到$VISUAL/$EDITOR打开解析出的仓库路径若模板里用了{{repoPath}}却没匹配到repoPaths会给出清晰报错而不是静默失败。这套逻辑集中在纯函数模块 src/editorCommand.ts负责repoPaths解析与模板替换实际的暂停 TUI → 运行命令 → 恢复由 src/services/EditorOpener.ts 和 src/tuiSuspension.ts 协作完成——即使命令失败也会保证终端被恢复不会把界面搞坏。三、a键追踪 Actions 运行在终端里定位 CI 失败PR 的检查checks红了一片却看不到为什么红在 PR 列表或详情上按aghui 会打开一个与 diff 视图平级的全屏 Runs 视图范围锁定在该 PR 的 head commit 上Runs 列表每次 workflow 运行一行展示状态、结论、耗时、距今时间进入运行详情enter打开某个 run看到它的 jobs 和 steps失败的 step 内联展开日志尾部快速定位失败n/p在失败项之间跳转enter展开 step 完整日志o在浏览器打开该 runr刷新esc逐级退回。它和 diff 视图是同级别的页面模式底层由 src/keymap/runsView.ts 定义按键、src/ui/runs/RunsPane.tsx 与 src/ui/runs/runsRows.ts 负责渲染命令入口定义在 src/commands/builtins.ts 的runs.open。与 ghui 其他部分一样它依赖ghCLI无需额外配置。小提示a在 PR 上下文中是打开 Actions runs在评论上下文里a表示新建评论注意区分当前所在视图。四、其他值得记住的快捷键清单按键作用j/k或↑/↓上下移动选择gg/G跳到第一个 / 最后一个 PRenter展开详情详情展开后其余动作仍可用d查看所有改动文件的堆叠 diffe在当前编辑器中打开该 PRa查看该 PR 的 GitHub Actions 运行shift-r评审或批准所选 PRs切换 draft / 待评审状态m合并o在浏览器打开 PRr刷新esc从展开详情 / diff / 弹窗中返回五、小结e键把看 diff / 写代码这件事留在编辑器里ghui 负责暂停与恢复你不用切屏a键把为什么 CI 红了这件事留在终端里从 run 一路钻到失败 step 的日志两者都在同一块可键盘驱动的画面内完成配合enter、d、shift-r、m等按键评审一个 PR 几乎不用离开键盘和终端。装上 ghui 后把editorCommand和repoPaths配好e与a这两个高级技巧就会成为你每天最顺手的习惯。赞分享【免费下载链接】ghuiA GitHub TUI项目地址https://gitcode.com/gh_mirrors/gh/ghui点击查看免费下载相关推荐Sloth SLO 快速入门从零开始构建服务级别目标监控Sloth SLO 快速入门从零开始构建服务级别目标监控 Sloth 是一款基于 Prometheus 的 SLO服务级别目标生成工具它能帮助开发者轻松运维云原生后端掌握PSReadLine多行编辑告别单行限制的7个实用技巧掌握PSReadLine多行编辑告别单行限制的7个实用技巧 PowerShell是Windows系统管理员和开发者的强大工具但默认的命令行编辑体验往往受限于开发工具Mac窗口管理神器Topit彻底告别频繁切换的烦恼Mac窗口管理神器Topit彻底告别频繁切换的烦恼 还在为Mac上多个窗口来回切换而头疼吗Topit作为一款专业的窗口置顶工具能够将任意应用窗口固定在屏幕桌面应用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考