返回博客列表
工程效率2026年8月20日2 分钟阅读

Vim 常用命令

记录自己常用的 vim 命令,日后方便查找

#Vim

Vim 命令真的好容易忘记,几下一些每次想要用但是又需要去网上查的命令,一些基本的像i 、a、o的就不记录了


保存/退出

:wq 保存并退出
:q! 强制退出,不保存修改的内容


全局替换

例子:

因为这里需要替换 / ,所以需要 # 做分隔符

  • :%s#http://127.0.0.1#http://localhost#g,把所有 http://127.0.0.1 替换为 http://localhost

  • :%s/aifuxi/fcnb/g,把所有 aifuxi 替换为 fcnb


删除/清空文件内容

方法 1:最简指令(推荐)

直接在 普通模式(按 Esc 退出编辑模式)下输入:

:%d
复制

然后按下回车,文件内容即可被删除

  • 解释:

    • % 代表「整个文件」(等价于 1,$,即从第 1 行到最后一行);

    • d 是删除指令;

    • 执行后文件内容会被全部删除,光标自动回到首行。

方法 2:编辑模式覆盖

直接在 普通模式(按 Esc 退出编辑模式)下输入:

ggdG
复制
  • 解释:

    • gg (跳到文件首行),然后输入 dG (删除到文件末尾)

方法3:不进入 vim 直接清空

注意: 下面的命令输入后会直接清空文件内容,没有撤回操作(不像 vim 中清空了之后,不想要这次修改可以直接 :q!退出放弃这次修改),如果是重要的文件,修改前应该做好备份

这种方法适用于大文件,比如一个日志文件 100 M 显然不适合用 vim 打开,然后执行删除命令

  • 使用 Shell 命令行

echo "" > filename
复制
  • 使用 truncate 命令(将文件大小截断为 0)

truncate -s 0 filename
复制

删除当前行

dd


从当前光标删除到行尾

d$


从当前光标删除到文件末尾

dG


移动光标到文件末尾

G


复制当前行

yy 复制当前光标所在的行,然后输入 p 粘贴