欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VScode设置vim自定义按键映射

程序员文章站 2024-03-03 19:12:28
...

在vscode中下载vim插件后,如何设置vim按键映射?

方法

Github项目官方vim使用文档,里面有详细的按键映射指南,代码在settings.json文件里添加即可

VScode设置vim自定义按键映射

另外还有easy motion,easy sneak等功能都整合在这个插件里,跳转非常方便,你设置true开启岂可
VScode设置vim自定义按键映射

我的VScode里面settings json中的vim配置
VScode设置vim自定义按键映射

 // ===== VScode常用快捷键 (自定义)======
    // 代码格式化 cmd + shift + x 
    // 快速查找 command + p
    // =============== vim按键映射 ================
    // "vim.hlsearch": true, // 搜到的结果一直高亮显示j
    "vim.easymotion": true,
    "vim.sneak": true, // s<char><char> 跳转到下面第一次出现指定两个字符的地方
    "vim.useSystemClipboard": true, // 使用系统剪贴板
    "vim.leader": ",", // leader键
    // vim插入模式
    "vim.insertModeKeyBindings": [
        {
            "before": [
                "j",
                "j"
            ],
            "after": [
                "<esc>"
            ]
        }
    ],
    // vim命令模式
    "vim.normalModeKeyBindings": [
        // 保存并退出当前文件Q
        {
            "before": [
                "Q"
            ],
            "commands": [
                ":wq"
            ]
        },
        // 复制全文 ,v
        {
            "before": [
                "<leader>",
                "v"
            ],
            "after": [
                "g",
                "g",
                "V",
                "G",
                "y"
            ]
        }
    ],
    "vim.normalModeKeyBindingsNonRecursive": [
        // easymotion 快速跳转 ,s + <char>
        {
            "before": [
                "<leader>",
                "s"
            ],
            "after": [
                "<leader>",
                "<leader>",
                "s"
            ]
        },
        // 打开命令面板 :
        {
            "before": [
                ":"
            ],
            "commands": [
                "workbenjh.jaction.showCommands",
            ]
        },
        // 保存当前文件
        {
            "before": [
                "leader",
                "w"
            ],
            "commands": [
                "workbench.action.files.save",
            ]
        },
        // 移到行首H,j 移到行尾L
        {
            "before": [
                "H"
            ],
            "after": [
                "^"
            ]
        },
        {
            "before": [
                "L"
            ],
            "after": [
                "$"
            ]
        },
        // 删到行首,删到行尾  暂时只能用leader + H/L
        {
            "before": [
                "leader",
                "H"
            ],
            "after": [
                "d",
                "^"
            ]
        },
        {
            "before": [
                "leader",
                "L"
            ],
            "after": [
                "d",
                "$"
            ]
        },
    ],
    "vim.visualModeKeyBindingsNonRecursive": [
        // 调整缩进
        {
            "before": [
                ">"
            ],
            "commands": [
                "editor.action.indentLines"
            ]
        },
        {
            "before": [
                "<"
            ],
            "commands": [
                "editor.action.outdentLines"
            ]
        },
    ],
    // ========== vim按键映射 结束 ============