{"id":13605785,"url":"https://github.com/nshen/learn-neovim-lua","last_synced_at":"2025-05-15T23:08:51.571Z","repository":{"id":37391351,"uuid":"423737224","full_name":"nshen/learn-neovim-lua","owner":"nshen","description":"Neovim 配置实战：从 0 到 1 打造自己的 IDE","archived":false,"fork":false,"pushed_at":"2024-09-07T17:26:36.000Z","size":12602,"stargazers_count":1260,"open_issues_count":1,"forks_count":194,"subscribers_count":22,"default_branch":"main","last_synced_at":"2025-04-13T12:48:53.997Z","etag":null,"topics":["learn-vim","learning-by-doing","lua","neovim","nvim","vim","vimrc"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nshen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-02T06:55:49.000Z","updated_at":"2025-04-11T02:15:19.000Z","dependencies_parsed_at":"2024-09-07T18:43:17.875Z","dependency_job_id":null,"html_url":"https://github.com/nshen/learn-neovim-lua","commit_stats":{"total_commits":232,"total_committers":3,"mean_commits":77.33333333333333,"dds":"0.43534482758620685","last_synced_commit":"0813be9206a10339b4613642b49fd32e29aa1d53"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nshen%2Flearn-neovim-lua","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nshen%2Flearn-neovim-lua/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nshen%2Flearn-neovim-lua/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nshen%2Flearn-neovim-lua/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nshen","download_url":"https://codeload.github.com/nshen/learn-neovim-lua/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254436949,"owners_count":22070947,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["learn-vim","learning-by-doing","lua","neovim","nvim","vim","vimrc"],"created_at":"2024-08-01T19:01:02.737Z","updated_at":"2025-05-15T23:08:46.110Z","avatar_url":"https://github.com/nshen.png","language":"Lua","readme":"## 📜 Neovim 配置实战：从 0 到 1 打造自己的 IDE\n\n\u003e- 注意：插件配置更新非常频繁，小册中很多动态截图无法更新，我创建了全新项目 [InsisVim](https://github.com/nshen/InsisVim) 可以直接使用，如果你是自己配置遇到问题请到 InsisVim 项目里参考对应插件的最新配置。\n\n《学习 Neovim 全 lua 配置》已经在稀土掘金专业编辑的指点下完全重写。\n\n新名字是：[《Neovim 配置实战：从 0 到 1 打造自己的 IDE》](https://juejin.cn/book/7051157342770954277)\n\n好消息是新版本由掘金专业把关，目录经过了优化，解释也更加详细，所有动图都重新截取了。\n\n内容翻新的同时代码也进行了比较大幅的改动，文章质量肯定更高了。\n\n坏消息是变成了收费小册了，但价格不高，掘金常年打折，如没折扣可联系我索取作者专属 7 折的折扣码。\n\n\u003e更新一下分支说明\n\u003e- `bak` 分支是最早期还没有小册时候的旧版备份已经过期，不建议参考\n\u003e- `main` 分支是小册的版本，为保持小册内容稳定已在 plugins.lua 中[锁定了插件版本](https://github.com/nshen/learn-neovim-lua/blob/7af70083eaf469fccb2ad601eaeabac150d080e5/lua/plugins.lua#L151-L154)，是小册的对应源码\n\u003e- `v2` 分支是小册完成后，插件更新对应配置的持续修改，如果取消了`main`分支插件版本锁定，建议对应此分支更新配置。\n\n## 新版购买链接\n\n[Neovim 配置实战：从 0 到 1 打造自己的 IDE](https://juejin.cn/book/7051157342770954277)\n\n第一次写收费小册，希望大家能够少喝一杯咖啡，十几块钱支持一下。 \n\n下边是掘金小册介绍：\n\n![0a0f17793e35487d939955ce1ddc1ba5_tplv-k3u1fbpfcp-watermark](https://user-images.githubusercontent.com/181506/158575190-4cc79ee3-1485-45d6-a82c-6449242cbfc7.jpg)\n\n\n由于近来 VSCode 越来越臃肿，已经逐渐脱离了其高性能、轻量级的定位。而随着 Neovim 0.5+ 版本的发布，内置 LSP 的支持，让 Lua  成了编辑器的一等语言，使得古老的 VIM 编辑器变得更加现代化了。\n\n加上这些年 Windows 系统的快速发展 ，WSL2 、Windows Terminal 的推出，Windows 命令行也有了 UTF8、GPU 加速文本渲染引擎的支持，使我们有能力，也有理由转到更加轻便高效、面向未来的 Neovim 编辑器上做程序开发，提升开发效率。\n\n如果你在 Google 上搜索 \"Years of Vim\" ，会看到很多高手都已经用 VIM 编辑器 10 年以上了，他们都会一直维护一个属于自己独一无二的配置，彼此各不相同，通过不断地调教，使之越来越适合自己，达到了“人剑合一”的境界。\n\n学会调教  Neovim  在程序开发生涯中是非常有意义的一件事，**让编辑器适配你的习惯，而不是无限地追赶编辑器的更新，也是成为“10 倍速程序员”必经之路。**\n\n这里展示一下学完本小册后，大致的配置效果：\n\n![features2](https://user-images.githubusercontent.com/181506/158575466-2d3be027-a4a3-482f-b884-02b20f66fba3.gif)\n\n从 VSCode 转移到 Neovim 时 ，我也看了很多文档，参考了很多配置资料，尝试了很多插件，走了很多弯路，最终我对 Neovim 的配置已经完全可以满足我对代码编辑器的需求了。我把配置方法写成小册，通过对这个小册的学习，你也可以把 Neovim  配置成你希望的样子，也许跟我的完全不同。\n\n小册分为 **基建篇** 和 **代码篇**。\n\n在 **基建篇** 中，我们会先从安装 Neovim 开始，介绍配置文件位置，以及我们应该如何组织配置文件、快捷键如何设置、插件如何安装和管理。然后通过逐个介绍目前流行的插件安装方式和使用方法来补全文本编辑器所需的所有功能。\n\n基建篇完成后，你将会得到一个现代化的文本编辑器。\n\n在 **代码篇** 中，我们会补全程序开发相关的功能，包括如何实现代码高亮、什么是内置 LSP、如何配置内置 LSP、代码如何补全\n代码格式化、UI 可否美化等。之后还会专门针对前端开发和 rust 开发所必备的插件配置介绍，一步一步帮助你将手中的 Neovim 装配成 VSCode 般的开发环境。\n\n![xmind.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0540cdcdd8314d198eb79cead70442c7~tplv-k3u1fbpfcp-watermark.image?)\n\n## 你会学到什么？\n\n本小册包含大量**动图演示**，章节相对独立，参照配置每完成一章，即可立刻看到反馈效果。总的来说，你将收获：\n\n- 基于最新版本的 Neovim ，从零开始基于 Lua 搭建现代化 Neovim 开发环境。\n- 了解 Neovim 的配置原理与思路，以及完整的配套源码。\n- 最重要的是你会得到属于你的专属 Neovim 版本。\n\n![0-2.png](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/645c93365927495aa51f7951b5437d8c~tplv-k3u1fbpfcp-watermark.image?)\n\n## 适宜人群\n\n- 适合有一点 VIM 基础的使用者（至少知道怎么编辑文件和退出 VIM 😁）。\n- 有程序开发基础，有可以访问 Github 的网络环境，想要提升开发效率与开发体验的程序开发人员。\n- 想要系统学习 Neovim 配置，却被网上零散过时的 VIM 配置教程困扰的同学们。\n","funding_links":[],"categories":["Lua"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnshen%2Flearn-neovim-lua","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnshen%2Flearn-neovim-lua","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnshen%2Flearn-neovim-lua/lists"}