【问题标题】:Is there a way to remap Caps_Lock to be the escape key on vscode's vim?有没有办法将 Caps_Lock 重新映射为 vscode 的 vim 上的转义键?
【发布时间】:2023-03-08 14:25:01
【问题描述】:

问题

我想在 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 及其组合以退出插入模式。这是默认的吗?


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

【问题讨论】:

  • 这个问题与Vim无关,所以不需要“vim”标签。
  • 这怎么和 Vim 无关?
  • 你没有使用 Vim。
  • 是的,我正在使用 NeoVim,感谢您的关注!
  • 也许只是 Capslock,请参阅 stackoverflow.com/a/61451308/836330 了解我尝试解决不同问题的一些大写锁定变体。

标签: visual-studio-code settings neovim


【解决方案1】:

按 CTRL + SHIFT + P 打开命令面板。

然后,单击任何命令上的设置按钮。

这将打开键绑定。

搜索extension.vim_escape

将此更改为 CAPS_LOCK。

唯一的问题是当你重新进入插入模式时它仍然大写,所以你必须按两次。

【讨论】:

    【解决方案2】:

    我看到您已经找到了一种可能的解决方法,但我想知道“xcape”工具是否 (apt install xcape) 可以在您的 bashrc 中提供以下帮助吗?

    # set capslock to escape key  
    setxkbmap -option ctrl:nocaps
    xcape -e '#66=Escape'
    

    【讨论】:

    • 它似乎也有效,但由于问题被隔离到 VScode 并且我在其他应用程序中没有真正遇到任何问题,我不想更改我的系统配置。我已经使用过 Xmodmap 并且看起来很适合我。不过,这似乎是一个不错的选择。谢谢你的回答!!
    【解决方案3】:

    解决方案

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多