将 Cursor 按键变回 VS Code 风格

我发布了一个插件 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+icmd+k 在编辑框里面仍然生效,只能猜是硬编码导致的。

在 issue 和 forum 也有用户反馈,都一年多了不回应也不改,虽然不是 Cursor 卖点但是对于有肌肉记忆的老 VS Code 用户来说非常不友好。

Powered by blogkit. Inspired by Sairin.