首页 > 解决方案 > 有没有办法将 Caps_Lock 重新映射为 vscode 的 vim 上的转义键?

问题描述

问题

我想在 Visual Studio 代码的 vim 扩展中使用 Caps_Lock 作为退出插入模式的键。我已经用 Xmodmap 重新映射了 Xorg 中的键,但 Visual Studio 似乎并不重要。

我的 VScode 设置

如您所见,我已经尝试过"vim.insertModeKeyBindings",但它只禁用了 Escape 键,让我认为 Caps_lock 有另一个键名/keysym,但我似乎找不到它。

{
    "editor.fontFamily": "'Inconsolata-g for Powerline'",
    "editor.fontSize": 16,
    "liveshare.authenticationProvider": "GitHub",
    "vim.enableNeovim": true,
    "code-runner.enableAppInsights": false,
    "code-runner.runInTerminal": true,
    "workbench.startupEditor": "newUntitledFile",
    "workbench.editorAssociations": [
        {
            "viewType": "jupyter.notebook.ipynb",
            "filenamePattern": "*.ipynb"
        }
    ],
    "workbench.colorTheme": "BeardedTheme Anthracite",
    "extensions.autoUpdate": "onlyEnabledExtensions",
    "vim.vimrc.enable": true,
    "vim.vimrc.path": "$HOME/.config/nvim/init.vim",
    "editor.fontWeight":"bold", 
    "vim.insertModeKeyBindings": [
        {
            "before": ["<Esc>"],
            "after": ["<Caps_Lock>"]
        }
   ]
}

我想解决的另一件事是我已经拥有j,k退出插入模式的组合。这是默认的吗?


非常感谢任何提供帮助的人!

标签: visual-studio-codesettingsneovim

解决方案


解决方案

由于这个问题在 Linux 中出现,并且我已经更改了 Xmodmap 中的设置,似乎 VScode 不尊重使用 xkbmap 重新映射是一个已知问题,应该通过添加 "keyboard.dispatch": "keyCode" VScode 的 settings.json并重新打开 VS来解决。


推荐阅读