# 38. 从 Windows 过度到 Mac 必备快捷键对照表（新用户必看）

## Mac 键盘符号

| 图标   | 介绍                 |
| ---- | ------------------ |
| ⌘    | Command            |
| ⇧    | Shift              |
| ⇪    | Caps Lock          |
| ⌥    | Option = Alt       |
| ⌃    | Control            |
| ↩    | Enter              |
| ⌫    | Delete             |
| ⌦    | Fn + Delete        |
| ↑    | 上箭头                |
| ↓    | 下箭头                |
| ←    | 左箭头                |
| →    | 右箭头                |
| ⇞    | Fn + ↑ = Page Up   |
| ⇟    | Fn + ↓ = Page Down |
| Home | Fn + ←             |
| End  | Fn + →             |
| ⇥    | Tab = 右制表符         |
| ⇤    | Shift + Tab = 左制表符 |
| ⎋    | Esc = Escape       |
| ⏏    | 电源开关键              |

## Alt

| Win 快捷键         | Mac 快捷键             | 介绍                                                             |
| --------------- | ------------------- | -------------------------------------------------------------- |
| Alt + \`        | Control + V         | 显示版本控制常用操作菜单弹出层                                                |
| Alt + F1        | Option + F1         | 显示当前文件选择目标弹出层，弹出层中有很多目标可以进行选择                                  |
| Alt + F7        | Option + F7         | 查询所选对象/变量被引用                                                   |
| Alt + Enter     | Option + Enter      | IntelliJ IDEA 根据光标所在问题，提供快速修复选择，光标放在的位置不同提示的结果也不同              |
| Alt + Insert    | Command + N         | 代码自动生成，如生成对象的 set / get 方法，构造函数，toString() 等                   |
| Alt + 左方向键      | Control + 左方向键      | 切换当前已打开的窗口中的子视图，比如Debug窗口中有Output、Debugger等子视图，用此快捷键就可以在子视图中切换 |
| Alt + 右方向键      | Control + 右方向键      | 切换当前已打开的窗口中的子视图，比如Debug窗口中有Output、Debugger等子视图，用此快捷键就可以在子视图中切换 |
| Alt + 前方向键      | Control + 前方向键      | 当前光标跳转到当前文件的前一个方法名位置                                           |
| Alt + 后方向键      | Control + 后方向键      | 当前光标跳转到当前文件的后一个方法名位置                                           |
| Alt + 1,2,3...9 | Command + 1,2,3...9 | 显示对应数值的选项卡，其中 1 是 Project 用得最多                                 |

## Ctrl

| Win 快捷键          | Mac 快捷键             | 介绍                                                    |
| ---------------- | ------------------- | ----------------------------------------------------- |
| Ctrl + F         | Command + F         | 在当前文件进行文本查找                                           |
| Ctrl + R         | Command + R         | 在当前文件进行文本替换                                           |
| Ctrl + Z         | Command + Z         | 撤销                                                    |
| Ctrl + G         | Command + L         | 跳转到指定行数位置                                             |
| Ctrl + Y         | Command + Delete    | 删除光标所在行 或 删除选中的行                                      |
| Ctrl + D         | Command + D         | 复制光标所在行 或 复制选择内容，并把复制内容插入光标位置下面                       |
| Ctrl + W         | Option + 方向键上       | 递进式选择代码块。可选中光标所在的单词或段落，连续按会在原有选中的基础上再扩展选中范围           |
| Ctrl + E         | Command + E         | 显示最近打开的文件记录列表                                         |
| Ctrl + N         | Command + O         | 根据输入的 **类名** 查找类文件                                    |
| Ctrl + J         | Command + J         | 插入自定义动态代码模板                                           |
| Ctrl + P         | Command + P         | 方法参数提示显示                                              |
| Ctrl + Q         | Control + J         | 当前位置变量、方法的 Documentation 内容显示                         |
| Ctrl + U         | Command + U         | 前往当前光标所在的方法的父类的方法 / 接口定义                              |
| Ctrl + B         | Command + B         | 进入光标所在的方法/变量的接口或是定义处，等效于 `Ctrl + 左键单击`                |
| Ctrl + /         | Command + /         | 注释光标所在行代码，会根据当前不同文件类型使用不同的注释符号                        |
| Ctrl + F1        | Command + F1        | 在光标所在的错误代码处显示错误信息                                     |
| Ctrl + F11       | Option + F3         | 选中文件 / 文件夹，使用助记符设定 / 取消书签                             |
| Ctrl + F12       | Command + F12       | 弹出当前文件结构层，可以在弹出的层上直接输入，进行筛选                           |
| Ctrl + Space     | Control + Space     | 基础代码补全，默认在 Windows 系统上被输入法占用，需要进行修改，建议修改为 `Ctrl + 逗号` |
| Ctrl + Delete    | Option + Fn+ Delete | 删除光标后面的单词或是中文句                                        |
| Ctrl + BackSpace | Option + Delete     | 删除光标前面的单词或是中文句                                        |
| Ctrl + 1,2,3...9 | Control + 1,2,3...9 | 定位到对应数值的书签位置                                          |
| Ctrl + 加号        | Command + 加号        | 展开代码                                                  |
| Ctrl + 减号        | Command + 减号        | 折叠代码                                                  |
| Ctrl + 左键单击      | Control + 左键单击      | 在打开的文件标题上，弹出该文件路径                                     |
| Ctrl + 左方向键      | Option + 左方向键       | 光标跳转到当前单词 / 中文句的左侧开头位置                                |
| Ctrl + 右方向键      | Option + 右方向键       | 光标跳转到当前单词 / 中文句的右侧开头位置                                |
| Ctrl + 前方向键      | 预设中没有该快捷键           | 等效于鼠标滚轮向前效果                                           |
| Ctrl + 后方向键      | 预设中没有该快捷键           | 等效于鼠标滚轮向后效果                                           |

## Shift

| Win 快捷键       | Mac 快捷键       | 介绍                         |
| ------------- | ------------- | -------------------------- |
| Shift + F11   | Command + F3  | 弹出书签显示层                    |
| Shift + Tab   | Shift + Tab   | 取消缩进                       |
| Shift + Enter | Shift + Enter | 开始新一行。光标所在行下空出一行，光标定位到新行位置 |
| Shift + 左键单击  | Shift + 左键单击  | 在打开的文件名上按此快捷键，可以关闭当前打开文件   |

## Alt + Shift

| Win 快捷键            | Mac 快捷键               | 介绍                                   |
| ------------------ | --------------------- | ------------------------------------ |
| Alt + Shift + N    | Option + Shift + N    | 选择 / 添加 task                         |
| Alt + Shift + 左键双击 | Option + Shift + 左键双击 | 选择被双击的单词 / 中文句，按住不放，可以同时选择其他单词 / 中文句 |
| Alt + Shift + 前方向键 | Option + Shift + 前方向键 | 移动光标所在行向上移动                          |
| Alt + Shift + 后方向键 | Option + Shift + 后方向键 | 移动光标所在行向下移动                          |

## Ctrl + Alt

| Win 快捷键            | Mac 快捷键                  | 介绍                     |
| ------------------ | ------------------------ | ---------------------- |
| Ctrl + Alt + L     | Command + Option + L     | 格式化代码，可以对当前文件和整个包目录使用  |
| Ctrl + Alt + O     | Control + Option + O     | 优化导入的类，可以对当前文件和整个包目录使用 |
| Ctrl + Alt + T     | Command + Option + T     | 对选中的代码弹出环绕选项弹出层        |
| Ctrl + Alt + S     | Command + 逗号             | 打开 IntelliJ IDEA 系统设置  |
| Ctrl + Alt + Enter | Command + Option + Enter | 光标所在行上空出一行，光标定位到新行     |
| Ctrl + Alt + 左方向键  | Command + Option + 左方向键  | 退回到上一个操作的地方            |
| Ctrl + Alt + 右方向键  | Command + Option + 右方向键  | 前进到上一个操作的地方            |

## Ctrl + Shift

| Win 快捷键                  | Mac 快捷键                     | 介绍                                              |
| ------------------------ | --------------------------- | ----------------------------------------------- |
| Ctrl + Shift + F         | Command + Shift + F         | 根据输入内容查找整个项目 或 指定目录内文件                          |
| Ctrl + Shift + R         | Command + Shift + R         | 根据输入内容替换对应内容，范围为整个项目 或 指定目录内文件                  |
| Ctrl + Shift + J         | Control + Shift + J         | 自动将下一行合并到当前行末尾                                  |
| Ctrl + Shift + Z         | Command + Shift + Z         | 取消撤销                                            |
| Ctrl + Shift + W         | Option + 方向键下               | 递进式取消选择代码块。可选中光标所在的单词或段落，连续按会在原有选中的基础上再扩展取消选中范围 |
| Ctrl + Shift + N         | Command + Shift + O         | 通过文件名定位 / 打开文件 / 目录，打开目录需要在输入的内容后面多加一个正斜杠       |
| Ctrl + Shift + U         | Command + Shift + U         | 对选中的代码进行大 / 小写轮流转换                              |
| Ctrl + Shift + T         | Command + Shift + T         | 对当前类生成单元测试类，如果已经存在的单元测试类则可以进行选择                 |
| Ctrl + Shift + C         | Command + Shift + C         | 复制当前文件磁盘路径到剪贴板                                  |
| Ctrl + Shift + B         | Control + Shift + B         | 跳转到类型声明处                                        |
| Ctrl + Shift + /         | Command + Option + /        | 代码块注释                                           |
| Ctrl + Shift + \[        | Command + Shift + \[        | 选中从光标所在位置到它的顶部中括号位置                             |
| Ctrl + Shift + ]         | Command + Shift + ]         | 选中从光标所在位置到它的底部中括号位置                             |
| Ctrl + Shift + 加号        | Command + Shift + 加号        | 展开所有代码                                          |
| Ctrl + Shift + 减号        | Command + Shift + 减号        | 折叠所有代码                                          |
| Ctrl + Shift + F7        | Command + Shift + F7        | 高亮显示所有该选中文本，按Esc高亮消失                            |
| Ctrl + Shift + F12       | Command + Shift + F12       | 编辑器最大化                                          |
| Ctrl + Shift + Enter     | Command + Shift + Enter     | 自动结束代码，行末自动添加分号                                 |
| Ctrl + Shift + Backspace | Ctrl + Shift + Backspace    | 退回到上次修改的地方                                      |
| Ctrl + Shift + 1,2,3...9 | Control + Shift + 1,2,3...9 | 快速添加指定数值的书签                                     |
| Ctrl + Shift + 左键单击      | Command + Shift + 左键单击      | 把光标放在某个类变量上，按此快捷键可以直接定位到该类中                     |
| Ctrl + Shift + 左方向键      | Option + Shift + 左方向键       | 在代码文件上，光标跳转到当前单词 / 中文句的左侧开头位置，同时选中该单词 / 中文句     |
| Ctrl + Shift + 右方向键      | Option + Shift + 右方向键       | 在代码文件上，光标跳转到当前单词 / 中文句的右侧开头位置，同时选中该单词 / 中文句     |
| Ctrl + Shift + 前方向键      | Command + Shift + 前方向键      | 光标放在方法名上，将方法移动到上一个方法前面，调整方法排序                   |
| Ctrl + Shift + 后方向键      | Command + Shift + 后方向键      | 光标放在方法名上，将方法移动到下一个方法前面，调整方法排序                   |

## Ctrl + Shift + Alt

| Win 快捷键                | Mac 快捷键                      | 介绍       |
| ---------------------- | ---------------------------- | -------- |
| Ctrl + Shift + Alt + V | Command + Shift + Option + V | 无格式黏贴    |
| Ctrl + Shift + Alt + S | Command + ;                  | 打开当前项目设置 |

## Other

| Win 快捷键 | Mac 快捷键 | 介绍                |
| ------- | ------- | ----------------- |
| F2      | F2      | 跳转到下一个高亮错误 或 警告位置 |
| F4      | F4      | 编辑源               |
| F11     | F3      | 添加书签              |
| F12     | F12     | 回到前一个工具窗口         |
| Tab     | Tab     | 缩进                |
| ESC     | ESC     | 从工具窗口进入代码文件窗口     |
