如何在 Windows 终端中设置 <C-S-m> 的映射?

问题描述 投票:0回答:1

我想重新映射

<C-S-m>
以在光标处插入
 |>
:

vim.api.nvim_buf_set_keymap(0, "i", "<C-S-m>", " |>", {})

这可以在使用 iterm2 的 macOS 上运行,但在 Windows 11 上使用 Windows 终端时,我得到了这个我以前从未见过的奇怪的东西:

其他不使用 ctrl + shift 的组合键,例如

<C-m>
,工作正常。
<C-M>
似乎等同于
<C-m>
,但不等同于
<C-S-m>

neovim neovim-plugin
1个回答
0
投票

对于 Nvim 在 windows 终端中映射

<C-S-m>
的问题,需要在 Windows 终端的
<C-S-m>
中使用
sendInput
命令绑定
settings.json
。当按下
<C-S-m>
时,它将发送特定的转义序列。我希望你能看到这个 github issue。 您可以在 Windows 终端的
settings.json

中添加这些行
{
    "command": {
        "action": "sendInput",
        "input": "\u001b[EscapeSequence]"
    },
    "keys": "ctrl+shift+m"
}

您需要将

"\u001b[EscapeSequence]"
替换为 Nvim 期望插入
|>
的实际转义序列。您可能需要尝试不同的顺序。我无法检查,因为我没有使用 windows

© www.soinside.com 2019 - 2024. All rights reserved.