十分钟配置好Neovim go开发环境(其他语言一样)

文章目录

    • 前言
    • 仓库地址
    • 用法
    • 快捷键
    • 问题反馈

前言

这篇文章的目的是为了分享下我自己的Neovim配置。

本人是Golang程序员,最开始使用的IDE是JetBrains Goland。有一说一这个ide适配度很高,认识的很多人都使用这个。但是它也有几个对我来说的缺点:

  1. 内存占用度高,我个人电脑配置不太跟的上
  2. 费用较高(DDDD)

去年的时候换了vim来作为我的IDE,用各种插件来满足我日常开发的需求。之所以没选用VsCode是因为听人说打开大型项目的时候不太给力(我也没试过)。

今年决定换成Neovim,因为自己意识到了几个问题:

  1. 万一以后换电脑,重新配置vim过于麻烦。本人用到了YouCompleteMeCstags插件,安装过这两个的应该知道多么蛋疼。
  2. Neovim可以采用lua进行配置,它比vim的vimscript更加友好。
  3. Neovim社区更加活跃,且近几年比vim更早支持新特性。如悬浮终端与异步api。

效果图:

nvim

nvim2

nvim3


仓库地址

本人仓库配置地址: my-nvim

只需几步,即可开箱即用。


用法

确保你本地的Neovim,lua,nodejs大于指定版本

neovim >= 0.8.0
nodejs >= v14
lua >= 5.2.0

自行备份好当前的Neovim配置,接着:

rm -rf ~/.config/nvim/
cd ~/.config
git clone git@github.com:here-Leslie-Lau/my-nvim.git
mv my-nvim nvim
cd nvim && nvim lua/plugins.lua

在执行最后一步之后,在Neovim中按:w。等待插件完毕即可。

代码提示这块我用的是coc.nvim,所以我会安装一些我需要的lsp。如coc-go, coc-json, coc-lua, coc-git, coc-snippets。你可以自行选择安装你需要的:

:CocInstall <你需要的lsp>

特别注意,coc-git为必须的。因为用到了相关git配置。不知道lsp名称的话,可以去官网查询


快捷键

仓库里面有介绍,各位可以移步到仓库中。

说明下,快捷键可以在这两个文件中更改: lua/keymaps.lua lua/options-plugins.lua

前者是更改一些通用的快捷键,后者是更改编程语言相关的。


问题反馈

有任何问题都可以在博客下方的评论区联系我,或者去仓库提个issue

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

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

相关文章

青少年软件编程(Python) 等级考试试卷(五级)2023年5月

青少年软件编程&#xff08;Python&#xff09; 等级考试试卷&#xff08;五级&#xff09; 分数&#xff1a; 100 题数&#xff1a; 38 一、 单选题(共 25 题&#xff0c; 共 50 分) 1.有列表 L[ UK , china , lili , "张三"]&#xff0c; print(L[-2]) 的结果是&…

认识C语言

目录 1.C语言的发展历史 2.C语言的特点 3.C语言的应用领域 1.C语言的发展历史 C语言的发展历史可以追溯到20世纪60年代。在那个时候&#xff0c;计算机科学领域存在着多种编程语言&#xff0c;但它们在功能、效率和可移植性等方面存在一些限制。 C语言的起源可以追溯到贝尔实…

DataX将MySQL数据同步到HDFS中时,空值不处理可以吗

DataX将MySQL数据同步到HDFS中时&#xff0c;空值存到HDFS中时&#xff0c;默认是存储为\N&#xff0c;这样会有两个缺点&#xff1a; 会产生歧义&#xff0c;如果MySQL业务数据中有\N数据&#xff0c;那么存储到HDFS上是\N&#xff0c;null值存储也是\N&#xff0c;当用Hive查…

深入解析MySQL:类型、优势与使用实例

摘要&#xff1a;本文将深入探讨MySQL数据库的类型、为何选择这种类型的数据库以及其优点。通过详细的解释、具体的示例和输出结果&#xff0c;我们将全面介绍MySQL数据库的相关知识&#xff0c;并提供最后的百十字总结。 1. 引言 MySQL是一种常用的关系型数据库管理系统&…

在矩池云使用Llama2-7B的具体方法

今天给大家分享如何在矩池云服务器使用 Llama2-7b模型。 硬件要求 矩池云已经配置好了 Llama 2 Web UI 环境&#xff0c;显存需要大于 8G&#xff0c;可以选择 A4000、P100、3090 以及更高配置的等显卡。 租用机器 在矩池云主机市场&#xff1a;https://matpool.com/host-m…

linux下软件安装 - 与GPT对话

1 cmake 没有uninstall 你是对的,CMake 默认情况下并没有提供 make uninstall 目标。这是因为 make install 操作是在特定的目录下进行安装的,CMake 不知道安装到了哪里以及哪些文件被安装了。因此,没有直接支持的 make uninstall 目标来进行卸载。 如果你想要卸载通过 mak…

unity事件处理

方法调用 //发送事件 【发送事件码&#xff0c;发送消息内容】 EventCenterUtil.Broadcast(EventCenterUtil.EventType.Joystick, ui);//监听无参事件 EventCenterUtil.AddListener(EventCenterUtil.EventType.Joystick, show); public void show(){}//发送事件 有参事件 Eve…

自然语言处理从入门到应用——LangChain:提示(Prompts)-[基础知识]

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 模型编程的新方法是使用提示&#xff08;Prompts&#xff09;。提示指的是模型的输入。这个输入通常由多个组件构成。PromptTemplate负责构建这个输入&#xff0c;LangChain提供了多个类和函数&#xff0c;使得构建和处…

快应用编译前如何统一替换字符串

假设你有一个需求&#xff0c;要把代码里的ad-button替换为div&#xff0c;因为是mi看ad-button不爽。 这还不简单么&#xff0c;webpack有那么多成熟的plugins和loaders&#xff0c;本身我对webpack也只是略知一二&#xff0c;随便一搜网上的解决方案&#xff0c; string-re…

发点实用的快捷键(mac

切换输入法&#xff1a;ctrlspace /ctrloptionspace&#xff08;更快捷 切换网页&#xff1a; shifttab 切换应用界面&#xff1a;alttab 关闭页面&#xff1a;altw 搜索&#xff1a;altspace 展示mac隐藏文件&#xff1a; Commangshift . (点) 以下是一些浏览器快捷键&am…

Windows磁盘清理

针对开发同学&#xff0c;磁盘不够用时&#xff0c;常见的需要清理的内容&#xff1a; 1、虚拟机镜像、Docker镜像等。 通常占用比较大的存储&#xff0c;一个实例从几个G到几十个G。 2、Maven本地仓库。 如果公司有私服&#xff0c;可以全部删掉重新依赖&#xff0c;否则不…

ArcGIS应用

ArcGIS产品线为用户提供一个可伸缩的&#xff0c;全面的GIS平台。ArcObjects包含了许多的可编程组件&#xff0c;从细粒度的对象&#xff08;例如单个的几何对象&#xff09;到粗粒度的对象&#xff08;例如与现有ArcMap文档交互的地图对象&#xff09;涉及面极广&#xff0c;这…

Spring优雅的在事务提交/回滚前后插入业务逻辑

业务背景 业务那边想要统计下我们这边每天注册商户成功和失败的数量&#xff0c;你看看怎么给他弄下这个功能 功能实现 TransactionSynchronizationManager.registerSynchronization&#xff0c;发现这是spring事务提供的注册回调接口的方法。 在事务注解方法中&#xff0c…

Flutter详解和代码实例

目录 1. Flutter 基础概念2. Flutter 核心架构3. Flutter 组件库4. Flutter 布局与渲染5. Flutter 网络请求6. Flutter 调试工具7.实例8.优缺点8.1 Flutter 框架的优点包括&#xff1a;8.2 Flutter 框架的缺点包括&#xff1a; Flutter 是一款由 Google 开发的跨平台移动应用开…

【嵌入式学习笔记】嵌入式入门1——GPIO

1.什么是GPIO General Purpose Input Output&#xff0c;即通用输入输出端口&#xff0c;简称GPIO&#xff0c;作用是负责采集外部器件的信息或者控制外部器件工作&#xff0c;即输入输出。 2.STM32 GPIO简介 2.1.GPIO特点 不同型号&#xff0c;IO口数量可能不一样&#x…

融合大数据、物联网和人工智能的智慧校园云平台源码 智慧学校源码

电子班牌系统用以展示各个班级的考勤信息、授课信息、精品课程、德育宣传、班级荣誉、校园电视台、考场信息、校园通知、班级风采&#xff0c;是智慧校园和智慧教室的对外呈现窗口&#xff0c;也是学校校园文化宣传和各种信息展示的重要载体。将大数据、物联网和人工智能等新兴…

1.2 eureka注册中心,完成服务注册

目录 环境搭建 搭建eureka服务 导入eureka服务端依赖 编写启动类&#xff0c;添加EnableEurekaServer注解 编写eureka配置文件 启动服务,访问eureka Euraka服务注册 创建了两个子模块 在模块里导入rureka客户端依赖 编写eureka配置文件 添加Services 环境搭建 创建父…

Moonbeam新增强大的互操作性功能至波卡生态

波卡上的领先多链开发平台Moonbeam发布适用于平行链间活动的新版本互操作性功能。最新的链更新Runtime 2401&#xff0c;是自Moonbeam上线后的最大更新&#xff0c;其中包括三个针对开发者于链上的里程碑式更新&#xff1a; 用于访问消息传递功能的预编译智能合约从其他波卡平…

Python批量将Excel内指定列的数据向上移动一行

本文介绍基于Python语言&#xff0c;针对一个文件夹下大量的Excel表格文件&#xff0c;对其中的每一个文件加以操作——将其中指定的若干列的数据部分都向上移动一行&#xff0c;并将所有操作完毕的Excel表格文件中的数据加以合并&#xff0c;生成一个新的Excel文件的方法。 首…

Qt应用开发(基础篇)——布局管理 Layout Management

目录 一、前言 二&#xff1a;相关类 三、水平、垂直、网格和表单布局 四、尺寸策略 一、前言 在实际项目开发中&#xff0c;经常需要使用到布局&#xff0c;让控件自动排列&#xff0c;不仅节省控件还易于管控。Qt布局系统提供了一种简单而强大的方式来自动布局小部件中的…