跳转

  • [d]d:诊断跳转
  • [ee]: 只关注错误诊断,忽略警告和提示
  • [ww]: 仅在警告之间导航
    • Lazyvim 中通过 <Space>us 开启/关闭,或者修改 options.lua 配置文件
vim.opt.spell = true
vim.opt.spelllang = { "en_us" }
  • 跳转拼写检查 [s]s
  • 查看拼写检查建议: z=
  • [tt]: TODO 中之间跳转
  • [h]h: git hunk 之间跳转:文件中包含尚未暂存或提交的修改的部分

搜索查找

  • 当前文件搜索: n - / 后回车,n选中下一个搜索项,N选择上一个
  • flash
    • s 查找单词
    • S 查找段落/标签块

Text Object 操作

  • ciw
  • Shift + C
  • di(:删除一对匹配的括号内的所有文本
  • da(:删除括号内的所有文本以及两端的(and 。)
  • %:光标当前位于括号、方括号或花括号对的开始或结束字符上,只需点击%即可跳转到括号另一端的配对

寄存器/复制粘贴

复制粘贴

  • p: N 模式 粘贴当前复制的内容
  • P: N 模式向当前行的上面粘贴

寄存器

  • i 模式 Control-r:打开寄存器面板
  • i 模式 Control-r,然后+按键:粘贴最近复制的内容
  • n 模式 Shift + "

其他编辑技巧

  • xp: 调换两个字符的位置

注释

  • gcap:注释掉以换行符分隔的整个块。
  • gcS[x]: [x] 表示某个字符,通过flash查找功能快速注释代码 块
  • 5gcc将注释掉五行(比 更容易输入gc4j)。
  • gcogcO: 在当前行的下面或者下面新添加注释行

缩进

  • n - <<>>: 普通缩进,向前向后
  • n - >S[x]<S[x]: [x] 是任意字符,配合 flash 搜索调整代码块的缩进
  • i - Control + tControl + d: 插入模式下进行缩进

终端相关

  • Control + z : 暂停 nvim
  • jobs 命令查看暂停的任务
  • fg: 加载已经暂停的任务

GIt

  • diff 两个文件: `nvim -d file1 file2