我发布了一个插件 https://github.com/2nthony/vscode-preferences-for-cursor ,这个插件目前的作用就是自带了一批按键配置,可以直接将所有按键前缀改回 cmd+k
而不需要改动自己的按键配置文件,这更易于维护自己的配置文件。
插件是参考 https://github.com/tjx666/vscode-classic-experience 的,不使用他的是因为这个插件带了一些作者个人风格的按键如将行内 AI 编辑的按键设定为 cmd+e
,AI Chat 为 cmd+]
,用了一天很不习惯。
Cursor 首次运行可以选择 VS Code 按键风格,但那不是真正的。
cmd+k 组合键
首先将 leader key 从 cmd+r
改变回 cmd+k
,这个操作实际上只是帮你将按键重新设置,并逐个添加到你的 keybindings.json
中,不需要备份,但是如果你有很多个人定制不妨看一眼知道个位置。
如:
// 添加 cmd k , 删除 cmd r
{
"key": "cmd+k cmd+c",
"command": "editor.action.addCommentLine",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "cmd+r cmd+c",
"command": "-editor.action.addCommentLine",
"when": "editorTextFocus && !editorReadonly"
},
行内 AI 编辑
为了变为 Copilot 的风格,所以要用 cmd+i
来触发编辑框。这些组合键需要在 Default Keyboard shortcuts 中找到并复制到自己的配置文件中,因为按键是有参数的,所以不能在 UI 界面改。这里包含了代码编辑器和终端的情况。
{
"key": "shift+cmd+i",
"command": "aipopup.action.modal.generate",
"when": "editorFocus",
"args": {
"invocationType": "toggle"
}
},
{
"key": "cmd+i",
"command": "aipopup.action.modal.generate",
"when": "editorFocus",
"args": {
"invocationType": "new"
}
},
{
"key": "cmd+k",
"command": "-aipopup.action.modal.generate",
"when": "editorFocus"
},
{
"key": "shift+cmd+k",
"command": "-aipopup.action.modal.generate",
"when": "editorFocus"
},
{
"key": "cmd+i",
"command": "cursorai.action.generateInTerminal",
"when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
},
{
"key": "cmd+k",
"command": "-cursorai.action.generateInTerminal",
"when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
},
结语
即使是将 cmd+k
改到了 cmd+i
, cmd+k
在编辑框里面仍然生效,只能猜是硬编码导致的。
在 issue 和 forum 也有用户反馈,都一年多了不回应也不改,虽然不是 Cursor 卖点但是对于有肌肉记忆的老 VS Code 用户来说非常不友好。