VSCode 安装NeoVim扩展(详细)

目录

1、安装NeoVim扩展

2、windows安装Neovim软件

3、优化操作相关的配置:

5、Neovim最好的兼容性配置

6、技巧和特点

6.1 故障排除

6.2、Neovim 插件组合键设置

6.3、跳转列表


1、安装NeoVim扩展

在扩展商店搜索NeoVim,安装扩展

2、windows安装Neovim软件

下载安装Neovim.exe软件包 0.9.0版本或更新版本(建议0.10版本),下载地址为:https://neovim.io/doc/

  • 在VSCode上扩展配置中设置Neovim的安装路径,你需要明确Neovim安装的完整路径,比如windows下是: "C:\Neovim\bin\nvim.exe" ,linux下是 "/usr/local/bin/nvim"。
  • 设置id是"vscode-neovim.neovimExecutablePaths.win32/linux/darwin",win32/linux/darwin分别对应你的系统

方法一:通过命令行打开setting.json

方法二:在扩展商店打开

3、优化操作相关的配置:

方法1:在设置->功能->扩展->Experimental:Affinity里添加

asvetliakov.vscode-neovim = 1

方法2:

在setting.json里添加

settings.json: "extensions.experimental.affinity": { "asvetliakov.vscode-neovim": 1 },

4、NeoVim init.vim配置

由于许多Vim插件可能会在VSCode中引起问题,因此建议从空的init.vim开始。有关支持哪些类型的插件的指南,请参见故障排除。

在Github上创建问题之前,请确保您可以使用空init.vim重现问题。没有VSCode扩展。

确认Neovim是否跑在VSCode里,可以在init.vim里添加如下配置:

if exists('g:vscode') " VSCode extension 
else " ordinary Neovim endif

用lua语言是:

if vim.g.vscode then -- VSCode extension 
else -- ordinary Neovim end

为了有条件激活插件,vim-plug有一些解决方案。packer.nvim和lazy.nvim已经内置支持了通过cond=vim.g.vscode配置。配置vim插件看插件的帮助文档。

5、Neovim最好的兼容性配置

尽管该扩展努力与旧版本的Neovim尽可能兼容,但一些旧版本可能有一些不再存在的怪癖。有鉴于此,建议在一些旧版本中使用某些配置设置,以获得最佳体验。这些可以在维基上找到。

6、技巧和特点

  • 文件和编辑器管理命令比如:e / :w / :q / :vsplit / :tabnext /等等被映射到相应的VSCode命令且行为可能不同。

6.1 故障排除

通过:Output:Focus on Output View 并且选择vscode-neovim来看log

在VSCode设置里使能vscode-neovim.neovimClean,设置之后启动Nvim不带你的插件(nvim -- clean).

Neovim插件可以做任何事情。尤其是视觉效果会导致视觉伪影。vcode -neovim尽其所能地融合了Nvim和VSCode的视觉效果,但它还远远不够完美。您可能需要禁用一些会导致视觉效果的Nvim插件。

  • 如果遇到渲染问题(视觉伪影),请尝试按CTRL-L强制Nvim重新绘制。
  • 如果你得到无法初始化vcode -neovim: 命令 'type'已经存在的消息,卸载其他使用registerTextEditorCommand("type",…)的VSCode扩展(如VSCodeVim或Overtype)。
  • 如果你有任何性能问题(通常是光标抖动),请确保你没有使用这些类型的扩展:
  • 任何经常渲染装饰器的东西:

        行号扩展(VSCode内置了对正常/相对行号的支持)

        缩进指南扩展(VSCode有内置的缩进指南)

        括号高亮显示扩展(VSCode有内置功能)

  • 延迟扩展主机的VSCode扩展,如“括号对着色器”
  • 增加延迟并导致性能问题的Vim插件。
  • 确保禁用不需要的插件,因为许多插件在VSCode中没有意义,可能会导致问题。

你不需要任何代码,高亮,补全,LSP插件以及任何生成窗口/缓冲区的插件(nerdtree和类似的),模糊查找器等。

许多导航/文本对象/编辑插件应该是好的。

如果你不确定,禁用所有其他扩展(在终端输入code --disable-extensions),重新加载VSCode窗口,在报告它之前看看问题是否仍然存在。

6.2、Neovim 插件组合键设置

配置:

  • compositeTimeout
  • compositeKeys(组合键)

例子:

在你的setting.json里添加

  • jj组合键,在插入模式,快速输入jj会退出插入模式
{ "vscode-neovim.compositeKeys": { "jj": { "command": "vscode-neovim.escape", }, }, 
}
  • jk组合键,在插入模式,快速输入jk会退出插入模式并保存修改
{ "vscode-neovim.compositeKeys": { "jk": { // Use lua to execute any logic "command": "vscode-neovim.lua", "args": [[ "local code = require('vscode')", "code.action('vscode-neovim.escape')",     "code.action('workbench.action.files.save')", ], ], }, }, }

组合退出命令迁移:

已弃用" vcode -neovim. compositeescape1 "和" vcode -neovim. compositeescape2 "命令。 迁移:   

  1. 在keybindings.json中使用vcode -neovim. compositeescape删除键绑定。  
  2. 在settings.json中配置compositeKeys来替换删除的键绑定。 

例子:

如果你有下列的按键绑定在keybindings.json:

{ "key": "j", "command": "vscode-neovim.compositeEscape", "when": "neovim.mode == insert && editorTextFocus", "args": "j" 
}

然后你应该移除并增加下列的配置settings.json:

{ "vscode-neovim.compositeKeys": { "jj": { "command": "vscode-neovim.escape" } } 
}

6.3、跳转列表

VSCode的跳转列表被使用代替Neovim的,这是为了使VSCode的本地导航(鼠标点击,跳转到定义等)可以通过跳转列表进行导航。 

如果你使用客制化映射,确认绑定workbench.action.navigateBack / workbench.action.navigateForward

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/354806.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

律所优选管理软件排名:Alpha法律智能操作系统领先行业

面对庞大复杂的管理体量,律所一体化建设面临的首要问题便是信息化系统的建设与应用,即统一管理平台的问题。Alpha法律智能操作系统集法律大数据、律所管理、人工智能于一体,从业务、人员、信息三个板块最大限度支持律所数字化建设&#xff0c…

JavaEE大作业之班级通讯录系统(前端HTML+后端JavaEE实现)PS:也可选网络留言板、图书借阅系统、寝室管理系统

背景: 题目要求: 题目一:班级通讯录【我们选这个】 实现一个B/S结构的电子通讯录,其中的每条记录至少包含学号、姓名、性别、班级、手机号、QQ号、微信号,需要实现如下功能: (1)…

东郊到家类型小程序APP软件基于SpringBoot开发的系统源码

项目背景 在快节奏的现代生活中,人们越来越追求高效、便捷的生活方式。上门服务作为一种新型的服务模式,正逐渐受到广大用户的青睐。而这一切的背后,离不开技术的强大支撑。今天,我们就来探讨一下上门服务类型软件的技术魅力&…

LeetCode 1789, 6, 138

目录 1789. 员工的直属部门题目链接表要求知识点思路代码 6. Z 字形变换题目链接标签思路代码 138. 随机链表的复制题目链接标签思路代码 1789. 员工的直属部门 题目链接 1789. 员工的直属部门 表 表Employee的字段为employee_id,department_id和primary_flag。…

Vue3【二十二】Vue 路由模式的嵌套路由和用query给组件的RouterLink传参

Vue3【二十二】Vue 路由模式的嵌套路由和用query给组件传参 Vue3【二十二】Vue 路由模式的嵌套路由和用query给组件传参 RouterLink 的两种传参方法 RouterView 案例截图 目录结构 代码 index.ts // 创建一个路由器,并暴漏出去// 第一步:引入createRou…

中新赛克两款数据安全产品成功获得“可信数安”评估测试证书

6月19日,2024数据智能大会在北京盛大召开。 会上,中国2024年上半年度“可信数安”评估测试证书正式颁发。中新赛克两款参评产品凭借过硬的技术水准和卓越的应用效果,成功获得专项测试证书。 2024年上半年度“可信数安”评估测试通过名单 中新…

卷积篇 | YOLOv8改进之引入重新参数化再聚焦卷积RefConv | 即插即用

前言:Hello大家好,我是小哥谈。论文提出了重新参数化再聚焦卷积RefConv作为常规卷积层的替代品,它是一个即插即用模块,可以在没有任何推理成本的情况下提高性能。具体来说,在给定预训练模型的情况下,RefConv对从预训练模型继承的基核进行可训练的再聚焦变换,以建立参数之…

【Python】使用OpenCV特征匹配检测图像中的【特定水印】

如果没有方向 往哪里走都是前方 做自己的光 不需要多亮 曾受过的伤 会长出翅膀 大雨冲刷过的天空会更加明亮 流过泪的眼睛也一样 做自己的光 悄悄的发亮 逆风的方向 更容易飞翔 世界怎样在于你凝视它的目光 那未曾谋面过的远方 或许就在身旁 &#x1f3b5…

【保姆级教程】Linux 基于 Docker 部署 MySQL 和 Nacos 并配置两者连接

一、Linux 部署 Docker 1.1 卸载旧版本(如有) sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine1.2 安装 yum-utils 包 sudo yum install -y…

Ubuntu20.04.6操作系统安装教程

一、VMware Workstation16安装 选择安装VMware Workstation,登录其官网下载安装包,链接如下: 下载 VMware Workstation Pro 下载后运行安装向导,一直Next即可。 二、Ubuntu镜像下载 ubuntu20.04 选择需要下载的镜像类型下载即…

LogicFlow 学习笔记——10. LogicFlow 进阶 边

我们可以基于 Vue 组件自定义边,可以在边上添加任何想要的 Vue 组件,甚至将原有的边通过样式隐藏,重新绘制。 如 Example3 中所示: 锚点 默认情况下,LogicFlow 只记录节点与节点的信息。但是在一些业务场景下&#…

华为数据驱动的企业数字化转型之路

华为数据驱动的企业数字化转型之路 数据驱动的数字化转型是企业未来发展的关键。通过构建完善的数据治理体系,包括差异化的数据管理、面向业务的信息架构、数据底座建设和自助数据服务,企业可以提升数据的利用效率和决策能力。本文将根据华为数据治理相…

服务端⾼并发分布式结构演进之路

在进行技术学习过程中,由于大部分读者没有经历过一些中大型系统的实际经验,导致无法从全局理解一些概念,所以本文以一个"电子商务"应用为例,介绍从一百个到千万级并发情况下服务端的架构的演进过程,同时列举…

JavaEE多线程(2)

文章目录 1..多线程的安全1.1出现多线程不安全的原因1.2解决多线程不安全的⽅法1.3三种典型死锁场景1.4如何避免死锁问题2.线程等待通知机制2.1等待通知的作用2.2等待通知的方法——wait2.3唤醒wait的方法——notify 1…多线程的安全 1.1出现多线程不安全的原因 线程在系统中…

一名女DBA的感谢信,到底发生了什么?

昨日我们收到这样一通来电 “早上九点刚上班便收到业务投诉电话,系统卡顿,接口失败率大增,怀疑数据库问题。打开运维平台发现是国产库,生无可恋,第一次生产环境遇到国产库性能问题,没什么排查经验&#xf…

数学建模基础:线性模型

目录 前言 一、线性方程组 二、线性规划 三、线性回归 四、线性模型的应用 五、实例示范:医疗成本预测 步骤 1:导入数据 步骤 2:数据预处理 步骤 3:建立多元线性回归模型 步骤 4:模型验证 步骤 5&#xff1…

2024 年最新 windows 操作系统部署安装 redis 数据库详细教程(更新中)

Redis 数据库概述 Redis 是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中介。Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基…

遥感图像地物覆盖分类,数据集制作-分类模型对比-分类保姆级教程

遥感图像地物覆盖分类,数据集制作-分类模型对比-分类保姆级教程 在遥感影像上人工制作分类数据集采用python+gdal库制作数据集挑选分类模型(RF、KNN、SVM、逻辑回归)选择随机森林模型建模分类遥感图像预测在遥感影像上人工制作分类数据集 1.新建shp文件 地理坐标系保持和影像…

紫光展锐芯片进入烧录模式

实验平台:移远通信SC200L搭载SMART-EVB-G5开发板 软件进入: SPRD平台芯片可以通过adb进入fastboot模式,由fastboot flash boot等指令烧录: $ adb root $ adb reboot fastboot $ fastboot flash boot boot.img 由于usb传输一般都…

2020年中国1km格网耕地破碎度数据集

摘要 耕地破碎度是对耕地破碎化的定量描述,耕地破碎化是指由于自然或人为因素,耕地图斑数量增加,斑块大小减小,隔离程度增加,呈现出分散和无序格局。破碎化不仅会影响生态系统的结构和功能,同时不利于提高耕…