首页 > 其他分享 >结合使用VSCode和Neovim

结合使用VSCode和Neovim

时间:2024-11-11 19:56:59浏览次数:4  
标签:Neovim neovim 插件 VSCode vim windows 结合

原文
回看第一次我发布记录初步配置好neovim的帖子已经过去了两年。说实话,我并没有用neovim提高我的工作效率,不如说配置它倒是花费了我很多时间。刚开始遇见neovim,我觉得它很酷炫,丰富的插件生态,使用lua而不是“难懂”的viml,结合tmux等终端工具,我感觉我也可以像大神那样,用纯键盘流灵活的切换界面,写代码写到飞起。

但是在经历了一波三折、东拼西凑的配置历程后,我发现neovim还是有一些致命的痛点影响了我。

  • 很多插件依赖linux环境,在windows下体验并不好(或者无法使用),同时windows的终端界面工具不算太契合neovim(我用的alacritty,非常好,但是例如windows平台下neovim报错下划线显示异常等情况无法修复,是windows平台的问题。)
  • windows平台下使用插件有些异常,所以我是在wsl2下使用neovim的,同时还可以使用tmux等终端工具。但是依旧有影响体验的问题,比如粘贴复制,想要将neovim和宿主机的粘贴板共享需要额外的设置步骤,而且我找到的方法在复制粘贴操作后会有延迟。
  • 最后,我觉得最关键的痛点在于LSP,虽然很多LSP是开源的,例如python有pyright,但是VSCode的pylance是pyright的“高级版”,而且没有开源。这就导致我在neovim写python时,很多代码感知,补全并没有比在VSCode上强。

用回VSCode+VSCodeVim后,虽然这个vim插件性能不好,很多vim操作因为是模拟实现的原因,对比原vim来说差别过大,但是我用起来还可以接受。本周周末,我又想简单折腾一下,所以我把目光又放在了'vscode-neovim'这个插件上。'vscode-neovim'原理是以neovim为后端,vscode作为界面显示,该插件将neovim实例嵌入到vscode,同步文本编辑操,获得几乎完整的vim体验。

所以我的目的就很明确了:以VSCode作为编辑前端,主要用于界面的显示和编辑,同时还能继续享受VSCode各类插件以及LSP。而Neovim则作为编辑的后端,尽可能只配置基础功能和自定义快捷键,不在配置各种复杂插件,从而简化配置,减少冲突和性能损失。最后分享我的配置

现在这个模式应该最契合我的日常工作流,可以同时享受VSCode和Neovim各自的优点,并且方便维护我的配置。或许在以后的空闲时间里,我会继续回去尝试折腾Neovim。

标签:Neovim,neovim,插件,VSCode,vim,windows,结合
From: https://www.cnblogs.com/allworldg/p/18540453/use-neovim-in-vscode

相关文章

  • wsl2踩坑日记(配置代理/zsh+p10k/Neovim)
    1.proxywsl--installUbuntu-24.04安装好wsl之后,测试了一下v2rayN的代理能不能正常使用(用vultr服务器搭建的校园网ipv6免流),发现可以curlwww.google.com,但是sudoapt-getupdate报错Clearsignedfileisn'tvalid,got'NOSPLIT'(doesthenetworkrequireauthe......
  • 解决 VSCode 中 C/C++ 编码乱码问题的两种方法
    解决VSCode中C/C++编码乱码问题的两种方法在中国地区,Windows系统中的cmd和PowerShell默认编码是GBK,但VSCode默认使用UTF-8编码。这种编码不一致会导致在VSCode终端中运行C/C++程序时出现乱码。以下介绍两种方法来解决这一问题。方法一:通过CodeRunner......
  • ESP32开发__搭建VSCode开发环境试编译项目
    目录1.概述2.安装相关必要插件3.VSCode及相关扩展件安装3.1.VSCode3.2.ESP-IDFVisualStudioCodeExtension3.3.ConfigureESP-IDF4.Demo试运行4.1.打开工程4.2.连接设备并配置端口4.3.配置工程4.3.1. 设置“目标”芯片4.3.2.menuconfig配置工程选......
  • 实现无感刷新Token技术:.Net Web API与axios的完美结合
    这是我之前分享在星球里面的课程,下面整理下,分享下这个无感刷新Token技术方案。我们都知道Token是有设置有效期的,为了安全都不会设置过长的有效期;但设置有效期太短,又会导致经常需要重新登录。这就需要无感刷新Token的方案,来提升用户体验。目前比较常用的方案是:双token机制。1......
  • 视野修炼第109期 | VSCode主题定制
    欢迎来到第109期的【视野修炼-技术周刊】,下面是本期的精选内容简介......
  • 内核源码+vscode+bear+clang实现函数任意跳转,无缝跳转,无缝阅读,无缝开发
    一、准备工作1、内核源码版本选择务必有一份能编译通过的《内核源码》,本次选择5.10版本的。#说明:5.10版本的《内核源码》里,在scripts/clang-tools目录下有《gen_compile_commands.py》文件,这个脚本也能生成《compile_commands.json》文件。已确定4.19版本没有,请尽量选择高版......
  • 【YOLOv8创新升级3】:ECA注意力机制与YOLOv8相结合 (代码实现)
    摘要主要理念ECANet的主要理念是在卷积操作中引入通道注意力机制,以增强特征表达能力。通过通道注意力机制,网络能够动态地调整每个通道的重要性,使其聚焦于关键特征并抑制无关信息。这样,ECANet在提升性能的同时,避免了额外的计算负担和参数增长。通道注意力模块通道注意......
  • 【CNN-GRU-Attention】基于卷积神经网络和门控循环单元网络结合注意力机制的多变量回
    ......
  • HarmonyOS Next加密安全的双剑合璧:Device Certificate Kit与Crypto Architecture Kit
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在华为鸿蒙HarmonyOS的安全世界里,Device......
  • 利用 Screen 保持 VSCode 连接远程任务持续运行
    在Linux上使用screen是一种保持进程持续运行的便捷方式,即使用户断开SSH连接,进程也不会中断。我在使用VSCode连接AutoDL时,不知道如何能够使进程保持运行,后查阅资料可以使用screen命令完成该需求。连接远程服务器首先使用VSCode或者PyCharm连接到远程服务器启动一个新的s......