问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

想了解 Neovim 吗?快来开启使用之旅

创作时间:
作者:
@小白创作中心

想了解 Neovim 吗?快来开启使用之旅

引用
网易
1.
https://m.163.com/dy/article/JD4P020M05564QCM.html

Neovim是Vim的现代替代品,它不仅保留了Vim的经典功能,还通过Lua脚本支持和模块化架构带来了更多新特性。无论你是编程新手还是经验丰富的开发者,Neovim都能为你提供强大的文本编辑能力。本文将带你了解Neovim的核心特点、安装方法、基础使用和配置技巧。

Neovim是一款强大的文本编辑器,它在Vim的基础上进行了全面革新,支持Lua脚本编写插件,能够为用户带来全新的编辑体验。无论你是经验丰富的编码人员,还是刚开始编程,或者只是想编辑几个文件,一个好的文本编辑器都是不可或缺的工具。虽然它名声吓人,而且,没错,有一点学习曲线,但Neovim绝对值得学习,甚至可能比其著名的前辈更值得。

Neovim 是啥

要解释Neovim是啥,咱们得往后退一步,讲讲导致它出现的缘由。在Unix和类Unix操作系统(包括Linux)的历史中,很少有软件比vi更知名。这个文本编辑器可以追溯到1976年,您几乎可以肯定这是您在任何Linux系统上都会找到的默认文本编辑器。

在其他关键功能里,vi运用模态编辑。简而言之,这意味着您要么在插入模式下操作,在该模式下您“插入”文本,要么在正常模式下操作,在该模式下,按键不是输入文本,而是执行各种与编辑相关的操作。更好的是,您可以在某种语言中将这些命令链接起来,只需几次按键即可实现强大的编辑功能。

尽管vi功能挺强,可它的基本特性不太适合规模较大或者更复杂的项目。Vim并非首个vi克隆,不过这个版本,代表“vi改进版”,是由Bram Moolenaar编写,最初于1991年为Commodore Amiga发布。Vim添加了许多我们如今在文本编辑器中认为理所当然的功能,如语法高亮、自动完成和Unicode支持。

在很多方面,Neovim就像Vim之于vi。Neovim能够充当Vim的直接替代品,以至于要是您乐意,能够接着使用您原来的.vimrc文件。也就是说,Neovim还支持用Lua脚本编写您的配置,同时确实提供了更强大的功能,特别是如果您已经是编码人员。

Vim和Neovim周围都有活跃的开发人员社区,并且这些项目似乎没有激烈的竞争。虽然Neovim常常率先获取新功能,而且一些更具实验性的功能或许永远进不了更成熟的编辑器,不过它们看起来都挺不错的。

Vim 和 Neovim 之间的关键差异

首先,Vim和Neovim之间的相似之处要多于差异之处。尽管我作为Vim/Neovim的用户已经多年,可我仍在桌上保留了一份德鲁·尼尔的《实用Vim》。尽管书名中明显没有“neo”,但我在那本书中还没有读到在Neovim中不适用的技巧。

对于开发者而言,Neovim的目标在于更易于维护和扩展,并且可能具备更先进的用户界面。这意味着对于用户来说,我们能更快地获得新奇的功能,同时简化的代码库应使维护更容易,以确保我们能够继续使用这些功能。

实际上,正如上文已经暗示的那样,Neovim和Vim之间的主要差别在于插件生态系统。不仅Lua是一种比Vimscript更为广泛为人所知的语言,而且通常来说,Neovim所使用的插件架构让插件对环境拥有更多的控制权。这意味着插件可以以全新的方式改变Neovim。

除了能够选择将Lua用作配置文件之外,Neovim还采用了不同的目录结构。Vim倾向于在您的主目录中查找.vimrc,而Neovim遵循XDG基本目录规范。如果您使用的是Mac,这对您来说可能没有任何意义,但对于Linux用户,这意味着您的Neovim配置与许多其他程序一样位于$HOME/.config/nvim中。

Neovim 基础

Neovim不像Vim那样广泛或者常见(至少目前还并非如此),不过它在大多数主要的Linux发行版上依然可用。

安装 Neovim

在Ubuntu或Debian系统上,运行:

sudo apt install neovim

在Fedora上,运行以下命令:

sudo dnf install neovim

对于基于Arch的系统,运行:

sudo pacman -S neovim

为了获得最佳性能,一旦安装了Neovim,使用nvim命令运行应用程序,然后按Escape键确保您处于正常模式,然后输入以下内容:

:checkhealth

如果Neovim所依赖的任何其他程序未安装,此命令将会告知您。万一您日后遇到问题,知晓这一点会很有用。

学习基础知识

Vim以及Neovim向来都被认为是难以学习的软件。

我觉得这种看法在很大程度上是不对的。是的,习惯模态编辑是需要花一点时间的,但除此之外,学习快捷键并不比在其他任何应用程序中学习键盘快捷键更复杂。

幸运的是,Vim和Neovim都带有一个内置的教程来指导您。关于Neovim要学习的东西太多了,超出了本文的范畴,但内置教程是一个很好的起点。

要开始学习,请运行nvim(假设您还没有),然后运行以下命令:

:Tutor

而且,至少您将学习如何退出程序。

配置 Neovim

与使用单个整体的.vimrc文件的标准Vim不同,假设您使用Lua文件,Neovim可以使用更模块化的方法。这对实际的编辑器性能没有太大影响,但如果您使用大量自定义内容和插件,它确实有助于对您的配置进行整理。

当然,如果您是Neovim的新手,您可能还没有很多需要添加的自定义内容。也就是说,如果您对编写Python代码感兴趣,您可能想要安装一些使编写Python代码更简单的插件。Neovim的模块化架构使您可以轻松地将这些插件隔离到子文件夹中的自己的配置文件中,因此,如果您决定不喜欢某个插件,很容易从您的配置中删除它。

再次强调,精心打造完美的Neovim配置不在本文的讨论范围内。如果您像大多数人一样,您可能会通过从GitHub上找到的各种点文件中提取零碎的部分来组合一个配置。幸运的是,有一个更简单的选择。

Neovim 定制变得简单

它始于人们分享他们自己的配置,但多年来,各种编辑器都出现了“发行版”,它们与Linux发行版并非完全相同。Neovim也有这些,实际上是预先配置好的配置文件,您可以将其放入您的主目录,进行测试,然后根据您的喜好进行调整。

两个流行的Neovim发行版是LazyVim和NvChad。如果您查看这两个发行版中的任何一个的屏幕截图,您可能会惊讶于您仍然在看Neovim。带有图标、侧边栏和屏幕顶部的可视化标签,您几乎会以为您在看VS Code的屏幕截图。

LazyVim的目标是成为最完整的开箱即用版,以至于如果您已经熟悉Neovim,可能会觉得它太不一样了。也就是说,对于初学者来说,这个发行版很棒,它有一个内置的包,一旦您开始输入组合键,就会为您提供有关按下给定键会产生何种效果的便捷提示。

另一方面,NvChad一开始功能没那么完备,但仍提供了超越原生Neovim的大幅修改后的体验。如果您想要一种感觉像现代编辑器的东西,但又想在首次尝试时更深入地探索Neovim领域,可以试试这个。

即使您选择从最基础的编辑器起步,Neovim和Vim也非常值得学习,即使您很快转向其他编辑器。您永远不知道了解一些关于20世纪70年代的文本编辑器的知识何时会有用处。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号