Vim
Vim 与 Neovim:安装与版本
配置方案
- AstroNvim: AstroNvim
- LazyVim: LazyVim 入门
- NvChad: NvChad
速查表
书籍
文本对象
文本对象在操作符之后或可视模式下选择单词、句子、段落等单位,详见 :help text-objects。w 和 W 是移动光标的单词移动命令,不是文本对象选择。
w: 跳转到下一个单词的开头。W: 跳转到下一个单词的开头(忽略标点,仅以空白分隔)。vis: 在句子内部开始可视选择。vip: 在段落内部开始可视选择。
编程场景
写代码时,以下命令非常实用:
ci[: 修改方括号内的内容。vit: 可视选择 HTML 标签内的全部内容。- 格式化:
=i{自动格式化花括号内的内容。
Treesitter 对象
通过 Treesitter - Neovim 文档 了解基于语法感知的编辑功能。
行内搜索
使用以下命令在当前行内快速定位字符:
f: 跳转到当前行中该字符的下一次出现位置。F: 跳转到当前行中该字符的上一次出现位置。t: 移动到当前行中该字符下一次出现位置的前一格。T: 移动到当前行中该字符上一次出现位置的后一格。
Flash
利用 folke/flash.nvim 提供的搜索标签和增强的字符移动功能(集成 Treesitter),更高效地浏览代码。
文件导航
gf打开光标处或其后的文件名对应的文件。gF 还会跳转到文件名后给出的行号。打开 URL 的具体行为取决于编辑器及其映射,请在所用编辑器中查看 :help gx。
自动补全
在插入模式下,先按 ctrl-x,再按以下按键触发不同补全方式:
ctrl-l: 整行补全。Ctrl+N:从当前文件中补全关键字。Ctrl+I:从当前文件及其包含的文件中补全关键字,遵循配置的 include/path 规则。- 其他组合键可提供多种补全选项。
Quickfix
建立“编辑 → 编译/Lint/测试 → 返回编辑”的闭环工作流,提升开发效率。
想把命令表变成手上的习惯,可以跟着 Missing Semester 的 Vim 课程 做编辑练习。把操作符与移动命令、文本对象组合,再加次数重复操作;其中的小型代码修复演示能展示这种组合怎样减少逐字移动。