Linux系统提供了一个完整的编辑器家族系列,如Ed、Ex、Vi 和Emacs 等,按功能它们可以 分为两大类:行编辑器(Ed、Ex)和全屏幕编辑器(Vi、 Emacs)。行编辑器每次只能对一行 进行操作,使用起来很不方便。而全屏幕编辑器可以对整个屏幕进行编辑,用户编辑的文件 直接显示在屏幕上,修改的结果可以立即看出来,克服了行编辑的那种不直观的操作方式, 便于用户学习和使用,具有强大的功能。 Vi Linux系统的第一个全屏幕交互式编辑程序,它从诞生至今一直得到广大用户的青睐, 历经数十年仍然是人们主要使用的文本编辑工具,足见其生命力之强,而强大的生命力是其 强大的功能带来的。 本章中,我们将循序渐进地介绍如何使用Vi 来建立、编辑、显示以及处理文件。(注:文中 的大写字母为[shift]键+相应的小写字母的组合) Vi 简介 Vi 是“Visual interface”的简称,它在Linux 上的地位就仿佛Edit 程序在DOS 上一样。 它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需 要对其进行定制,这是其他编辑程序所没有的。 Vi 不是一个排版程序,它不象 Word 或WPS 那样可以对字体、格式、段落等其他属性进行编 排,它只是一个文本编辑程序。 Vi 没有菜单,只有命令,且命令繁多。Vi 有三种基本工作模式:命令行模式、文本输入模式 和末行模式。 命令行模式 任何时候,不管用户处于何种模式,只要按一下键,即可使Vi 进入命令行模式;我们在shell 环境(提示符为$)下输入启动Vi 命令,进入编辑器时,也是处于该模式下。 在该模式下,用户可以输入各种合法的Vi 命令,用于管理自己的文档。此时从键盘上输入的 任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi 命令,则Vi 在接受用户命令 之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符 不是Vi 的合法命令,Vi 会响铃报警。 文本输入模式 在命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、取代命令r 或替换命 都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存 起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键即可。