跳转到内容

Neovim

Neovim 是 the vi editor 的现代实现,后者由 Bill Joy 早在 1976 年创造。它是一个模态编辑器,插入模式与命令模式相互分离;一旦你学会哪怕只是其极其丰富的按键命令集中的一小部分,它就会成为一种超能力。但它也有相当陡峭的学习曲线!

如果你完全没接触过 vim 风格的编辑,我推荐你在 YouTube 上看看 ThePrimeagen 的 Vim As Your Editor 系列。那会教你基础知识。只要知道,与更类似的主流编辑器不同,你要花更长时间才能掌握 vim 的基本熟练度。但一旦掌握,回报也更大。

Neovim 基本上可以无限配置。如果你真想玩到极致,可以从零开始创建自己的 Neovim 配置。Typecraft 有一门很棒的课程,讲如何从零设置 Neovim。ThePrimeagen 也有一个。

但 Omarchy 自带一套完整的 Neovim 设置——omarchy-nvim 软件包——它经过精心调校,用来展示开箱即用的最佳效果。你无需编写一行配置!它基于 LazyVim,这是一个 Neovim 插件与配置的发行版。它非常棒。

如前所述,我不会在这篇简短介绍中教你 vim,但我可以展示一些 LazyVim 的基础知识,以及如何四处操作。

首先,Neovim 有前导键(leader key)的概念。它基本上是所有命令的入口。LazyVim 将其设置为 Space。所以只要按下它,等一秒钟,你就会看到一堆选项像这样内联解释:

以下是我经常使用的一些基本命令:

  • Space Space - 在当前目录中模糊查找任意文件。
  • Space S G - 使用 grep 搜索所有文件并带预览。
  • Space E - 显示或隐藏文件树。
  • Ctrl + W W - 在文件树与编辑器之间跳转。
  • Shift + H - 在打开的标签页之间向左移动(vim 称它们为 buffer)。
  • Shift + L - 在打开的标签页之间向右移动。
  • Space B D - 关闭一个标签页。
  • Space B O - 关闭除当前标签页外的所有其他标签页。
  • Space G G - 从当前目录在浮动窗格中启动 LazyGit。
  • Space U W - 切换软换行。

当你在文件树中时(Space E 显示,Ctrl + W W 跳转过去),你可以用 a 添加新文件,或用 A 添加新目录。在文件树中按 ? 可查看所有命令。

如果你想掌握基本的 vim 语言,我写过关于三段式语法以及如何打出那些酷炫连招的文章!

你可以在 LazyVim Keymaps 页面查看所有可能的命令。

你可以使用 Super + Shift + N 启动 Neovim(该绑定会启动你的默认编辑器,开箱即用就是 Neovim),但通常更方便的是从终端驱动它:导航到你想要工作的目录,然后输入 n。n 是 nvim 的别名,默认会使用当前目录打开。你可以用 n myfile.txt 打开单个文件。

如果你需要编辑只有超级用户才能更改的文件,可以通过运行 sudoedit /etc/sudoers.d/00-sudo-only-file 来使用带完整插件设置的 neovim。