【问题标题】:VSCodeVim - How to bind text inserts properly?VSCodeVim - 如何正确绑定文本插入?
【发布时间】:2019-09-29 16:12:19
【问题描述】:

我正在尝试弄清楚如何在 VSCodeVim 中创建文本插入,例如:

inoremap <leader>sys <esc>ISystem.out.println(<esc>A);
vnoremap <leader>sys yOSystem.out.println(<esc>pA);

但我唯一能想到的就是一些 hacky:

"vim.insertModeKeyBindingsNonRecursive": [
    {
        // Console.WriteLine
        "before": ["<leader>", "c", "w", "l"],
        "after": ["<Esc>","I","C","o","n","s","o","l","e",".","W","r","i","t","e","L","i","n","e","(","<Esc>","A",")",";"]
    }

它运行良好。因为有这么多单独的键,所以延迟创建了一个非常令人愉悦的动画 XD 问题是编写它们。我也为 For 循环写了一个,这不是一个好的体验。

必须有更好、更简单的方法来做到这一点!如果我在某处的引号内有多个字符,它会停止序列。

谢谢!

【问题讨论】:

    标签: vim visual-studio-code vscodevim


    【解决方案1】:

    您可以使用命令editor.action.insertSnippet 来完成。

    {
      "vim.insertModeKeyBindingsNonRecursive": [
        {
          "before": ["<leader>", "c", "w", "l"],
          "commands": [
            {
              "command": "editor.action.insertSnippet",
              "args": { "snippet": "Console.WriteLine();" }
            }
          ]
        }
      ]
    }
    

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 2011-12-29
      • 1970-01-01
      • 1970-01-01
      • 2011-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多