我的 VS Code 快捷键配置
2018-10-21
上一篇介绍了VS Code 快捷键,这次就整理一下我自己的快捷键配置。
刚工作的时候学习了 Vim,这些年更换过多个编辑器,几乎每个编辑器都有 Vim 插件,所以依旧使用 Vim 的那一套快捷键。这样的一个好处是,无论怎么切换 IDE,基础的文本编辑习惯都可沿用下来。
用 Vim 的另一个好处,就是学新的 IDE 可以少记一些快捷键,比如删除当前行、比如跳转到定义。剩下的快捷键需要改的就不多了,能用默认尽量用默认,选择自定义要有充足的理由。
Toggle Mini Map
小地图还是有点小用,但有时候也嫌烦,需要一个快捷键来隐藏/显示小地图。
{
"key": "cmd+m cmd+m",
"command": "editor.action.toggleMinimap"
},
Toggle Vim Mode
当不会 Vim 的人用你电脑的时候……
{
"key": "cmd+m cmd+v",
"command": "toggleVim",
"when": "editorTextFocus && !inDebugRepl"
},
Disable Vim cmd+V
往编辑器里粘代码,不用 cmd+V 用什么?
{
"key": "cmd+v",
"command": "-extension.vim_cmd+v",
"when": "editorTextFocus && vim.active && vim.overrideCmdV && vim.use<D-v> && !inDebugRepl"
},
Disable Vim Backspace
如果不禁掉这个,在 code snippet 里用退格键会发生错乱,算是人为避开一个 bug 吧。
{
"key": "backspace",
"command": "-extension.vim_backspace",
"when": "editorTextFocus && vim.active && !inDebugRepl"
},
Reference Search
默认的 shift + F12 太不好按了,简单八一八,不需要那么复杂。
{
"key": "cmd+8",
"command": "editor.action.referenceSearch.trigger",
"when": "editorHasReferenceProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
},
Trigger Suggest
提示很重要,但默认的 ctrl+space 要么触发 Mac 的 spotlight,要么触发输入法切换。 改成 shift+space 就妥了。
{
"key": "shift+space",
"command": "editor.action.triggerSuggest",
"when": "editorHasCompletionItemProvider && textInputFocus && !editorReadonly"
},
{
"key": "ctrl+space",
"command": "-editor.action.triggerSuggest",
"when": "editorHasCompletionItemProvider && textInputFocus && !editorReadonly"
},
Reset Zoom
外接投影或者有人在旁边看代码的时候,经常需要放大字体。按 ⌘+ 逐级放大,演示完后再按 ⌘- 逐级缩小还原回去。这里就有个痛点,就是在逐级缩小还原的时候,每按一下都要用眼睛确认是不是到了默认大小,有的时候还不太确定。浏览器可以用快捷键 cmd+0 来重置缩放,我们就用和浏览器一样的快捷键。
{
"key": "cmd+0",
"command": "workbench.action.zoomReset"
},
Zen Mode
这么赞的功能,默认快捷键 cmd+K, Z 太繁琐,会影响进入写代码状态的流畅感,用 cmd+E 容易按得多。cmd+E 的默认行为貌似和 cmd+F 没有区别,果断移除。
{
"key": "cmd+e",
"command": "-actions.findWithSelection"
},
{
"key": "cmd+e",
"command": "workbench.action.toggleZenMode"
}