vscode vim插件示例json意义
{
“vim.easymotion”: true,
“vim.incsearch”: true,
“vim.useSystemClipboard”: true,
“vim.useCtrlKeys”: true,
“vim.hlsearch”: true,
“vim.insertModeKeyBindings”: [
{
“before”: [“j”, “j”],
“after”: [“”]
}
],
“vim.normalModeKeyBindingsNonRecursive”: [
{
“before”: [“”, “d”],
“after”: [“d”, “d”]
},
{
“before”: [“”],
“commands”: [“:nohl”]
},
{
“before”: [“K”],
“commands”: [“lineBreakInsert”],
“silent”: true
}
],
“vim.leader”: “”,
“vim.handleKeys”: {
“”: false,
“”: false
},
// To improve performance
“extensions.experimental.affinity”: {
“vscodevim.vim”: 1
}
}
你贴的这段是 VSCode 的 settings.json 配置,针对 VSCodeVim 插件 做了定制,融合了 Vim 的高效操作与 VSCode 的现代体验。
下面我为你逐项详细解释配置含义,便于你理解和扩展:
⸻
🎯 基本功能开关
“vim.easymotion”: true,
✅ 开启 EasyMotion 支持,允许快速跳转到屏幕上的任意位置(如 \w 快速跳到某个单词)。
“vim.incsearch”: true,
✅ 开启“增量搜索”,你输入 /关键词 时会即时高亮匹配项。
“vim.useSystemClipboard”: true,
✅ 使用系统剪贴板(如 "+y 与系统剪贴板共享)—— 方便和外部程序复制粘贴。
“vim.useCtrlKeys”: true,
✅ 允许 Vim 使用 Ctrl 键绑定,例如 Ctrl-d 向下翻页。
“vim.hlsearch”: true,
✅ 启用搜索高亮。搜索关键字后会持续高亮,直到你取消高亮。
⸻
⌨️ 插入模式快捷键映射
“vim.insertModeKeyBindings”: [
{
“before”: [“j”, “j”],
“after”: [“”]
}
]
✅ 在插入模式中,连续输入 jj 会被映射为 (即退出插入模式),这是很多 Vim 用户喜欢的快速退出方式。
⸻
⌨️ 普通模式快捷键绑定(非递归)
“vim.normalModeKeyBindingsNonRecursive”: [
{
“before”: [“”, “d”],
“after”: [“d”, “d”]
},
• ✅ 绑定 <Space>d → dd(删除当前行)。即 leader 键是空格。
{
“before”: [“”],
“commands”: [“:nohl”]
},
• ✅ Ctrl+n 执行 :nohl,取消搜索高亮。
{
“before”: [“K”],
“commands”: [“lineBreakInsert”],
“silent”: true
}
]
• ✅ 按 K 执行 lineBreakInsert 命令(可能是自定义命令或插件命令),且不会在命令栏显示(silent)。
⸻
🔑 Leader 键设置
“vim.leader”: “”,
✅ 将 leader 键设为空格,便于类似快捷前缀操作(如 d)。
⸻
🔧 控制哪些快捷键由 Vim 插件处理
“vim.handleKeys”: {
“”: false,
“”: false
}
• ❌ 不由 Vim 插件处理 Ctrl+A、Ctrl+F:
• Ctrl+A:通常在 VSCode 中是全选。
• Ctrl+F:打开查找功能。
即它们保留为 VSCode 原生快捷键,不会被 Vim 插件拦截。
⸻
🧠 性能优化(让 Vim 插件占用独立线程)
“extensions.experimental.affinity”: {
“vscodevim.vim”: 1
}
✅ 把 Vim 插件分配到独立的渲染线程(Affinity 1),避免卡顿(实验性设置,适合大型项目或老机器)。
⸻
✅ 总结你这份配置的用途
• 兼容 Vim 操作,又保留 VSCode 原生快捷键(如 Ctrl+F)。
• 加强搜索体验(高亮、增量)。
• 提升输入体验(jj 退出插入模式)。
• 使用空格作为 leader 键,配合自定义命令更高效。
• 提升性能,适合大型项目或频繁编辑。
⸻
🔧 你可以继续添加的建议项
如果你用得更多,可以加入:
“vim.visualModeKeyBindings”: [
{
“before”: [“”, “y”],
“after”: [“”+", “y”]
}
]
实现:在可视模式下按 y 复制到系统剪贴板。
⸻
如果你有具体快捷键或某些 VSCode 原生操作和 Vim 冲突,我可以进一步帮你定制 vim.handleKeys 或映射方案。你是否还有不习惯或冲突的按键?我可以帮你调好。