Linux教程(25)-Vi的进入和退出
2008-02-23 05:30:09来源:互联网 阅读 ()
用户登录到系统中之后,系统给出提示符“$”。在提示符后键入Vi和想要编辑(或建立)的文档名,便可进入Vi。
[例1] 键入命令:
$ vi example.c
屏幕显示如下:
~
~
~
~
~
~
~
~
~
~
~
~
~
“ example.c” [New File]
假如只键入Vi,而不带文档名,也能够进入Vi。之后在光标处键入文档内容,退出Vi时,只需在退出命令后输入文档名即可。
进入Vi之后,首先进入的就是命令模式,也就是说等待命令输入而不是文本输入。这时输入的字母都将作为命令来解释。光标停在屏幕第一行首位上(用 表示),其余各行行首均有一个“~”符号,表示该行为空行。最后一行也称状态行,显示出当前正在编辑的文档名连同其状态。如本例是[New File],表示example.c是个新建的文档。假如example.c文档已在系统中存在,那么输入上述命令后,则在屏幕上显示出该文档的内容,并且光标停在第一行的首位,在状态行显示出该文档的文档名、行数和字符数。
[例2] 键入命令:
$ vi example.c
然后键入:
#include
main ( )
{ int k ;
for ( k=0 ; k<3 ; k ) add( );
}
add( )
{ static int x=0;
x ;
printf(“x = %d\n”, x);
}
~
~
~
~
“ example.c” [ New File]
注意,在这里我们为了节省篇幅起见,屏幕只显示15行。事实上,初始的显示行数和用户所用终端有关,一般的CRT终端可显示25行。在窗口系统中,显示行数和运行Vi的那个窗口有关。然而我们能够对显示行数进行配置。例如,在能显示25行的CRT终端上,让Vi只显示15行。配置的方法将在本节后面介绍。
当用Vi建立一个新文档时,在进入Vi的命令中也能够不给出文档名,当编辑完文档需要保存数据时,再由用户指定文档名。
进入Vi时,用户不但能够指定一个待编辑的文档名,而且更有许多附加操作。
假如希望在进入Vi之后,光标处于文档中特定的某行上,可在Vi后加上任选项 n,其中n为指定的行数。
[例3] 键入命令:
$ vi 5 example1.c
后,屏幕显示如下:
#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
光标将位于文档example1.c中的第5行上。
假如希望在进入Vi之后光标处于文档最末行,则只需把命令中附加项“ ”后面的数字n省略掉即可。
在进入Vi时,除了能够指定一个光标起始行号之外,还能够在命令中指定一个模式串,此时在进入Vi后,光标就处于文档中第一个和指定模式串相匹配的那行上。
[例4] 键入命令:
$ vi /int example1.c
屏幕显示如下:
#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
光标将位于文档example1.c中的第3行上。
使用Vi能够同时编辑多个文档,只要在进入Vi的命令中写入所要操作的文档即可,还能够使用通配符。
[例5] 键入命令:
$ vi *.cat
就能够编辑任何后缀为cat的文档了。当然,您还能够使用shell中内置的模式匹配来装载文档,这样会更富技巧性。一旦您在命令行中包含了任何的待编辑文档名,就能够在Vi中方便地移来移去。
退出Vi
当编辑完文档,准备退出Vi返回到shell时,能够使用以下几种方法之一。
在命令模式中,连按两次大写字母Z,若当前编辑的文档曾被修改过,则Vi保存该文档后退出,返回到shell;若当前编辑的文档没被修改过,则Vi直接退出, 返回到shell。
在末行模式下,输入命令
:w
Vi保存当前编辑文档,但并不退出,而是继续等待用户输入命令。在使用w命令时,能够再给编辑文档起一个新的文档名。
[例6]
:w newfile
此时Vi将把当前文档的内容保存到指定的newfile中,而原有文档保持不变。若newfile是个已存在的文档,则Vi在显示窗口的状态行给出提示信息:
File exists (use ! to override)
此时,若用户真的希望用文档的当前内容替换newfile中原有内容,可使用命令
:w! newfile
否则可选择另外的文档名来保存当前文档。
在末行模式下,输入命令
:q
系统退出Vi返回到shell。若在用此命令退出Vi时,编辑文档没有被保存,则Vi在显示窗口的最末行显示如下信息:
No write since last change (use ! to overrides)
提示用户该文档被修改后没有保存,然后Vi并不退出,继续等待用户命令。若用户就是不想保存被修改后的文档而要强行退出Vi时,可使用命令
:q!
Vi放弃所作修改而直接退到shell下。
在末行模式下,输入命令
:wq
Vi将先保存文档,然后退出Vi返回到shell。
在末行模式下,输入命令
:x
该命令的功能同命令模式下的ZZ命令功能相同。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
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