跳转到正文
返回文章列表

Vim 常用命令

更新于 2026-10-02 20:02

这篇整理日常容易忘记的保存、替换和删除操作。执行普通模式命令前先按 Esc;冒号开头的命令需要按回车执行。

保存与退出

命令

作用

:w

保存当前文件

:wq

保存并退出

:q

退出;有未保存修改时会提示

:q!

放弃未保存修改并退出

! 不是保存标志。使用 :q! 会放弃尚未写入磁盘的修改。

全局替换

vim
:%s/aifuxi/fcnb/g

% 表示整个文件,g 表示替换一行中的所有匹配;去掉 g 时,每行只替换第一个匹配。需要逐个确认时增加 c:

vim
:%s/aifuxi/fcnb/gc

路径含 / 时,可以换用其他分隔符:

vim
:%s#http://127\.0\.0\.1#http://localhost#g

搜索部分是正则表达式,IP 中的点写为 \.,避免匹配任意字符。

删除内容

命令

作用

dd

删除当前行

d$

删除光标位置到行尾

dG

删除当前行到文件末尾

:%d

删除所有行

ggdG

移到文件开头,再删除到末尾

这些操作先改变缓冲区,:w 才写入磁盘。尚未保存时,可以按 u 撤销,或用 :q! 放弃修改。

移动、复制与粘贴

  • gg:移到第一行。

  • G:移到最后一行。

  • yy:复制当前行。

  • p:在光标后粘贴;整行内容粘贴到当前行下方。

  • P:在光标前粘贴;整行内容粘贴到当前行上方。

不打开 Vim,直接清空文件

在支持 POSIX shell 的终端中:

Bash
: > filename

这会直接截断磁盘文件,无法通过 Vim 的 u 撤销。echo "" > filename 通常会写入换行符,不是严格的零字节文件。

直接清空与在 Vim 中编辑再决定是否保存,是不同操作;执行前确认目标文件。

参考:Vim change 帮助文档。

评论 0

还没有公开评论。

评论已关闭,历史评论仍可阅读。

留下评论

评论审核通过后公开。支持纯文本,最多 2000 个字符。