# 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     | 从工具窗口进入代码文件窗口     |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://einverne.gitbook.io/intellij-idea-tutorial/keymap-win-mac.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
