Skip to content

Vim 快捷键笔记

1. 目前不熟悉的命令

  • 字符操作

    • s:删除当前字符并进入插入模式。
    • S:删除光标前的所有字符并进入插入模式。
    • gd + Ctrl + o:查看引用位置并返回。
    • m:标记位置(大写标记全局,小写标记局部)。
    • ':跳转到标记位置。
    • Ctrl + i / Ctrl + o:在跳转历史中前进/后退。
  • Vim Surround

    • cs"}:将双引号替换为大括号。
    • ys():在文本周围添加括号。
    • ds():删除文本周围的括号。
    • (可视化模式下)S:在选中的文本周围添加括号。
  • 替换字符

    • :%s/原字符/替换字符/模式:全局替换(模式:g 全局,c 确认)。
    • :$s/原字符/替换字符/模式:在当前行替换。
    • :数字,数字s/原字符/替换字符/模式:在指定行范围内替换。
  • 多选

    • gb:多选相同单词。
  • 悬浮显示

    • gh:显示错误信息。
  • 大小写切换

    • 普通模式
      • gu:将选中文本转换为小写。
      • gU:将选中文本转换为大写。
    • 可视化模式
      • u:将选中文本转换为小写。
      • U:将选中文本转换为大写。
  • 窗口操作

    • 新建窗口
      • Ctrl + w + v:垂直分割窗口。
      • Ctrl + w + s:水平分割窗口。
    • 关闭窗口
      • Ctrl + w + c:关闭当前窗口。
  • 处理语句块

    • vaI / vai / vii:选择语句块。
    • daI:删除函数体(在函数体内)。
    • Python 中
      • vii:选择当前缩进块。
      • vai:选择当前缩进块及其外层。
    • 录制宏
      • q + 寄存器名:开始录制。
      • q:结束录制。
    • 查看宏
      • :reg 寄存器名:查看寄存器的内容。
    • 使用宏
      • @寄存器名:执行宏。
      • @@:执行最后一次使用的宏。
      • 数字 + @寄存器名:重复执行宏。
    • 修改宏
      • q + 寄存器名:追加录制。
      • "ap / :put xxx:取出宏内容。
      • "ayy / *ayw:修改宏内容。
  • 调用 VSCode 功能

    • <Leader>f:格式化代码。
    • <Leader>r:重命名符号。
    • <Leader>[:折叠代码。
  • 浏览器操作

    • H:后退。
    • L:前进。
  • 快速修复

    • Ctrl + .:快速修复错误。
  • 跳转定义

    • gd:跳转到定义。
  • 资源管理器

    • Win + e:打开资源管理器。

2. 不熟悉的通用命令

  • ;:查找下一个匹配项。
  • ,:查找上一个匹配项。

3. 查找操作

  • 单行查找

    • ;:重复查找。
    • ,:返回上一个查找。
    • t:定位到查找字符之前。
    • T:定位到查找字符之后。
  • 全局查找

    • /:向后查找。
    • ?:向前查找。
    • n:查找下一个匹配项。
    • N:查找上一个匹配项。
    • #:跳转到相同单词。
    • *:跳转到相同单词。

4. Vim Sneak 配置

  • 替换 s 键功能

    • s:向下双字符查找。
    • S:向上双字符查找。
  • 映射配置

    • f => s:将 f 键映射为 Vim Sneak 触发键。
    • s => cl:将 s 键映射为 cl(删除当前字符并进入插入模式)。