方法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