0
点赞
收藏
分享

微信扫一扫

在vs code中设置vim实现连续粘贴

witmy 2022-04-13 阅读 50
vscodevim

在使用vim的时候,很多情况下都会用到连续粘贴,比如复制了一个代码以后,手动的进行粘贴,而这个时候往往粘贴了一次以后,下一次粘贴的内容就是上一条被覆盖的内容了(这个是vim实现的逻辑,本文不过多讨论),如果想要实现一次复制连续粘贴,可以用命令行的替换,并且加上\c选项来手动选择,也可以使用vim中的命名为0的寄存器进行连续复制,即在想要连续复制的地方输入 “0p 也可以实现连续复制粘贴,但是这两种方式都挺麻烦的,那么有没有什么偷懒的办法呢?我想到了改键,于是我查了一下在vs code下vim改键的方法,并没有用vimrc而是用的json,反正看起来也不复杂,如果有其他拓展需求的话,可以仔细看看下面的链接。

VSCodeVim/Vim: Vim for Visual Studio Code (github.com)icon-default.png?t=M276https://github.com/VSCodeVim/Vim在vs code中设置连续粘贴的话,需要修改到settings json文件,那么我们打开这个文件以后,就可以去添加vim相关的配置了(前提是下了vim插件),我的settings json与vim配置的相关文件如下:

    // vim config
    "vim.statusBarColors.easymotioninputmode": "#007acc",
    "vim.leader": "<space>",
    "vim.statusBarColors.easymotionmode": "#007acc",
    "vim.easymotion": true,
    "vim.commandLineModeKeyBindingsNonRecursive": [],
    "vim.insertModeKeyBindings": [],
    "vim.normalModeKeyBindingsNonRecursive": [],
    "vim.visualModeKeyBindings": [
        // 支持连续粘贴
        {
            "before": [
                "<leader>",
                "p"
            ],
            "after": [
                "\"",
                "0",
                "p",
            ]
        },
    ],
    "vim.normalModeKeyBindings": [
        // 支持连续粘贴
        {
            "before": [
                "<leader>",
                "p"
            ],
            "after": [
                "\"",
                "0",
                "p",
            ]
        },
    ],
    // vim config end

我的方法是在vim 的normal mode和visual mode的时候,用 <leader>p 替换 “0p 实现连续复制,所以也需要根据喜好设置一下vim的leader键(如下代码),我设置的是空格,也可以设置成你喜欢的其他键

"vim.leader": "<space>",

在改完settings json以后,就可以愉快的连续复制了。

举报

相关推荐

0 条评论