当前位置: 首页 > news >正文

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 或映射方案。你是否还有不习惯或冲突的按键?我可以帮你调好。

http://www.xdnf.cn/news/1078633.html

相关文章:

  • 电子电气架构 --- SOVD功能简单介绍
  • 如何系统性评估运维自动化覆盖率:方法与关注重点
  • Spark流水线数据探查组件
  • 【字节跳动】数据挖掘面试题0002:从转发数据中求原视频用户以及转发的最长深度和二叉排序树指定值
  • 计算机视觉的新浪潮:扩散模型(Diffusion Models)技术剖析与应用前景
  • 六、软件操作手册
  • 【Python】进阶 - 数据结构与算法
  • Python 高光谱分析工具(PyHAT)
  • Python 数据分析:numpy,说人话,说说数组维度。听故事学知识点怎么这么容易?
  • vue中的toRef
  • C#上位机串口接口
  • docker常见命令
  • 模型预测专题:强鲁棒性DPCC
  • Springboot开发常见注解一览
  • C++ 完美转发(泛型模板函数)
  • CSS外边距合并(塌陷)全解析:原理、场景与解决方案
  • apoc-5.24.0-extended.jar 和 apoc-4.4.0.36-all.jar 啥区别
  • 大数据平台与数据中台:从概念到落地的系统化实践指南
  • Point-LIO代码阅读与解析
  • opencv基础的图像操作
  • 回顾JAVA中的锁机制
  • 2-RuoYi-UI管理平台的启动
  • 少样本学习在计算机视觉中的应用:原理、挑战与最新突破
  • 第8章网络协议-NAT
  • ai之RAG本地知识库--基于OCR和文本解析器的新一代RAG引擎:RAGFlow 认识和源码剖析
  • HTTP 协议深入理解
  • 【51单片机单595点阵8按键调节速度方向花样】2022-6-18
  • 运用逆元优化组合计算#数论
  • monorepo + Turborepo --- 构建仓库结构
  • 创客匠人解构知识付费爆单密码:产品力打造与 IP 变现的深度耦合