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 插件与配置的发行版。它非常棒。
LazyVim 基础
Section titled “LazyVim 基础”如前所述,我不会在这篇简短介绍中教你 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 页面查看所有可能的命令。
启动 Neovim
Section titled “启动 Neovim”你可以使用 Super + Shift + N 启动 Neovim(该绑定会启动你的默认编辑器,开箱即用就是 Neovim),但通常更方便的是从终端驱动它:导航到你想要工作的目录,然后输入 n。n 是 nvim 的别名,默认会使用当前目录打开。你可以用 n myfile.txt 打开单个文件。
使用 Neovim 进行 sudo 编辑
Section titled “使用 Neovim 进行 sudo 编辑”如果你需要编辑只有超级用户才能更改的文件,可以通过运行 sudoedit /etc/sudoers.d/00-sudo-only-file 来使用带完整插件设置的 neovim。