Vi经过长时间的发展,这里我发表一下个人理解退出Vi返回到shell,和大家讨论讨论。Linux具备现代一切功能完整的UNIX系统所具备的全部特征,其中包括真正的多任务、虚拟内存、共享库、优秀的内存管理以及TCP/IP网络支持等。
退出Vi返回到shell
当编辑完文件,准备退出Vi返回到shell时,可以使用以下几种方法之一。在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则退出Vi返回到shell。
在末行模式下,输入命令 :w Vi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。在使用w命令时,可以再给编辑文件起一个新的文件名。
: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放弃所作修改而直接退出Vi返回到shell下。在末行模式下,输入命令
:wq Vi将先保存文件,然后退出Vi返回到shell。 在末行模式下,输入命令
该命令的功能同命令模式下的ZZ命令功能相同。
Vi中的行号
Vi中的许多命令都要用到行号及行数等数值。若编辑的文件较大时,自己去数是非常不方便的。为此Vi提供了给文本加行号的功能。这些行号显示在屏幕的左边,而相应行的内容则显示在行号之后。
退出Vi返回到shell使用的命令为:在末行方式下输入命令: :set number
需要说明的是,这里加的行号只是显示给用户看的,它们并不是文件内容的一部分。
在一个较大的文件中,用户可能需要了解光标当前行是哪一行,在文件中处于什么位置,可在命令模式下用组合键
#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返回到shell。
【编辑推荐】