在Visual Studio程式码(Vim副档名)中使用CAPS而非ESC

zd287kbt  于 2022-11-11  发布在  其他
关注(0)|答案(6)|浏览(277)

我使用Debian,并且从Vim切换到Visual Studio Code,当我注意到vscodim中有一个Vim移动扩展用于VS Code。当我使用Vim时,我将Caps lock键Map到ESC键。在Vim中,它工作得很好,但是VS Code对Caps lock输入没有React。
我希望有一个解决办法。如果有任何问题,请随时提出。
以下是我更改键盘布局的方法:我导航到/etc/default/并编辑了键盘文件。


# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL="pc105"
XKBLAYOUT="de"
XKBVARIANT=""
XKBOPTIONS="caps:escape"

BACKSPACE="guess"

Caps lock键也适用于其他程序,例如“Synaptic软件包管理器”

ct2axkht

ct2axkht1#

迟回答,但可能对某人有用:
在Ubuntu的键盘偏好设置部分切换了CAPS和ESC。在几乎所有的应用程序中都有效,但在Visual Studio代码中无效。
因此,我修改了VS代码设置:

{
    "keyboard.dispatch": "keyCode"
}

而且奏效了。

efzxgjgh

efzxgjgh2#

对于那些在Linux上有同样问题的人:
如果在系统范围配置中,大写锁定键为Esc,Esc为大写锁定键(['caps:swapescape ']),
1.请禁用系统中的键Map。将其设为默认值。
1.在VSCode中,按ctrl+shift+p并选择Preferences: Open Keyboard Sortcuts
1.搜索vim_escape
1.双击它并按下原来的大写锁定键并保存它。
1.编辑系统中的键Map配置。
就是这样。没有问题。按键按预期工作。

m1m5dgzv

m1m5dgzv3#

从这个问题的回答中得到启发。
In Visual Studio Code, how to toggle between vim-emulation and no-vim-emulation when the vscodevim extension is installed?
另一个解决方案是
单击"Gear icon"-〉Keyboard Shortcuts-〉键入“esc”或“Escape”-〉
查找extension.vim_escape-〉通过单击pencil icon或右键单击选择change keybinding进行编辑

  • 〉键入所需密钥和ENTER
66bbxpm5

66bbxpm54#

Ubuntu解决方案

  • 首先,确保你用capslock替换了escape,比如:source
gsettings set org.gnome.desktop.input-sources xkb-options "['caps:swapescape']"
  • 然后在VSCode中按ctrl+shift+p搜索Preferences: Open keyboard Shortcuts (JSON)(它将打开keybindings.json 并粘贴:
{
        "key": "capslock",
        "command": "extension.vim_escape",
        "when": "editorTextFocus && vim.active && !inDebugRepl"
    },
    {
        "key": "escape",
        "command": "-extension.vim_escape",
        "when": "editorTextFocus && vim.active && !inDebugRepl"
    }
  • 重新加载VSCode,您就可以开始了。
xmjla07d

xmjla07d5#

1.在设置中将Caps-lock设置为Esc
1.在你的vscode键绑定json中发布这个(Ctrl-K Ctrl-S -〉从右上角的图标打开JSON):

{
    "key": "capslock",
    "command": "extension.vim_escape",
    "when": "editorTextFocus && vim.active && !inDebugRepl"
  },

如果你正在寻找一个系统范围的工具,你可能会对keyd https://github.com/rvaiya/keyd感兴趣。你可以避免这种设置。自述文件中有一个关于如何设置ctrl和esc的caps lock的例子。

2q5ifsrm

2q5ifsrm6#

Windows解决方案

  • 安装AutoHotkey
  • 转到AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
  • 创建一个文件caps_to_esc.ahk并插入代码:

# IfWinActive ahk_exe Code.exe

Capslock::Esc
Esc::Capslock

# IfWinActive
  • 保存,运行文件,你就可以走了。

相关问题