Linux教程(26)-Vi的编辑操作及命令
2008-02-23 05:30:07来源:互联网 阅读 ()
Vi中的许多命令都要用到行号及行数等数值。若编辑的文档较大时,自己去数是很不方便的。为此Vi提供了给文本加行号的功能。这些行号显示在屏幕的左边,而相应行的内容则显示在行号之后。
使用的命令为:在末行方式下输入命令:
:set number
需要说明的是,这里加的行号只是显示给用户看的,他们并不是文档内容的一部分。
在一个较大的文档中,用户可能需要了解光标当前行是哪一行,在文档中处于什么位置,可在命令模式下用组合键
[例7]
#include
main ( )
{ int k ;
for ( k=0 ; k<3 ; k ) add( );
}
add( )
{ static int x=0;
x ;
printf(“x = %d\n”, x);
}
~
~
~
~
~
“ example.c” [Modified] lines 4 of 10 --40%-- col 11
在末行方式下,我们能够输入命令nu(单词number的缩写)来获得光标当前行的行号和该行内容。
光标移动操作
全屏幕文本编辑器中,光标的移动操作无疑是最经常使用的操作了。用户只有熟练地使用移动光标的这些命令,才能迅速准确地到达所期望的位置处进行编辑。
Vi中的光标移动既能够在命令模式下,也能够在文本输入模式下,但操作的方法不尽相同。
在文本输入模式下,可直接使用键盘上的四个方向键移动光标。
在命令模式下,有很多移动光标的方法。不但能够使用四个方向键来移动光标,还能够用h、j、k、l这四个键代替四个方向键来移动光标,这样能够避免由于不同机器上的不同键盘定义所带来的矛盾,而且使用熟练后能够手不离开字母键盘位置就能完成任何操作,从而提高工作效率。另外还能够用
右向键的作用是将光标向右移动一个位置。若在向右键前先输入一个数字n,那么光标就向右移动n个位置。例如5l表示光标向右移动5个位置。需要注意的是,光标移动不能超过当前行的末尾。若给定的n超过光标当前位置至行尾的字符个数,假如用右向键,光标只能移到行尾;假如用
h、
执行一次向左键,光标向左移动一个位置。同向右键相同,也能够在向左键的前面输入一个数字n,那么光标就向左移动n个位置。需要注意的是,假如用左向键,光标左移不能超出该行的开头;假如用
j、
执行一次向下键光标向下移动一个位置(即一行),但光标所在的列不变。当这些命令前面加上数字n,则光标下移n行。
Vi除了能够用向下键将光标下移外,还能够用
3j 光标下移3行,且光标所在列的位置不变。
3 或3
k、
执行一次向上键光标向上移动一个位置(即一行),但光标所在的列不变。同样在这些命令前面加上数字n,则光标上移n行。
若希望光标上移之后,光标位于该行的行首,则能够使用命令“- ”。
L (移至行首)
L 命令是将光标移到当前行的开头,即将光标移至当前行的第一个非空白处(非制表符或非空格符)。
$(移至行尾)
该命令将光标移到当前行的行尾,停在最后一个字符上。若在$命令之前加上一个数字n,则光标下移n-1行并到达行尾。
[行号] G(移至指定行)
该命令将光标移至指定行号所指定的行的行首。这种移动称为绝对定位移动。
[例8]
#include
main ( )
{ int k ;
for ( k=0 ; k<3 ; k ) add( );
}
add( )
{ static int x=0;
x ;
printf(“x = %d\n”, x);
}
~
~
~
~
~
“ example.c” 12 lines, 125 characters
键入命令:6G后,屏幕显示如下:
#include
main ( )
{ int k ;
for ( k=0 ; k<3 ; k ) add( );
}
add( )
{ static int x=0;
x ;
printf(“x = %d\n”, x);
}
~
~
~
~
~
“ example.c” 12 lines, 125 characters
光标移到了第6行的行首。
若省略行号,则光标移至该文档的最后一行的行首,即无论该文档有多少屏,都跳至最后一行。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: Linux教程(27)-vi命令(1)
下一篇: Linux教程(25)-Vi的进入和退出
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash