编辑
- r - 替换当前字符
- J - 将下一行合并到当前行
- gJ - join line below to the current one without space in between
- gwip - reflow paragraph
- cc - 清空当前行, 然后进入插入模式
- C - change (replace) to the end of the line
- c$ - 从光标位置开始, 修改当前行
- ciw - change (replace) entire word
- cw - 从光标位置开始, 修改单词
- s - 删除当前字符, 然后进入插入模式
- S - 清空当前行, 然后进入插入模式 (同cc)
- xp - 当前字符后移
- u - 撤销
- Ctrl + r - 重复
- . - 再次执行上个命令
选择文本(可视化模式)
- v - 进入可视化模式, 移动光标高亮选择, 然后可以对选择的文本执行命令(比如y-复制)
- V - 进入可视化模式(行粒度选择)
- o - 切换光标到选择区开头/结尾
- Ctrl + v - 进入可视化模式(矩阵选择)
- O - 切换光标到选择区的角
- aw - 选择当前单词
- ab - 选择被 () 包裹的区域(含括号)
- aB - 选择被 {} 包裹的区域(含花括号)
- ib - 选择被 () 包裹的区域(不含括号)
- iB - 选择被 {} 包裹的区域(不含花括号)
- Esc - 退出可视化模式
可视化模式命令
- > - 向右缩进
- < - 向左缩进
- y - 复制
- d - 剪切
- ~ - 大小写切换
寄存器
- :reg - 显示寄存器内容
- "xy - 复制内容到寄存器 x
- "xp - 粘贴寄存器 x 中的内容
Tip 寄存器被存储在 ~/.viminfo 中, 在下次重启vim时仍会加载
Tip 寄存器 0 存储上一次复制的值
标记
- :marks - 标记列表
- ma - 设置当前位置为标记 a
- `a - 跳转到标记 a 的位置
- y`a - 复制当前位置到标记 a 的内容
宏
- qa - 录制宏 a
- q - 停止录制宏
- @a - 执行宏 a
- @@ - 重新执行上次执行的宏