linuxvi命令模式删除行
linuxvi命令模式删除行详细介绍
在 Vi/Vim 的命令模式下,删除行的常用操作如下,附具体场景说明:
1.
删除当前行(光标所在行)
vim
dd # 直接删除光标所在行,并将内容复制到剪贴板(可通过 粘贴)
- 示例:光标在第 5 行时输入
dd,第 5 行被删除,后续行自动上移。
2.
删除指定行号的行
vim
行号dd # 例如删除第 行:3dd
- 示例:输入
10dd,删除第 10 行(无需移动光标到该行)。
3.
删除多行(从光标所在行开始)
vim
数字dd # 例如删除光标所在行及以下 行:3dd(共删 行)
- 示例:光标在第 5 行时输入
2dd,删除第 5、6 行。
4.
删除从当前行到文件末尾的所有行
vim
dG # 小写 大写 G(G 表示文件最后一行)
- 场景:快速清空文件内容或删除大量末尾行。
5.
删除指定范围的行(非光标位置)
vim
起始行号结束行号 # 例如删除第 到第 行:4d
- 示例:输入
:1,10d,删除第 1 至 10 行(无需进入命令模式)。
6.
删除不保存(误删恢复)
vim
# 撤销上一步操作(包括删除)
- 注意:仅在未保存退出(
:wq)前有效。
总结表格
| 操作场景 | 命令 | 说明 |
|---|---|---|
| 当前行(光标所在行) | dd |
删除并复制,可通过 p 粘贴 |
| 指定行(如第 5 行) | 5dd |
直接删除第 5 行 |
| 连续多行(3 行) | 3dd |
从光标行开始删 3 行 |
| 范围行(第 2-4 行) | :2,4d |
无需光标定位,直接删范围 |
| 删到文件末尾 | dG |
快速删除大量内容 |
常用组合(扩展)
- 删除不复制:
ndd!(!强制删除,不存入剪贴板)。 - 删除并替换:
ddp(删除当前行后粘贴到下一行,实现行交换)。
这些命令在命令模式下生效(需先按 Esc 确保处于命令模式),适合快速编辑文本。如果需要更复杂的删除(如匹配模式删除),可结合 :g 命令(如 :g/关键词/d 删除含关键词的行)。