# 参考表 ![image-20231008104755780](_attachment/19-快捷键汇总/Vscode%20快捷键.assets/IMG-Vscode%20快捷键-C0E1DA041D62510763AA1DD69CA16DEF.png) # Vscode快捷键 #### 基本 | | 说明 | | ------------ | -------------------------- | | `<C-p>` | 打开 "Quick Open" 栏;搜索文件或符号; | | `<C-S-p>` | 打开命令面板; "Command Palette" | | `<C-,>` | 打开设置 `Settings` 界面 | | `<C-k><C-s>` | 打开`Keyboard Shortcuts` 界面 | #### 基础编辑 | | 说明 | | ---------------------- | ------------------------------- | | `<C-{[/]}>` | 调整当前行**缩进** | | `<C-/>` | 插入**行注释** | | `<A-S-a>` | 插入**块注释** | | `<C-Delete>` | 删除至 word 尾部 | | **行编辑** | | | `<A-{↑/↓}>` | 向上/向下**移动**当前行 | | `<S-A-{↑/↓}>` | 向上/向下**复制插入**当前行 | | `<C-CR>` | 在当前行**下方**插入空行 | | `<C-S-CR>` | 在当前行**上方**插入空行 | | `<C-l>` | **选中**当前整行 | | `<C-S-k>` | **删除**当前行 | | `<C-x>` | **剪切**当前行 | | **代码折叠** | | | `<C-S-{[/]}>` | 折叠、展开**当前光标位置**的代码块 | | `<C-k>{<C-0>/<C-j>}` | 折叠、展开所**有**区域代码 | | `<C-k><C-/>` | 折叠所有**块注释** | | **格式化** | | | `<S-A-f>` | 格式化当前整个文件 | | `<C-k><C-f>` | 格式化选中文本 | | `<C-k><C-x>` | 修剪选中行的尾随空格 | | **触发提示** | | | `<C-Space>` | 触发建议——Trigger Suggest | | `<C-S-Space>` | 触发参数提示——Trigger parameter hints | | `<C-.>` | 触发"Quick Fix" | | `<C-k><C-i>`, `<S-k>` | 触发 "Show hover" | | | | | `F2` | 重命名选中标识符(变量名或函数)<br>(同时修改所有对应处) | | `<C-z>` | 撤销;undo | | `<C-y>` | 重做;redo | ##### 光标移动 | | 说明 | | --------------------- | -------------------------- | | `<C-{←/→}>` | 以单词为单位移动光标 | | | | | `<C-S-\>` | 跳转至**匹配括号**处;Go to Bracket | | `<C-g>` | 跳转到指定行 | | `<C-Home>`, `<C-end>` | 跳转到文件头 / 尾 | ##### 范围选中 | | 说明 | | ------------------------------------------------ | ---------------------- | | `<S-{movement}>` | 选中移动经过区域 | | `<S-A-{←/→}>` | 缩小/扩展**选中区域**(增量选择) | | | | | `<C-l>` | 选中整行 | | `<C-S-A-{↑/↓/←/→}>` \| <br>`<S-A><DragMouseL>` | 列块选中——为选中块中**每一行添加光标** | ##### 多光标编辑 | | 说明 | | ------------- | -------------------------- | | `<A-LClick>` | 为点击处增加一个新光标 | | `<C-A-{↑/↓}>` | 在当前光标位置上方/下方增加一个新光标 | | `<S-A-i>` | 在所有**选中行的末尾**增加光标 | | | | | `<C-d>` | 为当前**选中项**的**下一个出现位置**增加光标 | | `<C-S-l>` | 为当前**选中项**的**所有出现位置**增加光标 | | `<C-F2>` | 为当前**单词**的**所有出现位置**增加光标 | ##### 导航跳转 | | 说明 | | ----------------------------- | ----------------------------------------------- | | `<A-{←/→}>` | 返回上一个/后一个**跳转位置**——go back/forward | | **定义** | | | `F12` \| `<C-LClick>` | 跳转到**定义**(也可从定义跳转回声明处)<br>Go to Definition | | `<C-k>F12` \| `<C-A-LClick>` | 跳转到定义/实现并**在旁侧编辑页组中打开** | | `<A-F12>` | 打开窥视窗,查看**定义** <br>Peek Definition | | **引用** | | | `<S-F12>` | 跳转到至**引用**<br>Go to References | | `<S-A-F12>` | 查看**所有引用** | | **实现** | | | `<C-F12>` | 跳转到至**接口、抽象类的具体实现**<br>Go to Implementations | | `<C-S-F12>` | 打开窥视窗,查看**接口、抽象类的具体实现**<br>Peek Implementations | | **符号搜索** | | | `<C-S-o>` | 在**当前文件**中搜索 symbol 并导航跳转 | | `<C-t>` | 在**当前工作区**中搜索 symbol 并导航跳转 | | **错误相关** | | | `F8` | 跳转到当前文件中下一处错误位置 | | `<S-F8>` | 跳转到当前文件中上一处报错位置 | | **diff 相关**(diff view 下) | | | `F7` | **Go to Next Difference** | | `<S-F7>` | **Go to Previous Difference** | ##### 查找替换 | | 说明 | | ----------------- | ----------------- | | `<C-f>` | 查找 | | `<C-S-f>` | 整个工作区中查找 | | `<C-h>` | **替换** | | `<CR>` / `<S-CR>` | 跳至下一个 / 前一个匹配项 | | `<C-d>` | 选中**下一个匹配项**(多光标) | | `<A-CR>` | 选中**所有匹配项**(多光标) | ##### 窗口页面 | | 说明 | | --------- | -------------------------------- | | `<C-0>` | 聚焦到**左侧边栏** | | `<C-b>` | **左侧边栏**显示/隐藏 | | `<C-j>` | **底部面板**显示/隐藏 | | | | | `<C-S-e>` | 打开& 聚焦左侧 **Explor 面板** | | `<C-S-j>` | 打开& 聚焦左侧 **OUTLINE 面板**(**自定义**) | | `<C-S-f>` | 打开& 聚焦左侧 **搜索面板** | | `<C-S-d>` | 打开& 聚焦左侧 **RUN AND DEBUG 面板** | | `<C-S-m>` | 打开& 聚焦底部 **PROBLEMS 面板** | | | | | `<C-k>o` | **在新窗口中打开**当前编辑页文件 | | `<C-S-n>` | 打开一个新 VS Code 窗口 | | `<C-S-w>` | 关闭 VS Code 窗口 | | | | | `<C-k>v` | 在**旁侧**打开 Markdown 预览窗口 | | `<C-k>z` | 进入/退出 Zen 模式 | ##### 编辑页&组 | | 说明 | | :---------------------------------- | :--------------------------- | | **编辑页** | | | `<C-Tab>` | 切换到**当前编辑页组**中上一个访问的编辑页 | | `<C-PageUp>` \| <br> `<C-PageDown>` | 切换到**左侧 / 右侧的编辑页** | | `<A-{num}>` | 切换到**当前组**中第 num 个编辑页 | | `<S-A-{num}>` | 将**当前编辑页**移动到第 num 个**编辑页组** | | `<C-S-t>` | 重新打开上次关闭的标签页 | | `<C-w>` | 关闭当前编辑页 | | `<C-w>w` | 关闭**当前编辑页组**中的所有编辑页 | | `<C-k><C-w>` | 关闭**所有编辑页** | | | | | **编辑页组** | | | `<C-\>` | 将当前编辑器拆分成**左右**两栏 | | `<C-k><C-\>` | 将当前编辑器拆分成**上下**两栏 | | `<C-{num}>` | 在编辑页组之间**切换** | | `<C-k>{↑/↓/←/→}` | **移动**当前编辑页组位置 | ##### 文件管理 | | 说明 | | ------------ | ----------------------------------------------------- | | `<C-n>` | 新建文件 | | `<C-s>` | 保存 | | `<C-k>s` | 保存全部文件 | | `<C-k>p` | 复制当前文件的**路径** | | `<C-k>r` | 在**文件资源管理器中**打开**当前文件所在目录** | | | | | `<A-LClick>` | 在**当前编辑页右侧的编辑页组**中打开文件 | | `<C-CR>` | 在**新编辑页组**中打开选中文件 <br>(在 Exployer 文件栏或 Quick Open 栏下) | | | | | `<C-k>f` | 关闭当前 workspace(不关闭 VSCode 窗口) | ##### 调试 ![[_attachment/19-快捷键汇总/Vscode 快捷键.assets/IMG-Vscode 快捷键-42D3E426D2A792D7D1427953E741238D.png|221]] ##### 文件内容比较 diff >查看 diff: 在 explorer 里选择文件右键 `Select for compare`,然后需要对比的文件上右键选择 `Compare with selected` ##### 快速滚动 `Alt + 鼠标滚轮` 以5倍速快速滚动 `Ctrl + ↑|↓` 按行滚动屏幕(移动一行) ##### 执行任务 `Ctrl + Shift + B` 运行Build Task # VSCodeNeovim 插件快捷键 ###### 代码导航 ![[_attachment/19-快捷键汇总/Vscode 快捷键.assets/IMG-Vscode 快捷键-DF696C07FC7D5F1C674308870A8B9987.png|555]] ###### **VSCode Explorer 侧边栏相关操作** ![[_attachment/19-快捷键汇总/Vscode 快捷键.assets/IMG-Vscode 快捷键-ABA0ABF880FC12A6771497AA2468B5BE.png|581]] | | 说明 | VSCode 命令 | | ----------------------------- | ---------------- | ---------------------------------- | | `j`, `k` | 上下移动 | `list.focusDown/Up` | | `<C-u>`,`<C-d>` | 半屏上下移动 | | | **`o` , `<CR>`,`za` , `zA`** | **触发**折叠/展开 | `list.toggleExpand` | | **`h`**,`zc` | **折叠** | `list.collapse` | | **`zm`,`zM`** | **折叠全部** | `list.collapseAll` | | **`l`**,`<CR>` | **展开** or **选择** | `list.toggleExpand`, `list.select` | | `zo`,`zO` | **展开** | `list.toggleExpand` | | `zC` | **选择但仍聚焦在 list** | `list.collapseAllToFocus` | | / | **搜索** | | ###### **VSCode 悬浮窗口的中操作** ![[_attachment/19-快捷键汇总/Vscode 快捷键.assets/IMG-Vscode 快捷键-E687EA35BAA8BF6943A2C95B0450B93D.png|316]] ###### **快速打开面板** | | 说明 | | ----------- | ----------------------- | | `<C-[n,p]>` | 向后,向前移动(next, previous) | ###### **窗口导航** | | 说明 | | ---------------- | ----------------------------------------------- | | `<C-w>[j,k,h,l]` | 聚焦到上下左右**窗口**<br>("**窗口**"——包括**侧边栏**和**底部窗口**) | ###### **编辑页相关** | | 说明 | | --------------------- | --------------------------- | | `<C-w>[s, v]` | 水平、垂直**拆分当前编辑页** | | `<C-w>q` \| `<C-w>c` | 关闭**当前编辑页** | | `<C-w><C-[j,k,h,l]>` | 移动**当前编辑页**到上,下,左,右**编辑页组** | | `gt`,`gT` | 移动到后一个,前一个编辑页 | | `<C-w> >` , `<C-w> <` | 增大、减小 "**当前编辑页**" 窗口**宽度** | | `<C-w> +` , `<C-w> -` | 增大、减小 "**当前编辑页**" 窗口**高度** | | `<C-w>=` | 重置**编辑页组大小**(均等) | | `<C-w>_` | 开启/关闭 "**编辑页大小自适应**" | ###### **编译页组相关** | | 说明 | | -------------------- | ----------------------- | | `<C-w>[w, p]` | **聚焦**到后一个、前一个**编译页组** | | `<C-w>[t, b]` | **聚焦**到第一个、最后一个**编译页组** | | `<C-w><S-[j,k,h,l]>` | 上,下,左,右移动**当前编辑组** | ###### **多光标**(可视模式下) | | 行可视模式 | 块可视模式 | | ---- | ----- | ------ | | `mi` | 在行首插入 | 在光标前插入 | | `ma` | 在行尾插入 | 在光标后插入 | `mI` 和 `mA` 则会考虑空行 # 参考资料 ##### 官网说明 https://code.visualstudio.com/docs/getstarted/tips-and-tricks (实用Tricks) https://code.visualstudio.com/docs/getstarted/keybindings ##### 中文说明 https://lzw.me/a/vscode-visual-studio-code-shortcut.html ##### 博客演示 - [VS Code 快捷键-34张gif动图](https://zhuanlan.zhihu.com/p/354829366)