vim 常用命令(一)
单字符
- 超级命令 . 重复执行上一次命令
- 从进入到插入模式开始,到返回普通模式,vim会记录每一个按键操作。 作出这样一个修改后在用. 命令,它将会重新执行所有这些按键操作
- u 取消上一步操作
- ^ 到行首
- $ 到行尾
- ( 到段落首位
- ) 到段落尾部
- b 移动到当前单词的首位
- w 移动到单词的最后一个字符
- a 在当前字符之后插入
- A (相当于$a) 在当前行结尾插入
- C (相当于c$) 删除当前字符到行位的字符,并进入插入模式
- s (相当于cl) 删除当前字符然后插入
- S (相当于^c) 删除当前所有字符,光标移动到当前行的首页
- I (相当于^i) 移动到行首,并进入插入模式
- o (相当于A) 相当于移动到结尾,然后点击回车
- O (相当于ko) 移动到上一行,然后执行换行操作
修改命令
- d 删除当前字符,光标没有进入插入模式
- c+特定字符, 删除指定字符,并进入插入模式
组合命令
- 命令格式: 操作符号 + 动作命令
- 操作符号
- c 删除字符,删除之后进入插入模式
- d 删除字符
- y 复制字符寄存器
- > 增加缩进
- < 减少缩进
- = 自动缩进
- gu 转换成为小写
- gU 转换成为大写
- g~ 大小写反转
- 其它:可以自己编写插件扩展操作符号
- 动作命令
- 如果动作命令和操作符一样:则代表操作当前行
- 数字 例如1代表1个字符
- aw 一个单词
- 2w 2个单词
- ap 一个段落
- 2p 2个段落
- db 删除当前字符到单词首位的字符
- daw 删除一个单词,并且会删除掉空格,并把光标移动到下一个字符
- d2w 删除2个单词
- 2dw 执行2次dw操作
- yyp 拷贝当前行
- : 为ctrl+a, 对找到的第一个数字进行加操作
- : 为ctrl+x, 对找到的第一个数字进行减操作
- gg 移动到段落首位
- G 移动到段落尾部
特殊命令
- f{char} 同一行内查找下一处指定字符出现的位置
- ; 命令带我梦到下一个目标字符上
- , 反向查找上一次查找到的字符
- F(char) 同一行回退查找下一处指定字符
- t{char} 同一行内查找下一个指定字符,然后讲光标定位在字符前面
- T{char} 和t的方向相反
扩展命令
- 批量行处理
- VG 选择当前行到文件尾部所有内容
- :normal 命令
- 例如 :normal A; 每行尾部增加;
- qx{changes}q
- 普通模式下输入qx 进入vim底部会出现录入中
- 然后执行一系列命令,这些命令会被存储在x中
- 最后使用ESC退出回到普通模式,然后点击q结束录制
- 后续可以通过@x来重复执行
- 可以通过u进行取消操作