Vim / Neovim
Vim 与 Neovim 是模态编辑器,所有操作围绕「模式切换」展开,熟练后能在不离开主键区的情况下完成绝大部分编辑动作。
模式
| 模式 | 进入 | 用途 |
|---|---|---|
| 普通(Normal) | Esc | 移动、删除、复制等命令 |
| 插入(Insert) | i / a / o | 输入文本 |
| 可视(Visual) | v / V / Ctrl-V | 选取 |
| 命令(Command) | : | 执行 Ex 命令 |
基础移动与编辑
h j k l " 左/下/上/右
w b e " 按单词前进/后退/到词尾
0 $ " 行首/行尾
gg G " 文件首/文件尾
i a o " 进入插入模式(光标前/后/下一行)
dd yy p " 删除/复制当前行,粘贴
u Ctrl-R " 撤销/重做
d/y 与移动命令组合可操作任意范围,例如 d$ 删除到行尾,y3w 复制三个单词。
常用 Ex 命令
:w " 保存
:q / :q! " 退出 / 强制退出
:e <file> " 打开文件
:%s/foo/bar/g " 全文替换
:s/foo/bar/g " 当前行替换
/pattern " 向下搜索
?pattern " 向上搜索
:nohlsearch " 清除搜索高亮
配置文件
Vim 使用 ~/.vimrc,Neovim 推荐使用 ~/.config/nvim/init.lua(Lua 语法,更强大):
-- init.lua
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.tabstop = 2
vim.opt.shiftwidth = 2
vim.opt.expandtab = true
vim.keymap.set("n", "<leader>w", ":w<CR>")
LSP 与 Treesitter
Neovim 内置 LSP 客户端,配合 nvim-lspconfig 启用各语言服务后,可在编辑器内完成跳转、补全、重命名、诊断。Treesitter 提供增量解析的语法高亮与代码结构树,显著提升高亮准确度与导航能力。