当前位置: 首页 > 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.lryc.cn/news/578898.html

相关文章:

  • STM32模拟I2C获取AP3216C光学接近传感器数据
  • Linux-修改线上MariaDB服务端口号
  • 【网工|知识升华版|实验】1 登录华为设备并配置
  • IDEA2025 Version Control 窗口 local changes显示
  • Adobe高阶技巧与设计师创意思维的进阶指南
  • 免Mac上架实战:全平台iOS App上架流程的工具协作经验
  • 开源计算机视觉的基石:OpenCV 全方位解析
  • 同一水平的 RISC-V 架构的 MCU,和 ARM 架构的 MCU 相比,运行速度如何?
  • containerd 项目主要目录简要说明
  • 多模态进化论:GPT-5V图文推理能力在工业质检中的颠覆性应用
  • AI智能体时代来临:数据分析的变革与自动化之路
  • Linux缓存调优指南:提升服务器性能的关键策略
  • Android Native 之 init初始化selinux机制
  • 【.NET Framework 窗体应用程序项目结构介绍】
  • day046-tomcat与部署war包、jar包
  • java实现日志记录-注解方式
  • 使用哪种语言的人更容易通过面试?
  • 【Web前端】优化轮播图展示(源代码)
  • (一)大语言模型的关键技术<-AI大模型构建
  • 360安全卫士占用5037端口(ADB端口)解决方案
  • Wps开放平台v5升级v7上传实体文件踩坑(Java使用restTemplate)
  • 基于开源链动2+1模式AI智能名片S2B2C商城小程序的场景零售创新研究
  • Mac电脑 卸载工具 App Cleaner
  • Java 大视界 -- Java 大数据在智能医疗健康管理中的慢性病风险预测与个性化干预(330)
  • 带GPU启动 Docker 容器
  • FAISS 简介及其与 GPT 的对接(RAG)
  • [CS创世SD NAND征文] 精准控制的坚固基石:CS创世SD NAND在华大HC32F4A0运动控制卡中的高可靠应用
  • 7月2日星期三今日早报简报微语报早读
  • Java AQS(AbstractQueuedSynchronizer)详解
  • 【前端】基础 - HTML基础标签和样式设置