“我又装了个插件”——如果你把这句话挂在嘴边,请先停一停。Neovim 0.9+ 的出厂配置里,其实藏着一批“零依赖、零配置、零成本”的高效利器。今天这 10 招,全部即可复现,学会后至少能卸载 3 个插件,减少 20% 的按键量。建议收藏+反复练习,直到肌肉记忆。

Neovim的10个内置功能,这些功能在默认配置下即可使用,无需安装任何插件。这些功能可以帮助用户更高效地使用Neovim进行文本编辑。
10个内置功能详细说明
功能描述:通过外部命令处理文本,可以使用任何Unix工具作为文本处理器。
示例命令:
:.!date:用日期输出替换当前行。
!ip sort:对段落进行排序。
!ap jq .:格式化段落中的JSON。
:%!column -t:对整个文件进行对齐。
Visual Block Increment(可视块增量)
功能描述:在可视块中创建递增序列。选择一列零,按下g Ctrl-a,即可生成即时编号列表。
Global Command(全局命令)
功能描述:在所有匹配的行上运行Ex命令,进行批量操作。
示例命令:
1.:g/TODO/d:删除所有包含“TODO”的行。
2.:g/^$/d:删除所有空行。
3.:g/error/t$:将包含“error”的行复制到文件末尾。
:g/func/norm A;:在所有函数末尾添加分号。
Command-line Registers(命令行寄存器)
功能描述:在:或/提示符中插入寄存器内容。
快捷键及功能:
Ctrl-r Ctrl-w:插入光标下的单词。
Ctrl-r ":插入上次剪切的内容。
Ctrl-r /:插入上次搜索模式。
Ctrl-r =:插入表达式结果。
Normal on Selection(在选择上运行正常模式命令)
功能描述:在每行选中的文本上运行正常模式命令,实现类似多光标的操作。
示例命令:
:'<,'>norm A,:在每行末尾添加逗号。
:'<,'>norm I#:在每行开头添加#。
:'<,'>norm @q:在每行上运行宏。
The g Commands(g命令)
功能描述:提供一系列以g开头的快捷命令。
命令及功能:
gi:跳转到最后一次插入位置并进入插入模式。
g;:跳转到上一次更改的位置。
g,:跳转到下一次更改的位置。
gv:重新选择上次的可视选择。
Auto-Marks(自动标记)
功能描述:Vim会自动跟踪一些位置。
标记及功能:
:跳转到上一个位置(可以来回切换)。复制
``.`:跳转到最后一次更改的位置。
":跳转到文件上次关闭时的位置。
[/]:跳转到上次剪切或更改的开始/结束位置。

Command History Window(命令历史窗口)
功能描述:在缓冲区中显示可编辑的命令历史。q:打开命令历史窗口,q/打开搜索历史窗口。可以在其中编辑任何行,按下Enter执行。
Live Substitution Preview(实时替换预览)
功能描述:在执行替换之前查看替换结果。将以下内容添加到配置文件中:vim.opt.inccommand = "split"。
Copy/Move Lines(复制/移动行)
功能描述:无需接触寄存器即可复制或移动行。
命令及功能:
:t.:将当前行复制到下方。
:t0:将当前行复制到文件顶部。
:m+2:将当前行移动到下方两行。
:'<,'>t.:将选中的内容复制到下方。
这些功能的文本版本,链接为:https://github.com/Piotr1215/youtube/blob/main/10-nvim-tricks/presentation.md
配置文件可以在以下链接中找到:
https://github.com/Piotr1215/dotfiles
Neovim 的“原生力”远远被低估。把内置招式练到条件反射,再决定是否上插件,你会发现——
“插件是锦上添花,而不是救命稻草。”
如果本文对你有帮助,记得点赞+评论+关注,Codigger是一款基于Vim开发的项目,欢迎喜欢Vimming的伙伴们一起来玩。