现在的位置: 首页 > 综合 > 正文

Linux教程- Vi的进入与退出

2012年02月25日 ⁄ 综合 ⁄ 共 2591字 ⁄ 字号 评论关闭

Linux教程-Vi的进入与退出

      vi进入




  用户登录到系统中之后,系统给出提示符“$”。在提示符后键入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命令功能相同。


抱歉!评论已关闭.