material/tool/vim/shortcutKeys.md

90 lines
2.4 KiB
Markdown
Raw Normal View History

# vim小技巧
`.` 重复上一个操作
## 目录
- [录制宏](#录制宏)
- [打开终端](#打开终端)
- [快捷键](#快捷键)
- [移动](#移动)
- [插入](#插入)
- [修改](#修改)
- [删除](#删除)
- [复制](#复制)
- [基本补全](#基本补全)
- [补全菜单](#补全菜单)
- [vimrc](#./.vimrc)
## 录制宏
使用 q[Key] 开始录制宏,再次点击q结束录制
@[Key] 调用宏
@@ 重复调用
## 打开终端
`:term``:vert term`
从终端转到普通模式:`<c-\>+<c-n>`
## 快捷键
### 移动
+ 0 gm 行首行尾
+ ngg 移动到第n行
+ fc tc 搜索字符 ; , 可重复
+ c-u 上半屏
+ c-d 下半屏
+ Shift-[ 跳转到上一个空行
+ * 移动到下一个与当前指针下相同单词的位置
+ # 移动到上一个与当前指针下相同单词的位置
+ Ctrl + ] 跳转到标签,依赖于tags文件
+ `ctags -R .` 创建目录下的跳转文件
+ Vim 会记录跳转历史,使用 Ctrl + T 或 Ctrl + O 返回到上一个位置
+ gf 跳转到文件路径
+ `c-o` 后退一步
+ `c-i` 前进一步
+ `[a-z] / `[A-Z] 跳转到标记位置 大写全局,小写本文件,用m[a-z]设置标记
+ ` 上次跳转的位置
+ . 最后一次修改的位置
### 插入
+ I A 行首 行末 插入
+ n<< n>> 多行左右移动
## 修改
+ r R 替换光标下的字符
+ c-i-( 替换括号内的内容可以使用任何括号匹配
### 删除
+ x 删除光标下字符
+ J 与下一行合并
+ Shift-d 从当前字符删除到行末
### 复制
+ "x 使用寄存器x进行下一次复制 粘贴 删除
:reg 显示所有寄存器
### 可视模式
+ o
交换选择区域另一端和光标的位置
+ aw as ap ab aB
选择一个单词 句子 段落 () {}
+ vi{
选中一整个大括号内
+ va{
选中一整个大括号全部
+ ]f
在文件中若出现文件名,指针放在上面使用这个快捷键可直接打开
## 基本补全
1. Ctrl+n - 普通关键字补全(向下浏览)
- 在当前文件和包含文件中查找匹配项
- 适用于变量名、函数名等
2. Ctrl+p - 普通关键字补全(向上浏览)
- 与 Ctrl+n 相同,只是方向相反
3. Ctrl+x Ctrl+f - 文件名补全
- 在输入路径时自动补全文件名
4. Ctrl+x Ctrl+l - 整行补全
- 补全整行代码(从当前文件中查找相似行)
### 补全菜单
1. `c-n``c-p` 上下移动
2. `c-y` 确认
3. `c-e` 退出