vim - 是否可以更改 VScode Vim 中的默认命令?
问题描述
我想将dd
(删除并放入寄存器)更改为"_dd
(删除并放入黑洞寄存器)。我在下面尝试重新映射,但无济于事。
{
"before": [
"d",
"d"
],
"after": [
"\"",
"_",
"d",
"d",
]
}
但是,当我尝试使用以下重新映射时
leader
,它可以工作。
{
"before": [
"<leader>",
"d"
],
"after": [
"\"",
"_",
"d",
"d",
]
},
甚至可以更改默认行为
dd
吗?
谢谢。
解决方案
你可以使用这个:
"vim.normalModeKeyBindingsNonRecursive": [
{
"before": ["d"],
"after": [ "\"", "_", "d" ]
}
]
但问题是它改变了'd',而不是改变'dd',即'dd'会按你的意愿工作,但它也会改变与'd'相关的每个键映射。
“dw”也将删除到“黑洞”寄存器,“dd”也将删除
要了解更多信息,请查看此https://github.com/VSCodeVim/Vim/pull/3081
重新映射 'dd' 不会像在 vim 中那样改变,如果你不想改变 'd' 的默认功能,最好使用 'leader d' 来获得你想要的东西。
简而言之,vim 可以做你想做的事,但 vscode 中的 vim 插件现在不支持它。
推荐阅读
- python - 用于加密多个文件的多线程或多处理
- c# - ADO.net 实体数据模型不存在
- python - socket.gaierror:[Errno 11001] getaddrinfo 失败。无法通过 smtplib 发送邮件
- ms-access - MSAccess Ole DataType 不支持位图图像格式
- java - 如何测试非重复随机名称生成器是否正确实现?
- java - 如何处理三个连接表的@JsonManagedReference 和@JsonBackReference
- c++ - QT 未能部署应用程序代码 0xc000007b
- javascript - 分解 1 班轮 javascript
- javascript - 如何在控制台中显示对象?
- java - 更新后如何添加图像元数据