命令 | 功能 |
: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作者: 介寒食