ITEEDU

(2) O命令
和o命令相反,O命令是在光标所在行的上面插入一行,并将光标置于该行的行首,等待输入文本。

[练习12]

与练习14的原始情况相同,要在当前行的上面一行输入文本。使用O命令并输入文本后,屏幕显示如下:

    This is an example!
Welcome to vi world!Come on!

文本插入到了当前行之上。

10.文本删除

在编辑模式下,我们可以用Backspace键或Del键将输错或不需要的文本删除。而在命令模式下,Vi提供了许多删除命令。这些命令大多是以d开头的。常用的有:

10.1 删除单个字符

(1) x:删除光标处的字符。若在x之前加上一个数字n,则删除从光标所在位置开始向右的n个字符。
(2) X:删除光标前面的那个字符。若在X之前加上一个数字n,则删除从光标前面那个字符开始向左的n个字符。

10.2 删除多个字符

(1) dd:删除光标所在的整行。在dd前可加上一个数字n,表示删除当前行及其后n-1行的内容。
(2) D或d$:两命令功能一样,都是删除从光标所在处开始到行尾的内容。
(3) d0:删除从光标前一个字符开始到行首的内容。
(4) dw:删除一个单词。若光标处在某个词的中间,则从光标所在位置开始删至词尾。同dd命令一样,可在dw之前加一个数字n,表示删除n个指定的单词。
另外,共有九个寄存器可以存放已经删除的九个最近内容,以便恢复。

[练习13]

假设当前编辑文件为:

  /* this is a example */
#include <stdio.h>
void int main(void)
{
int i , j ;
printf("please input a number: \n" );
scanf (" % d " , &i ) ;
j = i + 100 ;
printf("\nj = %d\n" , j) ;
return 0;
}