← 返回博客列表

Vim 常用命令

·后端开发·4 分钟阅读

好记性不如烂笔头,嘿嘿。

版本历史

更新时间操作
2026-01-05 14:25新增「删除/清空文件内容」章节

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

保存/退出

: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 粘贴

Vim