Linux教程(31)-vi命令(5)

2008-02-23 05:30:03来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

文本行的合并

Vi提供了将文本中的某些行进行合并的命令。该命令用J(大写字母)表示,其功能是把光标所在行和下面一行合并为一行。

[例33] 屏幕显示为:

#include < stdio.h > /*this is a program */ main() 输入命令J后,显示为:

# includs < stdio.h > /*this is a program */

main()

假如在J命令之前给出一个数字n,例如3,则表示把光标当前行及其后面的2行(共3行)合并为一行。

[例34] 在原来屏幕显示情况下,输入3J命令,屏幕显示为:

# include < stdio.h > /*this is a program */ main ( )

文本行的移动

在Vi中我们能够方便地将某个范围内的文本行左右移动或从一个地方移至另外一个地方。


文本行的左右移动。

文本行左右移动的命令有 >、<、>> 和 <<四个。

(1)> 命令将限定正文行(屏幕的首行)向右移动,通常是8个空格,使用格式为:>光标移动命令。移动正文行的范围由光标所在行和随后打入的光标移动命令所限定。

[例35] 屏幕显示为:

/* this is a example */

#include

void main( )

{

int i , j ;

int k ;

i = sqr ( k ) ;

j = i 100 ;

printf ( “\n j = % d\n ” , j ) ;

return ;

}

输入>4G后,屏幕显示为:

/* this is a example */

#include

void main( )

{

int i , j ;

int k ;

i = sqr ( k ) ;

j = i 100 ;

printf ( “\n j = % d\n ” , j ) ;

return ;

}

(2)< 命令将限定正文行向左移动。其使用方式和>命令相同,只是移动方向相反。例如,<6M,将光标当前行和屏幕显示中间行之间的各行都左移8个空格。

(3)>> 命令将光标所在行右移8个空格。假如在>>命令之前给出一个数字n,例如4,则表示光标当前行及其下面的3行(共4行)都右移8个空格。

[例36] 屏幕原显示为:

/* this is a example */

#include

void main( )

{

int i , j ;

int k ;

i = sqr ( k ) ;

j = i 100 ;

printf ( “\n j = % d\n ” , j ) ;

return ;

}

输入4>>后,屏幕显示为:

/* this is a example */

#include

void main( )

{

int i , j ;

int k ;

j = i 100 ;

printf ( “ \n j = % d \n ” , j ) ;

i = sqr ( k ) ;

return ;

}

(4)<< 命令将光标所在行左移8个空格。其使用和>>命令相同,只是移动方向相反。


文本行的异行移动

我们能够利用下面的步骤完成文本行从一个地方移至另外一个地方。


将光标移至待移动文本的首行;


按ndd命令。其中n为待移动的行数。此时Vi将把待移动的文本行从文档中删除,并将其放入到1号删除寄存器中;


将光标移动到目的行处;


按² 1p将待移动的文本行从删除寄存器中取出。

此时待移动的文本行就出现在目的位置处了。

上述方法虽然能够实现文本行的异行移动,但显然太烦琐。Vi还提供了另一种快捷的方法,就是在末行模式下使用命令m(Move命令)。使用方法为n m k,表示把第n行移至第k行的下方。

[例37] 屏幕显示内容为:

/* this is a example */

#include

void main( )

{

int i , j ;

int k ;

i = sqr ( k ) ;

j = i 100 ;

printf ( “ \n j = % d \n ” , j ) ;

return ;

}

现在想使第5行移至第4行位置处,可在末行模式下输入:

:5 m 3

然后按< Enter >,屏幕显示为:

/* this is a example */

#include

void main( )

int i , j ;

{

int k;

i = sqr ( k ) ;

j = i 100 ;

printf ( “\n j = % d \n ” , j ) ;

return ;

}

在命令m之前,还能够指定一个行号范围(起始行号和终止行号),表示要把指定范围内的文本行移到指定位置。例如:

:2,5 m 0

表示把文档中的第二行至第五行的内容移至文档头(第零行之下,这个零行使一个虚行)。




标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 怎样用VC制作旋转字体

下一篇: Linux教程(30)-vi命令(4)

热门词条
热门标签