从零开始配置neovim

news/2026/1/16 22:20:13/文章来源:https://www.cnblogs.com/kira-muffy/p/19494220

前言

使用lazy配置neovim还算简单。
但由于许多插件和neovim本体更新迅速,许多教程已经过时(由于是新更新的,ai酱也不知道捏)。
整理一下配置过程。

init.lua

在配置目录下创建init.lua。
理论上只需要一个文件就能配置完nvim(只要你不嫌维护麻烦>_<)
文件结构大概长这样

.
├── init.lua
└── lua├── config│   ├── autocmds.lua│   ├── keymaps.lua│   ├── lazy.lua│   ├── options.lua└── plugins├── cmp.lua├── copilot.lua├── formatter.lua├── lspconfig.lua├── nvim-tree.lua├── telescope.lua├── theme.lua├── toggleterm.lua└── treesitter.lua

init.lua里用require将其他文件加载进来

require("config.options")
require("config.keymaps")
require("config.autocmds")
require("config.lazy")require("nvim-treesitter").install { 'c', 'cpp','rust', 'javascript','lua','html','vim','vimdoc', 'xml', 'python', 'markdown','markdown_inline', 'json', 'bash', 'zsh'}
vim.lsp.enable('clangd')
vim.lsp.enable('pyright')
vim.lsp.enable('rust_analyzer')

options里写option,keymaps里写keymap,autocmds里写auto command。
然后就创建完成了。

lazy插件管理

用lazy处理插件下载、更新、配置,很方便。
启动后会自动从github下载lazy,你可能需要处理一些网络问题。

local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) thenvim.fn.system({"git","clone","--filter=blob:none","https://github.com/folke/lazy.nvim.git","--branch=stable", -- latest stable releaselazypath,})
end
vim.opt.rtp:prepend(lazypath)
-- 加载插件
require("lazy").setup({-- 这里可以自动引入 lua/plugins 文件夹下的所有模块{ import = "plugins" },
})

其余插件

其余插件全部扔在plugins文件夹里,如果为空的话lazy不会启动。

主题

tokyonight。
大概这样写。config里写配置

return {"folke/tokyonight.nvim",lazy = false,priority = 1000,config = function()vim.cmd[[colorscheme tokyonight]]     end,
}

treesitter

语法高亮插件。
如果未安装主题可能看不到配色。
使用require("nvim-treesitter").install开启高亮

return {'nvim-treesitter/nvim-treesitter',lazy = false,build = ':TSUpdate'
}

conform

代码格式化插件。
为每个语言配置格式化工具,记得在外部安装好。

return {{"stevearc/conform.nvim",config = function()local conform = require("conform")conform.setup({formatters_by_ft = {html = { "prettier" },json = { "prettier" },lua = { "stylua" },markdown = { "prettier" },python = { "isort", "black" },rust = { "rustfmt" },},})vim.keymap.set({ "n", "v" }, "<leader>=", function()conform.format({lsp_fallback = true,async = false,timeout_ms = 500,})end, { desc = "Format file or range (in visual mode)" })end,},
}

LSP

理论上neovim 0.11自带lsp客户端,只需要配置lspconfig。
nvim-lspconfig经历了一次不兼容更新,现有的github master分支为新分支。
安装好后记得在init.lua里enable

return {{"neovim/nvim-lspconfig",},
}

cmp

自动补全插件。
需要用vim.lsp.config设置capabilities。

return {{"hrsh7th/nvim-cmp",dependencies = {"hrsh7th/cmp-nvim-lsp","hrsh7th/cmp-buffer","hrsh7th/cmp-path","neovim/nvim-lspconfig",},config = function()local cmp = require("cmp")local caps = require('cmp_nvim_lsp').default_capabilities()vim.lsp.config('*', {capabilities = caps})cmp.setup({completion = {autocomplete = false },sources = cmp.config.sources({{ name = "nvim_lsp" }, -- LSP{ name = "path" },     -- 路径{ name = "buffer" },   -- 当前文件内容 (Buffer)}),mapping = cmp.mapping.preset.insert({['<C-n>'] = cmp.mapping.select_next_item(),['<C-p>'] = cmp.mapping.select_prev_item(),['<C-i>'] = cmp.mapping.complete(),['<C-e>'] = cmp.mapping.confirm({ select = true }), }),})end,}
}

参考文献

https://dev.to/slydragonn/ultimate-neovim-setup-guide-lazynvim-plugin-manager-23b7
https://www.mintimate.cn/2023/01/10/guideForLunarvim
https://youngxhui.top/2023/07/nvim-guideline-1basic-config
https://github.com/rockerBOO/awesome-neovim

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

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

相关文章

2025年南京邮电大学计算机考研复试机试真题(解题思路 + AC 代码)

2025年南京邮电大学计算机考研复试机试真题 2025年南京邮电大学计算机考研复试上机真题 历年南京邮电大学计算机考研复试上机真题 历年南京邮电大学计算机考研复试机试真题 更多学校完整题目开源地址&#xff1a;https://gitcode.com/u014339447/pgcode 百度一下pgcode 即…

模组日志总体介绍

一、本文讨论的边界 本文是对合宙 4G 模组&#xff0c; 以及 4GGNSS 模组的日志功能的总体介绍。通过日志&#xff0c;可以对研发过程中&#xff0c;以及模组运行过程中的各种故障进行分析。二、4G 模组日志的几种类型 4G 模组的日志有两种类型&#xff1a; 业务日志和底层日…

sys系统消息

今天我们特别来讲一讲关于sys系统消息 1、DTIMER_WAKEUP deep sleep timer定时时间到回调 额外返回参数 无 例子 sys.subscribe("DTIMER_WAKEUP", function(timer_id)log.info("deep sleep timer", timer_id) end)2、YHM27XX_REG YHM27XX芯片寄存器…

3.手写线程池-C语言版

主要参考这篇文章进行学习https://subingwen.cn/linux/threadpool/ 开源地址https://github.com/r5ett/threadpool--C.git 1.线程池原理 在处理并发操作的时候,如果处理一个任务就是遇到一个任务就去创建一个线程,任…

如何克隆Demo代码仓库

今天我们特别将本章介绍给大家&#xff0c;带我们快速体验LuatOS的入门 一、背景介绍 这里&#xff0c;先要告诉你一些前提条件&#xff0c;希望你能够认真看一看这一节。 这个项目的产品定义是&#xff1a;模组每隔3秒&#xff0c;就往串口输出一次 “ hello world” 字符串…

高效筛选20w热点数据,从MySQL 2000w中精准提取

文章目录MySQL里有2000w数据&#xff0c;Redis中只存20w的数据&#xff0c;如何保证Redis中的数据都是热点数据&#xff1f;一、什么是热点数据&#xff1f;二、方法一&#xff1a;日志分析法1. 基本思路2. 实际操作3. 缺点三、方法二&#xff1a;实时统计法1. 基本思路2. 实际…

LuatOS-Air脚本移植到LuatOS版本注意事项

一、lua版本不一样 LuatOS-Air使用的是lua5.1版本&#xff0c;本身不支持位移运算符。 LuatOS使用的是lua5.3版本&#xff0c;取消了module(..., package.seeall)这种形式的跨文件调用。 二、api不同 首先说明&#xff0c;core和脚本有所不同&#xff0c;用户可以理解为&am…

AI搜索新趋势:品牌推广如何赢得DeepSeek等智能模型的青睐?

在生成式AI&#xff08;如DeepSeek、豆包、Kimi&#xff09;快速发展的今天&#xff0c;传统的搜索引擎优化&#xff08;SEO&#xff09;正在向生成式引擎优化&#xff08;GEO&#xff09;演进。品牌信息的传播逻辑发生了重要变化&#xff1a;不仅要争取在搜索结果中排名靠前&a…

一文搞定AI排名SEO的手段:从“反向提问”来优化AI排名

我们过去理解的谷歌排名&#xff0c;大致可以简化为一个公式&#xff1a; 谷歌理解用户的查询&#xff0c;理解你的网页内容&#xff0c;再结合一些外部信号&#xff08;比如外链&#xff09;&#xff0c;最后给出一个排名。 但在AI模式下&#xff0c;这个公式已经不够用了。…

【1 月小记】Part 5: DP 优化 - L

DP 优化 持续更新中…… 前缀和优化 P2513 [HAOI2009] 逆序对数列 这题不加优化也能过,难崩 考虑这个状态定义是怎么来的。倘若尝试将 \(n\) 排列的具体顺序融入状态定义会发现需要维护一个状压状的维度,数据范围太大…

AI搜索与消费者的未来:2026年需要关注的7个SEO领域

我们所熟知的搜索&#xff0c;正在以前所未有的速度发生改变&#xff0c;而2026年&#xff0c;或许就是它与过去彻底分道扬镳的一年。在过去的一年里&#xff0c;AI已经深刻地重塑了人们发现信息、做出决策乃至最终完成购买的整个过程。传统的消费者旅程正在被压缩&#xff0c;…

从抽检到全检,AI 正在如何改变工厂质量控制体系?

在相当长的一段时间里&#xff0c;抽检一直是制造业中被广泛采用、也被证明有效的质量控制方式。它成立的前提在于&#xff1a;质量风险可以通过概率模型被有效覆盖。但随着工厂规模扩大、产品型号增多、生产节拍加快&#xff0c;质量管理所面临的现实条件正在发生变化。当批次…

救命神器8个AI论文写作软件,专科生毕业论文救星!

救命神器8个AI论文写作软件&#xff0c;专科生毕业论文救星&#xff01; AI 工具让论文写作不再难 在当前的学术环境中&#xff0c;越来越多的继续教育学生面临着论文写作的压力。无论是专科生还是研究生&#xff0c;撰写一篇符合要求的论文都是一项既耗时又费力的任务。而随着…

通信原理篇---AM\DSB\SSB\VSB

我们先忘记公式和框图&#xff0c;用一个“声音快递”的比喻&#xff0c;把这几种调制方式的关系讲清楚。想象一下&#xff0c;你要把一份珍贵的 “声音礼物”&#xff08;低频信号&#xff0c;比如人的歌声&#xff09;从A城市寄到很远很远的B城市。直接邮寄是不行的&#xff…

教AI写漏洞代码,竟让它产生奴役人类幻想

《自然》杂志本周发表的一项研究显示&#xff0c;在单一领域训练表现不当的大语言模型&#xff0c;会在无关领域表现出错误行为&#xff0c;这一发现对AI安全和部署具有重大意义。独立科学家证明&#xff0c;当基于OpenAI GPT-4o的模型被微调以编写包含安全漏洞的代码时&#x…

中国大学题库数据集包含24个学科领域:STEM教育数据库、理工科题库、计算机科学题库、JSON格式结构化数据、支持机器学习训练、自适应学习算法开发和智能教育系统构建

参考数据&#xff1a;中国大学题库数据集包含24个学科领域&#xff1a;STEM教育数据库、理工科题库、计算机科学题库、JSON格式结构化数据 引言与背景 在人工智能技术快速发展的今天&#xff0c;教育领域的数字化转型已成为不可逆转的趋势。高质量的教育数据集对于构建智能教育…

中国上市公司股吧数据集(含帖子正文、回帖互动、用户画像与粉丝关系,共6万+结构化样本与统一ID可关联),支持金融舆情分析、推荐排序、社交网络挖掘与中文大模型训练的高质

本数据集系统整理了与中国上市公司相关的股吧平台结构化互动数据&#xff0c;围绕“内容—互动—用户—关系”四个维度提供统一、规整且可关联的字段与时间戳信息&#xff0c;能够较为完整地反映投资者在社区中的发帖与回帖行为、用户活跃特征与社交关注关系。借助该数据集&…

蓝牙学习之Provision(7)bind (1)

在 Bluetooth Mesh 网络中&#xff0c;设备完成 Provisioning&#xff08;配网&#xff09; 后&#xff0c;虽然已分配了 地址&#xff08;Unicast Address&#xff09; 和 网络密钥&#xff08;NetKey&#xff09;&#xff0c;但此时它还不能接收任何应用层命令&#xff08;如…

JD商品评论数据集:真实用户评论情感分析数据,中文自然语言处理语料,学习深度学习模型训练、文本挖掘、电商推荐系统优化、产品评价分析、客户服务改进及自然语言处理教学

参考数据&#xff1a;JD评论数据集 引言与背景 在当今数字化时代&#xff0c;电商平台的用户评论数据已成为企业决策、产品优化和用户体验改进的重要依据。特别是在笔记本电脑这一高价值消费电子产品领域&#xff0c;用户评论不仅反映了产品的真实使用体验&#xff0c;更蕴含着…

戴尔警告:SSD短缺下重复使用闪存存在风险

戴尔副总裁警告称&#xff0c;在SSD供应短缺的情况下&#xff0c;回收已安装的SSD进行重复使用存在数据丢失风险。戴尔产品管理副总裁David Noy提出质疑&#xff1a;"当供应链短缺威胁到你的AI建设计划时&#xff0c;你会信任谁&#xff1f;"由于SSD供应短缺预计将持…