如何删除vscodevim中文件的所有内容?

How to delete all content in file in vscode vim?

在正常情况下。vimrc 我有以下映射:

:nnoremap <leader>s G$vggx

从下到上删除所有内容。我想在 VS Code vim 插件中使用类似的东西(在 settings.json 中):

"vim.normalModeKeyBindings": [
 {
  "before" : ["leader", "s"],
  "after" : ["G$vggx"]
 }
],

当然什么都不做,但是手动输入它,然后就可以了。那么如何让vs扩展接受这些按键序列呢?

想到了两种解决方案。

使用内置 vim-textobj-entire

文本对象 ae 表示 Vim 中 VSCode 缓冲区的全部内容。您可以将此文本对象与 d 命令结合使用。

dae

添加您自己的映射

将以下内容添加到 VSCode 中的 settings.json 文件中。

    "vim.normalModeKeyBindingsNonRecursive": [
        {
        "before": ["<leader>", "s"],
        "after": ["g", "g", "d", "G"]
        }
     ]

然后您可以输入<leader>-s来删除您当前编辑器的内容。

请注意,没有必要目测select您要删除的内容;因此我使用了 ggdG.