20-后续学习方向
第 20 章 后续学习方向
我们一起的 LazyVim 之旅即将结束,但如果你已经走到了这一步,我相信你会继续用这个优秀的 Neovim 发行版开辟新的道路。这最后一章总结了一些我最喜欢的获取更多帮助、更深见解、新闻和插件的地方。
译者注: “发行版”(distro)在这里指像 LazyVim 这样,在 Neovim 核心之上预先配置好一系列插件、设置和工作流的 Neovim 配置集合。
20.1. 重读本书
你肯定已经忘记了我在本书中介绍过的一些有趣的细节。我知道这一点,因为我在几次编辑过程中重读这本书时自己也学到了东西。我热爱写作的原因之一是,它迫使我以远超平常的细节来涵盖主题。
所以我建议重读这本书,或者至少快速浏览一遍。为你觉得“这真的很酷,但我认为我记不住”的每个键绑定写一张备忘单。我建议手写;它会在你的记忆中停留更长时间,而且你可以在学习新东西时在桌面上持续注释它。
**译者注:**不知道你有没有听过拍照效应,去景点拍照的人会比自己观看的损失更多的细节,阅读也是这样,手写总结笔记总是好于复制粘贴。
如果你正在阅读印刷版或电子书副本,遗憾的是,它会过时。要获取最新版本,请访问我的官方网站 https://lazyvim-ambitious-devs.phillips.codes,如果你想收到更新通知,请订阅我的邮件列表。
20.2. Neovim 文档
Vim 创建于 1991 年,那时并非人人都能接入互联网。当时,软件通常会附带文档,而不是链接到万维网上的文档(实际上,万维网也是同一年创建的)。考虑到你已经有耐力读完整本书,你可能只想输入 :help user-manual<Enter>
并从头到尾阅读。可能在你 Vim 生涯中不止一次地这样做。(:help<Enter>
将提供更多文档的访问入口)。
译者注:
:help
是 Neovim 内置的极其强大的帮助系统。user-manual
是用户手册的入口。
导航帮助文件的关键是键绑定 Control-]
。文档像维基百科一样相互链接,如果你将光标放在任何用 |
包裹的帮助标签(help tag)上并按下 Control-]
,你就会跳转到那个部分,很像点击一个链接。
译者注: 修正了原文关于“粗体文本”的描述,Neovim 帮助文档中通常用
|tag|
形式表示可跳转的标签。Control-T
用于在帮助文档的跳转历史中向后导航。
如果你更喜欢在网页浏览器中阅读文档,用户手册已渲染为 html 在 https://neovim.io/doc/user/usr_toc.html。内容与 :help
相同,只是更方便点击。
该手册极其全面,涵盖了许多可能不像过去那样相关的命令和键绑定。我相信我已经涵盖了与现代开发者相关的所有内容,但我确信你会在那里找到额外的智慧结晶。
20.3. LazyVim 文档
LazyVim 有自己的网站 https://www.lazyvim.org。它在手把手教学方面有点欠缺(这也是本书存在的原因),但一旦你知道如何使用它,它就是一个非常有价值的资源。最重要的是,它全面列出了该发行版附带的每个插件和 extra 的当前配置。当你想要调整配置以更好地匹配你的用法时,你肯定会不时访问这些内容。每个插件都列有 Options
和 Full Spec
标签页。Options
代表 LazyVim 为该插件规范传递的 opts
,而 Full Spec
包括整个配置。
20.4. LazyVim 讨论组
获取问题答案最快的方法(至少是那些无法通过我们在第 16 章讨论的 copilot-chat 插件回答的问题)是在 GitHub 上的讨论组 中提问。我在那里有些活跃,但你的问题很可能会由比我知识渊博得多的人回答。
如果你发现 LazyVim 存在问题,第一步是创建一个尽可能少插件的最小复现(minimal repro)。LazyVim 问题跟踪器(issue tracker)包含一个 repro.lua
的模板,你可以用它来配置最小复现环境。添加相关的插件并使用 nvim -u repro.lua
运行它来测试问题。将这个文件与你的问题一起上传(或上传到讨论组),以便维护者更容易帮助你。
译者注:
nvim -u <file>
命令允许 Neovim 使用指定的文件作为配置文件启动,而不是加载用户的常规配置。repro.lua
通常是一个非常精简的配置文件,只包含复现问题所必需的最少插件和设置。
20.5. 寻找有趣的插件
在大多数情况下,LazyVim 包含了你所需的大多数插件的最佳版本。然而,如果你认为编辑器应该具备某个功能,而该功能并未作为 extra 提供,你几乎肯定可以在 Github 上的 Awesome Neovim 仓库中找到它。
另一个极好的资源是 neovimcraft 网站。顺便说一句,neovimcraft 的维护者也负责 pgs.sh,也就是本书网站的主机。我很欣赏他们的产品,所以我想为他们免费打个广告。
20.6. 点文件 (Dotfiles)
译者注: “Dotfiles” 通常指 Unix-like 系统中用户主目录下以点 (
.
) 开头的配置文件和目录(例如.config
,.vimrc
,.bashrc
等)。分享 Dotfiles 是一种常见的展示和交流个人开发环境配置的方式。
历史上,配置 Vim 最简单的方法一直是查看别人的配置并复制有趣的部分。如今,最简单的方法是使用 LazyVim,但你可能仍然想看看一些著名的 Neovim 和 LazyVim 用户的点文件:
-
Folke Lemaitre LazyVim 和一大堆优秀 Neovim 插件(其中大部分包含在 LazyVim 中)的创建者。
-
Evgeni Chasnovski mini.nvim 系列插件的创建者和 Neovim 核心贡献者。
-
Iordanis Petkakis 如果你在 LazyVim GitHub 讨论组提问,最有可能回答你问题的人。
-
我自己 (Dusty Phillips) 我真的不配和这个列表上的其他名字相提并论!我会定期推送我的点文件调整,而且我对使用哪些插件非常挑剔,所以如果它在里面,那它可能相当不错。
这些人也值得在各种社交网络上关注。(译者注:顺便关注一下我。)
20.7. Neovim 图形用户界面 (GUIs)
我仍然坚持认为 LazyVim 最好在一流的终端(terminal)中运行,但如果你想尝试,也有一些优秀的 GUI 可供选择。
Neovim GUI 的主要好处是它们在像素级别而不是字符级别操作。这意味着像平滑滚动、光标移动或动画化的窗口大小调整可以更加细致或性能更好。一些 GUI 也可选地附带了自己的缓冲区栏(bufferline)、状态栏(statusline)或文件树(file tree),但它们通常不如 LazyVim 自带的那些。
多年来,人们尝试了大量的 Neovim GUI,但大多数都已停止维护或维护不善。我实际上几乎尝试了所有现有的 GUI,经过深思熟虑,我认为至少在撰写本文时,只有以下这些值得测试:
-
Vimr 仅限 MacOS,但如果你使用 MacOS,它提供了一些与 MacOS 的良好集成。
-
Neovide 如果你想使用所有现有的 Neovim 插件,但希望动画和滚动更平滑一点,这是最好的选择。它的性能也超高。
-
Goneovim 也是一个可靠的竞争者。
-
FVim 曾经是我的最爱,但最近维护有所减少,并且在 MacOS 上有一些怪癖,可能很快会把它从这个列表中移除。
如果你使用这些 GUI 中的任何一个,你很可能需要寻找能改善嵌入式 Neovim 集成终端体验的插件。
译者注: Neovim 本身是一个后台进程,GUI 只是它的一个前端。这意味着理论上 GUI 可以提供比终端更丰富的视觉效果和交互。然而,许多 Neovim 插件是为终端环境设计的,可能在 GUI 中表现不佳或看起来不协调。
20.8. 总结
这是一个简短的章节,总结了在你独立继续 LazyVim 和 Neovim 之旅时可能会发现有价值的各种资源。
我要感谢你坚持和我一起走到最后。希望你喜欢这本书!如果你和我一样,你可能会在未来的几十年里使用模式编辑(modal editing)的概念。总有一天 Neovim 会变成“旧 Vim”,但我非常有信心,指导它的原则在未来这个编辑器的迭代中也将是相关的。
祝大家编码愉快!