| 命令 | 功能 |
| :w | 保存文件 |
| :q | 退出vim |
| :q! | 强制退出vim,不保存文件 |
| :wq | 保存并退出 |
| gg | 跳到文件的第一行 |
| :10 | 跳到文件的第10行 |
| shift + g | 跳到文件的最后一行 |
| shift + d | 删除当前光标到行尾的内容 |
| gd | 跳到光标所在变量的定义(函数内) |
| gD | 跳到光标所在变量第一次出现的地方 |
| gf | 编辑光标所在位置对应的文件 |
| gF | 编辑光标所在位置对应的文件,并跳到文件名后的行号 |
| dd | 删除当前行 |
| :10,20d | 删除文件的第10行到第20行的内容 |
| :%d | 清空文件内容 |
| yy | 复制当前行 |
| p | 粘贴复制的内容到下一行 |
| shift + P | 粘贴复制的内容到下一行 |
| u | 回退修改 |
| ctrl + r | 撤销回退 |
| i | 光标位置插入 |
| a | 光标位置追加 |
| o | 向下换行 |
| shift + o | 向上换行 |
| ctrl + o, ctrl + o | 打开最近一次编辑的文件 |
| :e xxx | edit,编辑文件xxx |
| :f | file,查看当前文件的文件名 |
| :pwd | 查看当前文件的绝对路径 |
| :shell | 进入控制台界面执行shell命令,exit返回vim |
| /xxx | 向下匹配xxx字符,N向下查找,shift + N向上查找 |
| ?xxx | 向上匹配xxx字符,N向上查找,shift + N向下查找 |
| :set hls | 设置高亮搜索 |
| :set nohls | 取消高亮搜索 |
| :set nu | 设置显示行号 |
| :set nonu | 取消显示行号 |
| :set paste | 粘贴模式,不格式化拷贝的内容 |
| :%s/xxx/yyy/g | 全局匹配替换,将xxx全部替换为yyy |
| :bro ol | browse oldfiles,查看最近打开的文件 |
| :set ff | fileformat,查看文件格式 |
| :set ff=unix | 设置文件格式为unix |
| :sp | 上下分屏 |
| :vsp | 左右分屏 |
| ctrl + w | 切换分屏 |
| ctrl + e | 向下滚屏 |
| ctrl + y | 向上滚屏 |
| ctrl + x, ctrl + i | 关键字补全,只匹配当前文件中的关键字及include指定头文件中的关键字 |
| ctrl + x, ctrl + f | 文件名补全 |
| ctrl + x, ctrl + ] | 关键字补全,匹配ctags文件中的关键字 |
| :!ctags -R . | 当前目录下递归生成tags文件 |
| :set tags=xxx | 使用xxx作为vim使用tag文件 |
| ctrl + ] | 跳转到第一个匹配的tag |
| :tn | tag next,多个tag匹配中时,跳转到下一个tag |
| :ts | tag select,列出匹配中的tag列表 |
| #NAME? | 自动缩进当前行至文件最后一行的内容 |
| #ERROR! | 自动缩进当前行 |
| 10== | 自动缩进当前行后面的10行(包括当前行) |
| h/j/k/l | 左/下/上/右 |
| w | 行内跳字(跳到字首)(从左往右) |
| shift + w | 行内跳字(跳到字首)(从左往右),只以空格为分隔符 |
| b | 行内跳字(跳到字首)(从右往左) |
| shift + b | 行内跳字(跳到字首)(从右往左),只以空格为分隔符 |
vim常用命令
发布时间 2023-09-11 16:39:49作者: 介寒食