Nik*_*sky 2 visual-studio-code vscodevim
VSCodeVim使用不同的撤消堆栈,撤消vim撤消堆栈中所有未保存的更改后,它使我很烦,VSCode仍然显示该文件未保存。因此,我想使用VSCode的撤消堆栈,并将“ u”映射到“ Ctrl + z”。我的绑定如下:
Run Code Online (Sandbox Code Playgroud){ "key": "u", "command": "undo", "when": "editorTextFocus && !editorReadonly && vim.active && vim.mode != 'Insert'" }
问题是,即使我指定在vim模式为Insert时也不起作用,它仍会撤消上一次更改并插入'u'。谁能建议重新绑定撤消的正确方法是什么?
小智 16
...这
"args": []似乎没有必要,并且"otherModesKeyBindingsNonRecursive"不再作为选项存在。我将我的绑定到normalModeKeyBindings. 还必须<C-r>使用redoVSCode 的重做堆栈
关于这个答案(并且要明确地使用 JSON),这是我在 settings.json 中使用的内容,vim.normalModeKeyBindingsNonRecursive而不是vim.normalModeKeyBindings:
"vim.normalModeKeyBindingsNonRecursive": [
{
"before": ["u"],
"after": [],
"commands": [
{
"command": "undo",
"args": []
}
]
},
{
"before": ["<C-r>"],
"after": [],
"commands": [
{
"command": "redo",
"args": []
}
]
}
]
Run Code Online (Sandbox Code Playgroud)
我尝试了Doktor OSwaldo的建议,但是由于某种原因,它没有用。但是我设法找到一个解决方案:
"vim.otherModesKeyBindingsNonRecursive": [
{
"before": ["u"],
"after": [],
"commands": [
{
"command": "undo",
"args": []
}
]
}
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1025 次 |
| 最近记录: |