Neovim
本文译自 The Omarchy Manual — Neovim,同步自 basecamp/omarchy@ed7bae4。术语以 TERMS.md 为准。
Neovim 是 vi 编辑器的现代实现——那可是 Bill Joy 早在 1976 年的作品。它是一个模式化编辑器,插入模式与命令模式相互分离;只要学会其深不见底的按键命令集的一小部分,你就拥有了一点超能力。当然,学习曲线也相当陡!
如果你对 vim 风格的编辑完全陌生,推荐去看 YouTube 上 ThePrimeagen 的 Vim As Your Editor 系列,它会教你基础。要有心理准备:与主流编辑器相比,达到基本熟练要花更久,但一旦练成,回报也更大。
Neovim 基本上可以无限配置。真想折腾到底,可以从零打造你自己的 Neovim 配置。Typecraft 有一门从零配置 Neovim 的好课,ThePrimeagen 也有一门。
不过 Omarchy 自带一套完整的 Neovim 配置——omarchy-nvim 软件包——经过精心调校,开箱即能展现 Neovim 的最佳状态,而你一行配置都不用写!它构建在 LazyVim 之上——一个 Neovim 插件与配置的发行版。非常好用。
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
Super + Shift + N 可以启动 Neovim(该绑定启动你的默认编辑器,出厂即 Neovim),但通常更顺手的是从终端驱动:cd 到工作目录后输入 n。n 是 nvim 的别名,默认以当前目录打开。也可以 n myfile.txt 打开单个文件。
用 Neovim 做 sudo 编辑
需要编辑只有超级用户才能改的文件时,运行 sudoedit /etc/sudoers.d/00-sudo-only-file,就能带着全套插件配置使用 neovim。