好记性不如烂笔头,嘿嘿。
版本历史
| 更新时间 | 操作 |
|---|---|
| 2026-01-05 14:25 | 新增「删除/清空文件内容」章节 |
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 粘贴