vscode中vim的配置

 

用起来还比较合适了,建议使用autohotkey将caplock映射为esc,但目前好像只能每次开机都设置下,不知道为什么

 

新建一个capslock.ahk的文件

#NoEnv
SendMode, Input
SetWorkingDir %A_ScriptDir%

*CapsLock:: Escape

将这个文件拖动到桌面AutoHotKey快捷键方式上就可以生效了,以下是vscode中settings.json中关于vim的配置

 

复制代码

复制代码
{
 //vim setting
  "vim.useSystemClipboard": true,
  "vim.foldfix": true,
  "vim.commandLineModeKeyBindingsNonRecursive": [],
  "vim.insertModeKeyBindings": [
    {
      "before": ["j", "k"],
      "after": ["<ESC>"]
    },
    {
      "before": ["<leader>", "e"],
      "after": ["<ESC>"]
    }
  ],
  "vim.normalModeKeyBindingsNonRecursive": [
    {
      "before": ["<leader>", "n", "d"],
      "commands": ["workbench.files.action.createFolderFromExplorer"]
    },
    {
      "before": ["<leader>", "n", "f"],
      "commands": ["workbench.files.action.createFileFromExplorer"]
    },
    {
      "before": ["<tab>"],
      "commands": ["workbench.action.nextEditor"]
    },
    {
      "before": ["<S-tab>"],
      "commands": ["workbench.action.previousEditor"]
    },
    {
      "before": ["<leader>", "h"],
      "after": ["^"]
    },
    {
      "before": ["<leader>", "f"],
      "commands": ["revealInExplorer"]
    },
    {
      "before": ["<leader>", "t"],
      "commands": ["workbench.action.terminal.openNativeConsole"]
    },
    {
      "before": ["<leader>", "s", "b"],
      "commands": ["workbench.action.toggleSidebarVisibility"]
    },
    {
      "before": ["<leader>", "w", "r"],
      "commands": ["workbench.action.splitEditorRight"]
    },
    {
      "before": ["<leader>", "w", "d"],
      "commands": ["workbench.action.splitEditorDown"]
    },
    {
      "before": ["<leader>", "w", "n"],
      "commands": ["workbench.action.moveEditorToNextGroup"]
    },
    {
      "before": ["<leader>", "w", "p"],
      "commands": ["workbench.action.moveEditorToPreviousGroup"]
    },
    {
      "before": ["<leader>", "y"],
      "after": ["y", "y"]
    },
    {
      "before": ["<leader>", "i"],
      "after": ["I"]
    },
    {
      "before": ["<leader>", "a"],
      "after": ["A"]
    },
    {
      "before": ["<leader>", "d"],
      "after": ["d", "d"]
    },
    {
      "before": ["<leader>", "s"],
      "after": ["workbench.action.files.saveAll"]
    },
    {
      "before": ["<leader>", "g", "c"],
      "after": ["workbench.action.showCommands"]
    }
  ],
  "vim.visualModeKeyBindingsNonRecursive": [
    {
      "before": [">"],
      "after": [">", "g", "v"]
    },
    {
      "before": ["<"],
      "after": ["<", "g", "v"]
    }
  ],
  "vim.operatorPendingModeKeyBindings": [],
  "vim.leader": "<space>",
  "editor.lineNumbers": "relative",
  "vim.useCtrlKeys": true,
  "vim.handleKeys": {
    "<C-a>": false,
    "<C-f>": false,
    "<C-n>": false,
    "<C-h>": false,
    "<C-w>": false
  },
  }
复制代码
复制代码

posted on   风中狂笑  阅读(930)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示