Vim for VSCode:重新映射 ctrl + e 以在插入模式下转到行尾

J. *_*ers 5 vim visual-studio-code vscode-settings vscodevim

我正在使用Vim 和 VSCode

在插入模式下,我试图重新映射ctrl+e到行尾。这是我写在我的settings.json

"vim.insertModeKeyBindingsNonRecursive": [{ "before": ["<C-o>", "$"], "after": ["<C-e>"] }]
Run Code Online (Sandbox Code Playgroud)

不幸的是,这在某种程度上不起作用。我怎样才能重新映射这个?

编辑: 根据答案,我也尝试过

"vim.insertModeKeyBindingsNonRecursive": [ { "before": ["<C-e>"], "commands": { "command": "cursorLineEnd" } } ]
Run Code Online (Sandbox Code Playgroud)

"vim.insertModeKeyBindingsNonRecursive": [{ "before": ["<C-e>"], "commands": "cursorLineEnd" }]
Run Code Online (Sandbox Code Playgroud)

这也都不起作用。

cud*_*der 5

尝试使用该commands选项:

"vim.insertModeKeyBindingsNonRecursive": [{
       "before":[
          "<C-e>"
       ],
       "after":[],
       "commands":[
          {
             "command":"cursorEnd",
             "args":[]
          }
       ]
    }]
Run Code Online (Sandbox Code Playgroud)

更新:我尝试了几种<C-...>组合,经过几个小时的摆弄,我得出的结论是某些Ctrl绑定根本不起作用。我尝试了多种变体都无济于事,任何其他组合键似乎都可以完美运行,例如,请参见:

"vim.insertModeKeyBindingsNonRecursive": [
      {
         "before": [
            "j",
            "k"
         ],
         "commands": [
            "cursorLineEnd",
         ]
      }
   ]
Run Code Online (Sandbox Code Playgroud)

我现在对您的建议是避免Ctrl重新映射,<leader>而是使用。您还可以正确组织这些发现并在 GitHub 上打开一个新问题。

聚苯乙烯

您可以在文件 -> 首选项 -> 键盘快捷键中检查命令名称:

在此处输入图片说明