首页 > 编程笔记

vi文本删除命令(删除文件内容)

vi 编辑器可以在编辑模式和命令模式下删除文本。传统的文本删除是在编辑模式下,使用退格键或 Del 键删除文本。在命令模式下,vi 提供了许多删除命令。常用命令如表 1 所示。

表1:命令模式下常用的文本删除命令
文本删除命令 命令的意义 文本删除命令 命令的意义
x 删除光标处的字符 d( 删除到上一句开始的所有字符
X 删除光标前面的字符 d) 删除到下一句开始的所有字符
dd 删除光标所在的整行 d{ 删除到上一段开始的所有字符
D 或 d$ 删除从光标所在处开始到行尾 的内容 d} 删除到下一段开始的所有字符
d0 删除从光标前一个字符开始到 行首的内容 d<CR> 删除包括当前行在内的两行字符
dw 删除一个单词    

删除文本的命令可以分为删除单个字符和删除多个字符两类。其中,删除单个字符的命令包括下面两种情况。
删除多个字符的命令包括下面几种情况。
下面实例演示了删除字符的操作。

1) 在 vi 编辑器中编辑以下程序清单,屏幕显示如下。

#include <stdio.h>
int add(int a, int b)
{
    return a + b;
}
int main(void)
{
    int i, sum;
    for (i=0; i<3; i++){
        sum = add(i, i+1);
        printf("%d\n", sum);
    }
}
"test.c" 13L, 175C


2) 将光标移至第 6 行的 main 的 a 字符上,在命令模式下使用 d<CR> 命令删除当前所在行及其下面一行的内容。执行删除操作之后如下所示。

#include <stdio.h>
int add(int a, int b)
{
    return a + b;
}
    int i, sum;
    for (i=0; i<3; i++){
        sum = add(i, i+1);
        printf("%d\n", sum);
    }
}

推荐阅读