如何解决vscode vim扩展不写实字符吗?
我在vscode中自定义了vim-extension,对于大多数模式,它可以正确执行命令。但是,如果我尝试编写实际字符(因此不再是命令),则不会。为什么呢?
示例:
"vim.insertModeKeyBindingsNonRecursive": [
{
"before": [
"<leader>","o"
],"after": [
"<Esc>","i","Abcd"
]
},]
这应该只写Abcd
,因为在该序列之前是i
,切换到插入模式。 (因此<Esc>
-> i
是多余的,此处仅作为示例)。 vscode vim扩展名执行<Esc>
以及i
(因为在执行该命令后我知道我回到了插入模式),但是不会打印Abcd
。为什么?该扩展程序是否仅配置为执行命令而不实际打印某些内容?如何启用它?
解决方法
看起来您只需要将"Abcd"
的每个字符分割成单独的一行:
"vim.insertModeKeyBindingsNonRecursive": [
{
"before": [
"<leader>","o"
],"after": [
"<Esc>","i","A","b","c","d"
]
},]
,
如项目documentation中所述,您应该传递单个键字符(普通键为单个字符,特殊键(例如箭头键或转义键)为多个字符)。
更新价值之后将解决问题:
"after": [
"<Esc>","d"
]
您可以查看插件的内部内容,以了解为什么here(特别是NormalizeKey函数)中不能使用多个字符传递的功能,该功能将使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。