vi文本删除命令(删除文件内容) 图片看不了?点击切换HTTP 返回上层
vi 编辑器可以在编辑模式和命令模式下删除文本。传统的文本删除是在编辑模式下,使用退格键或 Del 键删除文本。在命令模式下,vi 提供了许多删除命令。常用命令如表 1 所示。
删除文本的命令可以分为删除单个字符和删除多个字符两类。其中,删除单个字符的命令包括下面两种情况。
删除多个字符的命令包括下面几种情况。
下面实例演示了删除字符的操作。
1) 在 vi 编辑器中编辑以下程序清单,屏幕显示如下。
2) 将光标移至第 6 行的 main 的 a 字符上,在命令模式下使用 d<CR> 命令删除当前所在行及其下面一行的内容。执行删除操作之后如下所示。
文本删除命令 | 命令的意义 | 文本删除命令 | 命令的意义 |
---|---|---|---|
x | 删除光标处的字符 | d( | 删除到上一句开始的所有字符 |
X | 删除光标前面的字符 | d) | 删除到下一句开始的所有字符 |
dd | 删除光标所在的整行 | d{ | 删除到上一段开始的所有字符 |
D 或 d$ | 删除从光标所在处开始到行尾 的内容 | d} | 删除到下一段开始的所有字符 |
d0 | 删除从光标前一个字符开始到 行首的内容 | d<CR> | 删除包括当前行在内的两行字符 |
dw | 删除一个单词 |
删除文本的命令可以分为删除单个字符和删除多个字符两类。其中,删除单个字符的命令包括下面两种情况。
- x 命令:删除光标处的字符。若在 x 之前加上一个数字 n,则删除从光标所在位置开始向右的 n 个字符。
- X 命令:删除光标前面的字符。若在 X 之前加上一个数字 n,则删除从光标前面那个字符开始向左的 n 个字符。
删除多个字符的命令包括下面几种情况。
- dd 命令:该命令删除光标所在的整行。在 dd 前可加上一个数字 n,表示删除当前行及其后 n-1 行的内容。
- D 命令或 d$ 命令:两个命令功能一样,都是删除从光标所在处开始到行尾的内容。
- d0 命令:该命令删除从光标前一个字符开始到行首的内容。
- dw 命令:该命令删除一个单词。若光标处在某个词的中间,则从光标所在位置开始删至词尾。同 dd 命令一样,可在 dw 之前加一个数字n,表示删除 n 个指定的单词。
- d( 命令:该命令删除到上一句开始的所有字符。
- d) 命令:该命令删除到下一句开始的所有字符。
- d} 命令:该命令删除到上一段开始的所有字符。
- d{ 命令:该命令删除到下一段开始的所有字符。
- d<CR> 命令:该命令(<CR>表示回车)删除包括当前行在内的两行字符。
下面实例演示了删除字符的操作。
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);
}
}