我试图找到在Visual Studio代码中复制一行的快捷方式(我使用1.3.1),我尝试了明显的CTRL + D,但似乎不起作用。


当前回答

可以创建仅在Vim for VSCode打开并处于特定模式(即“正常”、“插入”或“可视”)时才激活的键绑定。

为此,使用Ctrl + Shift + P打开VSCode的命令面板,然后搜索“首选项:打开键盘快捷键(JSON)”选择这个选项会打开keybindings.json。在这里,可以添加自定义绑定。

例如,这里是经典的VSCode命令移动/复制行调整,以方便在Vim中使用。

    [
      {
        "key": "alt+j",
        "command": "editor.action.moveLinesDownAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+shift+j",
        "command": "editor.action.copyLinesDownAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+k",
        "command": "editor.action.moveLinesUpAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+shift+k",
        "command": "editor.action.copyLinesUpAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
    ]

现在我们可以在VSCode中使用这些vim友好的命令了!

Alt + J向下移动一行 Alt + K向上移动一行 Shift + Alt + J复制一行 Shift + Alt + K复制一行

其他回答

可以创建仅在Vim for VSCode打开并处于特定模式(即“正常”、“插入”或“可视”)时才激活的键绑定。

为此,使用Ctrl + Shift + P打开VSCode的命令面板,然后搜索“首选项:打开键盘快捷键(JSON)”选择这个选项会打开keybindings.json。在这里,可以添加自定义绑定。

例如,这里是经典的VSCode命令移动/复制行调整,以方便在Vim中使用。

    [
      {
        "key": "alt+j",
        "command": "editor.action.moveLinesDownAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+shift+j",
        "command": "editor.action.copyLinesDownAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+k",
        "command": "editor.action.moveLinesUpAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+shift+k",
        "command": "editor.action.copyLinesUpAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
    ]

现在我们可以在VSCode中使用这些vim友好的命令了!

Alt + J向下移动一行 Alt + K向上移动一行 Shift + Alt + J复制一行 Shift + Alt + K复制一行

在键盘快捷键中搜索copyLinesDownAction或copyLinesUpAction

通常为SHIFT+ALT+↓

使用以下方法:Shift + Alt+(↓或↑)

要复制当前行而不进行选择,⌘Command + C将完成此操作。对于那些在VSCode上启用了vim的人,你需要确保设置如下:

"vim.overrideCopy": false

这些是默认设置:

窗户

SHIFT+ALT+↓或SHIFT+ALT+↑

操作系统

SHIFT +选项选项+↑↓或SHIFT键+。

然而,如果你想用CTRL+D复制一行,那么你必须修改VS Code的键盘快捷键。

窗户

文件>首选项>键盘快捷方式

操作系统

管理>键盘快捷键(适用于macOS)

然后搜索“复制行向下”。从那里添加CTRL+D或你想要的组合键。