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