跳至内容

安装 Neovim

Neovim 简介

Neovim 是最好的代码编辑器之一,因为它速度快、易于自定义和配置。

Neovim 是 Vim 编辑器的分支。它诞生于 2014 年,主要是由于当时 Vim 缺乏异步作业支持。Neovim 使用 Lua 语言编写,旨在模块化代码,使其更易于管理,并且是为现代用户设计的。正如官方网站所说

Neovim 为想要使用 Vim 最佳功能以及更多功能的用户而构建。

Neovim 的开发人员选择 Lua,因为它非常适合嵌入,使用 LuaJIT 速度很快,并且语法简单,面向脚本。

从 0.5 版本开始,Neovim 包含 Treesitter(一个解析器生成器工具)并支持 语言服务器协议 (LSP)。这减少了实现高级编辑功能所需的插件数量。它提高了诸如代码完成和代码 linting 之类的操作的性能。

它的优势之一是可自定义性。所有配置都包含在一个文件中,可以通过版本控制系统(Git 或其他)分发到各种安装中,以便始终保持同步。

开发者社区

虽然 Vim 和 Neovim 都是开源项目,并且托管在 GitHub 上,但它们的开发模式存在很大差异。Neovim 具有更开放的社区开发模式,而 Vim 的开发则更多地与创建者的选择相关联。与 Vim 相比,Neovim 的用户和开发者基础相当小,但它是一个不断发展的项目。

主要功能

  • 性能:非常快。
  • 可自定义性:丰富的插件和主题生态系统
  • 语法高亮:与 Treesitter 和 LSP 集成,但需要一些配置

与 Vim 一样,Neovim 需要对它的命令和选项有基本的了解。可以通过 :Tutor 命令获得其功能的概述,该命令会调用一个文件,您可以在其中阅读和练习使用它。学习时间比全图形 IDE 长,但一旦您了解了命令的快捷方式和包含的功能,您就可以非常顺利地编辑文档。

Nvim Tutor

Neovim 安装

从 EPEL 安装

Neovim 也可从 EPEL 仓库安装。可用的版本总是太旧,无法满足 NvChad 安装的最低要求。
强烈建议不要通过这种方法安装,本指南中也不支持这种方法。

使用预编译包可以安装开发版本和稳定版本,它们满足要求,并且可以用作配置 NvChad 的基础。

要使用编辑器的全部功能,需要通过手动提供预编译的软件包依赖项来满足 Neovim 所需的依赖项。可以使用以下命令安装所需的软件包:

dnf install compat-lua-libs libtermkey libtree-sitter libvterm luajit luajit2.1-luv msgpack unibilium xsel

安装完必要的依赖项后,就可以获取所选的软件包了。

访问 发布页面,可以下载开发版本 (预发布) 或稳定版本 (稳定)。在这两种情况下,要为我们的架构下载的压缩归档文件是 linux64

所需的文件是 nvim-linux64.tar.gz,我们还应下载文件 nvim-linux64.tar.gz.sha256sum 来验证其完整性。

假设这两个文件都下载到了同一个文件夹,我们将使用以下命令进行验证:

sha256sum -c nvim-linux64.tar.gz.sha256sum
nvim-linux64.tar.gz: OK

现在将预编译的软件包解压缩到您的主文件夹内的某个位置,在本指南中,选择了位置 .local/share/,但可以根据您的需要更改。运行以下命令:

tar xvzf nvim-linux64.tar.gz -C ~/.local/share/

此时,剩下的就是为预编译软件包的 nvim 可执行文件在 ~/.local/bin/ 中创建一个符号链接。

cd ~/.local/bin/
ln -sf ~/.local/share/nvim-linux64/bin/nvim nvim

要验证安装是否正确,在终端中运行命令 nvim -v,它现在应该显示类似于以下内容:

nvim -v
NVIM v0.9.5
Build type: RelWithDebInfo
LuaJIT 2.1.1692716794

从预编译的软件包安装只为运行它的用户提供 nvim。如果要让系统中的所有用户都可以使用 Neovim,则需要从源代码进行安装。编译 Neovim 并不特别困难,它包括以下步骤。

首先,安装编译所需的软件包:

dnf install ninja-build libtool autoconf automake cmake gcc gcc-c++ make pkgconfig unzip patch gettext curl git

安装完必要的软件包后,我们需要创建一个文件夹,从该文件夹中构建 neovim,然后进入该文件夹:

默认情况下,Neovim 克隆与 Neovim 开发分支同步(在撰写本文时,版本为 0.10.0)。要编译稳定版本,在使用以下命令克隆之前,我们需要切换到相应的分支:

mkdir ~/lab/build
cd ~/lab/build

现在克隆存储库:

git clone https://github.com/neovim/neovim

操作完成后,我们将有一个名为 neovim 的文件夹,其中包含所有必要的文件。下一步是检出稳定分支,然后使用 make 命令配置和编译源代码。

cd ~/lab/build/neovim/
git checkout stable
make CMAKE_BUILD_TYPE=RelWithDebInfo

我们选择了 RelWithDebInfo 类型,因为它提供了优化和有用的调试层,以便将来进行自定义。如果更喜欢最大性能,也可以使用 Release 类型。

该过程将处理配置和编译要放入我们系统中的文件。这些文件保存在 neovim/build 中。要安装它们,我们将使用 make install 命令:

make install

因为此命令会修改文件系统,所以必须以超级用户身份运行,可以使用 sudo 或直接由 root 用户运行。

安装完成后,我们可以通过检查 Neovim 的路径来验证一切是否正常:

whereis nvim
nvim: /usr/local/bin/nvim

并验证版本:

nvim --version
NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1692716794
....

从上面的命令摘录中可以看到,这里执行了稳定版本的安装。稳定版本和开发版本都可以在 Rocky Linux 9 上与 NvChad 完美配合。

卸载

如果需要删除安装,例如要切换到另一个版本,则需要返回到构建文件夹,并使用 Neovim 提供的 target cmake。要执行卸载,需要执行以下命令:

cmake --build build/ --target uninstall

此命令也需要超级用户权限或以 root 用户身份运行。

或者,可以使用手动方法,通过删除可执行文件和库来删除:

rm /usr/local/bin/nvim
rm -r /usr/local/share/nvim/

同样,您需要以超级用户权限执行这些命令。

Neovim 基础

从截图中可以看出,Neovim 的基本安装提供了无法与 IDE 相比的编辑器。

Neovim Standard

现在我们有了基本编辑器,是时候借助 NvChad 提供的配置,将其变成更高级的东西。

作者:Franco Colussi

贡献者:Steven Spencer,Ganna Zhyrnova