【发布时间】:2020-12-20 10:46:37
【问题描述】:
我在 vscode 中自定义了 vim-extension,对于大多数模式,它都能正确执行命令。但是,如果我尝试编写实际字符(因此不再是命令),它不会。这是为什么呢?
例子:
"vim.insertModeKeyBindingsNonRecursive": [
{
"before": [
"<leader>",
"o"
],
"after": [
"<Esc>",
"i",
"Abcd"
]
},
]
这应该只写Abcd,因为之前那个序列是i,切换到插入模式。 (所以<Esc> -> i 是多余的,这里只是作为示例)。 vscode vim 扩展执行<Esc> 和i(因为我知道在该命令之后我又回到了插入模式),但不会打印Abcd。为什么?扩展配置是否只是为了执行命令而不是实际打印一些东西?如何启用?
【问题讨论】:
-
也许是个愚蠢的问题。但是您是否尝试过从映射中删除
"<Esc>", "i"部分? -
@DoktorOSwaldo 我做了 - 结果相同。但这只是一个例子。无论如何,在这两种情况下,Vscode-vim 都将 not 输出它
-
hmm github.com/VSCodeVim/Vim#vscodevim-settings 在那里查看调试选项。它也应该允许调试映射。不幸的是,由于我不使用 vscode,因此我无法为您提供任何进一步的帮助。我只是知道问题可能出在哪里,而您的评论并未指向那个方向
-
您能澄清一下您要达到的目标吗?看起来在插入模式下,
<leader>o将 Abcd 写入当前光标位置的文件? -
@dwrecked 是的,应该。但事实并非如此。我试图简单地“打印”(例如写
Abcd,使用快捷方式),但是使用vim扩展名,我似乎无法像那样“打印”
标签: visual-studio-code vim vscode-settings