486 words
2 minutes
Vim_learn

在vim insert mode下可以使用的快捷键#

快捷键说明
Ctrl-j / m换行(等同于 Enter)
Ctrl-r{register}粘贴指定寄存器的内容
Ctrl-r =粘贴一个表达式的结果
Ctrl-o临时切换到 Normal Mode,执行一个命令后立即返回 Insert Mode
Ctrl-[ / Ctrl-c退出 Insert Mode(等同于 Esc)
Ctrl-h删除光标前的一个字符(等同于 Backspace)
Ctrl-w删除光标前的一个单词
Ctrl-u删除光标前到行首的所有字符
Ctrl-a插入上次插入模式中插入的文本
Ctrl-x插入补全
Ctrl-x Ctrl-l补全整行
Ctrl-x Ctrl-f补全文件名 |
Ctrl-x Ctrl-n从当前文件中补全文本
Ctrl-n / Ctrl-p自动补全:下一个/上一个匹配项

展开折叠的命令#

命令功能说明
zc关闭当前折叠
zo展开光标所在的折叠块
zO展开光标所在折叠块及其所有子折叠
za切换折叠状态 (展开或收起)
zR展开所有折叠
zM收起所有折叠

重复执行#

所在模式命令
普通模式(命令模式).
ex模式@:
@@

文本组合#

  • 操作符: dyc
  • 范围修饰: i ( inside )a ( around )
  • 对象类型: wsp[({"'<t等等。
NOTE

光标必须在对象内部或者边界符号上才能正常使用。

撤销与重做#

命令说明
u/:undo撤销最近一次修改
Ctrl-r/:redo重做(恢复被撤销的修改)
  1. 行级撤销
  • U: 撤销当前行的所有修改,恢复到进入该行时的状态。
NOTE

U本身也是修改,可以按u撤销这个U

  1. 指定撤销点
命令说明
:undo N跳到第N次修改之后的状态
:earlier time回到time前的状态
:earlier 3f回到3次文件(file write)写入之前的状态
:later {N}{unit}:earlier的操作相反
  1. 撤销树(Undo Tree)
  • 使用:undolist查看撤销历史和分支,再使用:earlier或者:later
Vim_learn
https://infini.cv/posts/vim_learn/
Author
infini
Published at
2025-09-03
License
CC BY-SA 4.0

Some information may be outdated