# vim小技巧 `.` 重复上一个操作 ## 目录 - [录制宏](# 录制宏) - [打开终端](# 打开终端) - [快捷键](# 快捷键) - [移动](# 移动) - [插入](# 插入) - [修改](# 修改) - [删除](# 删除) - [复制](# 复制) - [基本补全](# 基本补全) - [补全菜单](# 补全菜单) - [vimrc](# ./.vimrc) ## 录制宏 使用 q[Key] 开始录制宏,再次点击q结束录制 @[Key] 调用宏 @@ 重复调用 ## 打开终端 `:term`或`:vert term` 从终端转到普通模式:`+` ## 快捷键 ### 移动 + 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` 退出