- 关 键 词:
- linux
文本行的合并
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
表示把文件中的第二行至第五行的内容移至文件头(第零行之下,这个零行使一个虚行)。
摘自《Turbolinux》
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- Linux集群技术 (8375篇文章)
- 体验Linux的音影世界 (8047篇文章)
- Linux驱动大全 (8847篇文章)
- Linux下的路由的配置与应用 (11847篇文章)
- Linux命令简介 (9900篇文章)
- Linux防火墙 (9727篇文章)
- Linux日志专题 (8501篇文章)
- Linux服务器的安全性能 (20483篇文章)
- 揭秘Linux内存管理 (8111篇文章)
- 解析Linux文件系统 (8313篇文章)
- 实用技巧:配置Linux操作系统环境变量 (30次浏览)
- 安装qmail全套功略 (18次浏览)
- TurboLinux 入门教程:第七课 TurboLinux简介 (18次浏览)
- Linux系统管理员秘技:用快捷命令一招制胜 (18次浏览)
- Linux系统命令分类详解 (1) (18次浏览)
- Linux下使用aMsn详解 (18次浏览)
- 你会在Linux下用POP3收Web电子邮箱吗? (18次浏览)
- 在Linux中用三款工具轻松制作网页 (18次浏览)
- Linux上的偷窺裝置 (1394的使用) (18次浏览)
- 深入浅出分析Linux内核漏洞的问题 (18次浏览)



