方法1:命令模式全局删除(最推荐)
步骤:
- 进入Vim后,按
Esc
确保处于普通模式 - 输入
:%d
并回车- 表示整个文件范围
d
是删除命令(delete)
原理:
此命令直接作用于整个缓冲区,无需逐行操作,执行后所有内容被清空,光标停留在首行。
方法2:利用行号范围删除
步骤:
- 按
Esc
进入普通模式 - 输入
:1,$d
并回车1
表示首行, 表示末行- 等效于删除第1行到最后一行
适用场景:
需删除特定行范围时(如 :10,20d
删除10-20行),此方法更灵活。
方法3:普通模式快捷操作
步骤:
- 按
Esc
进入普通模式 - 依次输入:
gg
(跳转到首行) →dG
(删除到文件末尾)gg
:光标移至第1行dG
:从当前行删除至文件结尾
优势:
全程键盘操作,无需输入冒号,适合习惯快捷键的用户。
方法4:替换命令(特殊场景备用)
输入 :%s/.*//g
并回车 替换所有行( 匹配整行)
- 注意:此方法保留空行(显示为空白行),而前述方法彻底删除行。
⛔ 关键注意事项
- 数据丢失风险:
删除操作不可撤销(除非未保存时强制退出),建议先执行:w
保存文件再操作。 - 空文件状态:
删除后缓冲区为空,输入:wq
可保存空白文件;若想撤销删除,立即按u
(普通模式下)。 - 可视模式验证:
执行前可用:%norm V
高亮所有行,确认范围无误。
- 首选命令:
: %d
(简洁高效,直接覆盖全文件) - 备选方案:
ggdG
(纯快捷键操作) - 风险规避:操作前保存文件,避免误删未保存内容。
引用说明:本文操作基于Vim 9.0验证,符合POSIX标准,参考Vim官方文档(
:help :d
)及《Vim实用技巧》(Drew Neil著)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6598.html