Github 备忘清单 === Github.com 上 80 个键盘快捷键和一些搜索技巧的备忘清单 键盘快捷键 -------- ### 站点范围的快捷方式 快捷键 | 说明 :- | - `S` | 聚焦搜索栏 `G` `N` | 转到您的通知 `H` | 打开并关注用户、问题或拉取请求悬浮卡 `Esc` | 当专注于上面时,关闭 hovercard ### 资料库 快捷键 | 说明 :- | - `G` `C` | 转到 `Code` 选项卡 `G` `I` | 转到 `Issues` 选项卡 `G` `P` | 转到拉取请求选项卡 `G` `B` | 转到 `Projects` 选项卡 `G` `W` | 转到 `Wiki` 选项卡 ### 源码浏览 快捷键 | 说明 :- | - `T` | 激活文件查找器 `L` | 跳转到代码中的一行 `W` | 切换到新的分支或标签 `Y` | 将 URL 扩展为其规范形式 `I` | 显示或隐藏对差异的评论 `B` | 打开责备视图 ### 源代码编辑 快捷键 | 说明 :- | - `Ctrl` `F` | 开始在文件编辑器中搜索 `Ctrl` `G` | 找下一个 `Ctrl` `Shift` `G` | 查找上一个 `Ctrl` `Shift` `F` | 代替 `Ctrl` `Shift` `R` | 全部替换 `Alt` `G` | 跳转到行 `Ctrl` `Z` | 撤消 `Ctrl` `Y` | 重做 ### 注释 快捷键 | 说明 :- | - `Ctrl` `B` | 为粗体文本插入 Markdown 格式 `Ctrl` `I` | 插入斜体文本的 Markdown 格式 `Ctrl` `K` | 插入 Markdown 格式以创建链接 `Ctrl` `Shift` `P` | 在编写和预览评论选项卡之间切换 `Ctrl` `Enter` | 提交评论 `Ctrl` `.` | 打开已保存的回复菜单,然后使用已保存的回复自动填充评论字段 `Ctrl` `G` | 插入一个建议 `R` | 在回复中引用所选文字 ### 项目板 快捷键 | 说明 :- | - `Enter/Space` | 开始移动焦点列 `Esc` | 取消正在进行的移动 `Enter` | 完成正在进行的移动 `Left/H` | 向左移动列 `Ctrl` `Left/H` | 将列移动到最左边的位置 `Right/L` | 向右移动列 `Ctrl` `Right/L` | 将列移动到最右边的位置 `Enter/Space` | 开始移动聚焦卡 `Esc` | 取消正在进行的移动 `Enter` | 完成正在进行的移动 `Down/J` | 向下移动卡片 `Ctrl` `Down/J` | 将卡片移动到列的底部 `Up/K` | 向上移动卡片 `Ctrl` `Up/K` | 将卡片移动到列的顶部 `Left/H` | 将卡片移动到左侧列的底部 `Shift` `Left/H` | 将卡片移动到左侧列的顶部 `Ctrl` `Left/H` | 将卡片移动到最左边一列的底部 `Ctrl` `Shift` `Left/H` | 将卡片移至最左侧列的顶部 `Right` | 将卡片移动到右侧列的底部 `Shift` `Right/L` | 将卡片移动到右侧列的顶部 `Ctrl` `Right/L` | 将卡片移动到最右侧列的底部 `Ctrl` `Shift` `Right/L` | 将卡片移至最右侧列的顶部 ### 问题和拉取请求列表 快捷键 | 说明 :- | - `C` | 创建问题 `Ctrl` `/` | 将光标聚焦在问题或拉取请求搜索栏上 `U` | 按作者过滤 `L` | 按标签过滤或编辑标签 `M` | 按里程碑过滤或编辑里程碑 `A` | 按受让人过滤或编辑受让人 `O` | 打开问题 ### 问题和拉取请求 快捷键 | 说明 :- | - `Q` | 请求审稿人 `M` | 设定一个里程碑 `L` | 应用标签 `A` | 设置受让人 ### 通知 快捷键 | 说明 :- | - `E/L/Y` | 标记为已读 `Shift` `M` | 静音线程 ### 拉取请求的变化 快捷键 | 说明 :- | - `C` | 打开拉取请求中的提交列表 `T` | 打开拉取请求中已更改文件的列表 `J` | 在列表中向下移动选择 `K` | 在列表中向上移动选择 `Ctrl` `Shift` `Enter` | 在拉取请求差异上添加单个评论 `Alt` `(click)` | 在拉取请求中折叠和展开所有过时的审阅评论之间切换 ### 网络图 快捷键 | 说明 :- | - `Left/H` | 向左滚动 `Right/L` | 向右滚动 `Up/K` | 向上滑动 `Down/J` | 向下滚动 `Shift` `Left/H` | 一直向左滚动 `Shift` `Right/L` | 一直向右滚动 `Shift` `Up/K` | 一直向上滚动 `Shift` `Down/J` | 一直向下滚动 搜索技巧 --- ### 范围搜索 :-- | -- :-- | -- `org:rails language:ruby` | 指定组织 `rails` 和编程语言 `ruby` `repo:torvalds/linux io_uring` | 指定仓库 `torvalds/linux` 搜索 `io_uring` `owner:tpope path:*.vim` | 指定拥有者 `tpope` 和文件后缀为 `*.vim` `created:"> 2022-10-22" language:C#` | 创建于 `2022-10-22` 以后,语言为 `C#` 的条件 ### 文件路径 :-- | -- :-- | -- `path:__init__.py` | 文件为 `__init__.py` 里面的内容搜索 `path:/.*shrc$/` | 文件路径包含 `.*shrc` 结尾的文件中搜索内容 `path:/src/*.js` | `src` 目录中的 `.js` 后缀的文件中搜索内容 `path:/(^\|\/)README\.md$/` | 使用正则,仅匹配特定文件名(而不是路径的一部分) ### 完全符合 :-- | -- :-- | -- `out of memory` | 文本匹配 `out of memory` ### 布尔运算符 :-- | -- :-- | -- `io_uring (language:c OR language:cpp)` | 语言为 `c` 或者 `cpp` 的文件中搜索 `io_uring` `org:kubernetes NOT repo:kubernetes/api` | 组织为 `kubernetes` 排除里面的 `api` 仓库进行搜索 ### 基于仓库的条件 :-- | -- :-- | -- `stars:100..8000 stars:>10000` | 星星为 100 ~ 800010000 以上的 `forks:50..100 forks:200 forks:<5` | fork 为 50 ~ 100 或者 200 或者小于 5 `size:35` | 大小为 `35kb` `pushed:<2022-11-23` | 推送代码时间 2022-11-23 之前 `fork:true`, `fork:only` | `license:mit` | 基于协议 `mit` 条件 ### 基于 issue 的条件 :-- | -- :-- | -- `state:open`, `state:closed` | `关闭` / `打开` 的 `issue` `reason:completed` | `"not planned"`, `reopened`, `completed` `label:bug` | 标签为 `bug` 的条件 `author:jaywcjlove` | 作者 `jaywcjlove` 打开 `mentions:jaywcjlove` | 提及 `jaywcjlove` 用户 `assignee:jaywcjlove` | 分配给 `jaywcjlove` 用户 `updated:<2022-11-23` | 更新日期之前 ### 基于用户的条件 :-- | -- :-- | -- `fullname:jaywcjlove` | 全名 jaywcjlove `location:China` | 位置 China `followers:20..50 followers:>200 followers:<2` | 追随者 `repos:0 repos:<40 repos:>5` | 仓库数量 ### Symbol 限定符 搜索 `go` 语言中的 `WithContext` 符号 ``` language:go symbol:WithContext ``` 查询将查找在 `Rust` 中实现的 `String` 类型转换: ``` language:rust symbol:/^String::to_.*/ ``` ### 使用布尔运算 查询将匹配包含 `sparse` 或 `index` 的文档 ```js sparse OR index ``` 排除 `__testing__` 目录中的文件,您可以搜索: ```js "fatal error" NOT path:__testing__ ``` 您可以使用括号来表达更复杂的布尔表达式 ```js (language:ruby OR language:python) AND NOT path:"/tests/" ``` 使用运算符 `AND`、`OR` 和 `NOT` 来组合搜索词 ### is 限定符 - `archived`: 限制搜索`已存档`的版本库 - `fork`: 限制搜索已`分叉`的版本库 - `vendored`: 限制搜索被检测为 vendored 的内容 - `generated`: 限制搜索检测为`已生成`的内容 示例 :-- | -- :-- | -- `path:/^MIT.txt$/ is:archived` | 已归档存储库,中包含名为 MIT.txt 的文件 `log4j NOT is:archived` | 限定符 is: 可以与 NOT 运算符反转 `log4j NOT is:fork` | 从结果中排除分叉 另见 ----- - [Keyboard shortcuts for Github](https://help.github.com/articles/using-keyboard-shortcuts/) _(help.github.com)_