..
重学 VIM 1
想来从12年开始学习使用 VIM 到现在已经近10年了,自觉在用的非常浅显。在 Neovim 发布0.5.0后原生支持了 LSP ,又燃起了学习和使用 VIM 的激情。这篇博客记录了重新学习 VIM 的一些笔记。
精准跳转
VIM 提供了基本移动例如 HJKL
和 Ctrl+U/D
,但如果你知道你要跳转的地方,使用精准跳转可以更快的移动到目标位置。
- 5G: 跳转到第5行
- fx: 跳转到下一个字母x
- Fx: 跳转到上一个字母x
- tx: 跳转到下一个字母x前
- Tx: 跳转到上一个字母x前
- }: 跳转到下一个章节
- {: 跳转到上一个章节
编辑
之前的编辑是进入 Visual Mode 然后选定文字删除后再输入,VIM 提供了快捷键 c
。
- cc: 删除整行后输入
- C: 删除光标到行尾后输入
- ciw: 删除字段(word)后输入
- cw: 删除光标后字段(word)尾后输入
宏
使用 VIM 时要善于将一个大任务拆分成一个个重复的子任务,然后使用宏重复的解决子任务。
举个例子,从 Excel 里拷贝了 1000 行字符串,需要给每个字符串都添加双引号。子任务就是给单个字符串添加双引号,那么需要的按键为
- qa # 开始录制宏a
- 0 # 到行首
- i # 进入 INSERT MODE
- ” # 输入 “
-
# 退出 INSERT MODE - $ # 到行尾
- a # 进入 INSERT MODE
- ” # 输入 “
-
# 退出 INSERT MODE - j # 进入下一行
- q # 结束录制
- 999@a # 宏a重复999次