第6章vi简介

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第6章vi简介文本编辑程序用于管理和处理包含文本的文件。它不能处理排版格式、字体及插入图形等等,只能处理文本。它可以做以下工作:建立只包含文本的文件;编辑文本。文本编辑程序不能处理黑体字、抬头或脚注、斜体字或其他输出格式。本编辑程序可用于写信或写报告,也可以用编辑程序发送电子邮件。Linux系统中最常用的编辑程序是ed、vi和emacs。在本章后面几节将会简单介绍并讲述怎样使用这些编辑程序。6.1文件格式化程序文本编辑程序可读入文本文件,然后建立一个格式美观的输出。用文本编辑程序建立一个文本文件,其中包含一些只有格式化程序才能理解的命令。例如,.i命令产生斜体字。当运行文本格式化程序时,它读入文本文件以及其中的特殊的命令,然后建立一个可以打印输出的格式化文件。用lp或lpr命令打印文本格式化程序的输出。最常用的Linux文本格式化程序是troff(在本章后面讲述)。有些人使用nroff(troff的一个老版本)或使用Tex。祝你走运,希望您永远不要使用它们中的任何一个。6.2字处理程序字处理程序既有文本编辑程序的功能,又有格式化程序的功能。大多数字处理程序都是WYSIWYG(是个首字母缩略词,意思是Whatyouseeiswhatyouget),因此可以在屏幕上看到文档(字处理程序称文件为文档)打印出来后是什么样的。Linux的字处理程序有ApplixWords(运行在XWindows上)和StarOffice(这是一个办公套件,有一个个人免费版本)。大多数Linux用户认为字处理程序是wimps(即whatyouseeisallyou’vegot),因为他们喜欢文本格式化程序所使用的难懂的、不好记忆的命令,并且已经习惯了靠想象来确定他们的文本打印出来后是什么样子。打印出来的文本格式在屏幕上是看不到的。公正地说,文本格式化程序比字处理程序的功能更强。例如,将复杂的数学公式格式化,处理长达数页的表格,从数据库中取出一个参考条目。但那可能不是你需要实现和考虑的问题。6.3桌面排版程序的功能桌面排版程序(DTP)类似于一个更完善的字处理程序。它具有字处理程序的所有功能,还提供了只有在打印一本书、通迅稿或其他对格式要求很高的文稿时才需要用到的功能。DTP还可以建立目录和索引。若仅为了写一个临时的备忘录,使用桌面排版程序就有点大材小用了。Linux中使用的两个最常用的桌面排版程序是Interleaf(只用于PC机)和FrameMaker(用第6章vi简介-133-于PC和Macintosh)。Tex和troff的某些版本是免费提供使用的,这就是为什么它们仍那么流行的原因,字处理程序和桌面排版程序一般都是商业产品,它们的价格非常非常贵。6.4ed,vi和emacs本章的其他部分依次讲述怎样使用三个主要的文本编辑程序(ed、vi和emacs)。尽管可以使用字处理程序或桌面排版程序,但用文本编辑程序可做以下工作:写电子邮件。建立或编辑称为shell程序的文本文件,以便建立自己的Linux命令。建立或编辑特殊的文本文件,用于控制Linux的安装工作。写C程序。6.4.1编辑程序eded是最原始的编辑程序,当Unix刚开始使用时,ed就已经成为Unix的一部分了。当你使用它时,就会赞叹从1975年以来软件设计技术的发展是多么迅速。ed程序是个行编辑程序,这意味着ed为文件中的行分配行号。每当进行编辑操作时,必须告诉ed对哪一行或哪些行进行编辑。如果用过DOS中的EDLIN,很快就能熟悉ed。只要能使用其他文本编辑程序,就不要使用ed。6.4.2编辑程序viLinux提供了一系列ex编辑器,包括ex,edit和vi。相对于全屏编辑器,现在可能很难想像如何使用ex,edit这种行编辑器(你用过DOS3.3版以前附带的EDLIN吗?即FORTRAN语言附带的编辑器)。在vi中可以使用ex中的命令方式,反之亦然,下面描述直观方式下的命令。vi的原意是”visual”,它是一个立即反应的编辑程序,也就是说可以立刻看到操作结果。使用vi时,你对文件所做的修改就是你在终端屏幕上看到的。屏幕上的光标位置就是该光标在文件中的位置。也由于vi是全屏编辑器,所以它必须控制整个终端屏幕哪里该显示些什么。而终端的种类有许多种,特性又不尽相同,所以vi有必要知道现在所使用的是哪一种终端。这使用TERM这个环境变量来设定,怎样设定环境变量请查看使用shell的说明。(除非执行vi的时候回应unknowterminaltype,否则可以不用设定。)只要简单地执行vi就可以进入vi的编辑环境。在实际操作之前先对它有个大概的了解会比较好。vi有三种模式,输入模式、命令模式以及最后行。输入模式即用来输入文字内容,通过设置选项:“aAiIoOcCsSR”中的任何一个进入输入方式,然后可以任意输入正文。输入方式通常由[Esc]键正常终止这种方式或者通过中断异常终止这种方式。而命令模式则是用来下达一些编排文件、存文件、以及离开vi等的操作指令。当执行vi后,会先进入命令模式,此时输入的任何字符都视为指令。在命令结束时会返回到命令方式。[Esc]键用来取消部分命令,返回到命令方式。此外,vi的最后一行有特殊意义:从:、/、?或!后读输入,通过键入回车键终止这种方式,用中断取消这个终止。vi是Unix世界里普遍使用的全屏文本编辑器,几乎可以说任何一台Unix机器都会提供这套软件。Linux当然也有,它的vi其实是elvis(版权问题),不过它们都差不多。熟悉DOS下的文本处理后,也许会感到vi并不好用;Linux上也已经开发出许多更新、更好用的文本编辑器,但是并不一定每一台Linux机器上都会安装这些额外的软件。所以,学习vi的操作还有好处,让你在各个不同的机器上得心应手。运行vi时输入以下命令行:vieating.peas记住用想要建立或修改的文件的名字替换eating.peas。-134-第二部分Linux的单机使用6.4.3vi建立一个新文件使用Esc键可以切换到指令模式,如果不知道现在是处于什么模式,可以多按几次Esc键,系统会发出哔哔声以确定进入指令模式。vi有以下选项:-ttag编辑包含tag的文件,并把编辑程序定位在它定义的位置上。-rfile在编辑程序或系统崩溃后编辑file(崩溃时恢复在缓冲区的file版本)。-l设置为编辑LISP程序。-L列出在编辑程序或系统崩溃时作为结果保留的所有文件名。-Wn把默认的窗口大小设置为n。这在低速线路上使用编辑程序时有用。-R只读方式,设置READONLY标志,防止对文件无意地覆盖。-x加密选项。用该选项时,vi模拟ex中的X命令,提示用户输入密钥。这个密钥用于crgrt命令中的算法对正文进行加密或解密。X命令作严格的推算以确定所读入的正文是否加过密。对-x选项用键入的密钥的变换版本,也可以对临时缓冲区中的文件进行加密。-C加密选项。与-x选项相同。此时vi模拟ex中的C命令。C命令除了假定读入的所有正文已被加密之外,其余与ex中的X命令一样。-Ccommand通过执行指定的编辑程序的command开始编辑(通常是一个搜索或定位命令。)实参file指出编辑一个或多个文件。6.4.4屏幕上充满文本vi程序用整个屏幕显示用户的文件。如果文件的长度不到一个屏幕,vi在文件结束以后的空行上显示波浪号(~)。使用vi时,在文件之后的空行中显示波浪号(~)光标(正在工作的位置)出现在文件第一行的开始。如果当启动vi时输出错误信息,应告诉系统管理员。如果屏幕输出很乱,终端可能设置得不正确——这是另一个应该向系统管理员反映的问题。1vi的基本应用所有vi命令为一个字母(与ed命令相同)。一些是小写字母,一些是大写字母,当输入vi命令时,注意正确使用大小写字母。vi程序和ed一样有两种模式:命令模式(等待一个命令)和输入模式,vi并不给你任何提示。如果在输入文本模式下想输入一个命令,按Esc键。只有在命令模式下才能输出一个命令。如果不能确定处于哪种模式可以先按Esc键。如果已经在命令模式,按Esc键只是使vi响铃。为了从命令模式转变到文本输入模式,告诉vi在光标所在位置的字符之后插入文本(使用a命令)或者在当前光标位置之前插入文本(使用i命令)。在vi中,可以看到光标在文件中的位置,与ed相比,这是一个很大改进。由于vi是在ed的基础上加以改进得到的版本,可以使用与前面讨论过的ed的命令相同的命令。为了这样做,首先保证是处在命令模式下,如果必要的话按Esc键。然后输入一个冒号(:),其后输入ed命令,按Enter键结束命令(ed命令总是要使用Enter结束),很少有例外情况,这个过程很简单。2从vi中退出退出vi时执行以下步骤:1.至少按三次Esc,计算机应该响铃。2.输入以下命令行并按Enter键::q!这个命令行告诉vi退出,并且不保存任何已经做的修改。退出vi时在指令模式下输入以下命令:zz第6章vi简介-135-输入这个命令之前一定要按几次Esc键,以保证处于命令模式。想要在退出时保存已做的修改输入以下命令行::wq记住按Enter键。该命令意味着:退出vi并且保存已经做的修改工作。3请求他人的帮助开发vi的人不相信需要帮助,所以没有提供任何帮助信息(还记得Bill吗?是他开发的vi)。幸运的是,很多的入门的计算机课程都使用vi,Bill终于增加了一种初学者的方式。运行编辑程序时不一定要输入vi,输入Vedit可以启动同样的编辑程序,它带有帮助信息。特别是在输入方式而不是命令方式时,vi在屏幕底部显示信息,如:INPUTMODE、APPENDMODE、CHANGEMODE,或者OPENMODE。所有这些信息的含义相同:当看见这些信息时,用户输入的文本添加到文件中而不被解释成命令。4简单的输入文本技术建立一个新文件以便用vi练习输入文本。运行vi时输入一个新的文件名:vimadeline为了在光标的当前位置增加文本,输入以下命令行:a由于vi是一个全屏幕编辑程序,输入命令之后不用按Enter键。例如,可以输入a命令将下列文本加进新建立的文件madeline中:InanoldhouseinParisAllcoveredwithvinesLivedtwelvelittlegirlsIntwostraightlines为了返回到命令方式,按Esc键。每当结束输入文本时按Esc,这时就可以输入下一个命令了。可以用于输入文本的命令还有:i,在当前的光标位置之前插入文本;A,在光标所在行的结尾处输入文本;O,在当前行之前插入一个空行,然后在其中输入文本。5移动光标有许多可以在文件中移动光标的命令,通常只要使用其中的几个就可以移动到文件中的任何位置:箭头键一般的功能正如用户期望的那样,在指定的方向上移动光标。遗憾的是vi不能识别某些终端上的箭头键。如果真的遇到这种情况,用h键向左移,j键向下移,k键向上移,用l键向右移。选择这些键是由于这些键是打字员右手手指的基本位置,输入这些键时不必移动手指,因而可以节省大量的宝贵时间。在某些版本的vi中,箭头键只在命令方式下起作用,而在另外一些版本中,在输入方式下箭头键也能工作。b键按单词向前跳动,e键向后跳一个单词。Enter键或+键移光标到下一行的开始位置。连字符(-)移光标到上一行的开始位置。G(大写字母)移光标到文件的结尾。1G移光标到文件的开始(注意是数字1,而不是字母I)。6用vi修改已有的文本为了修改已经输入的文本,执行以下步骤:(1)将光标移到要修改的文本的开始位置。(2)要替代已有的文本时输入R(大写字母R)。(3)输入新的文本。新输入的文本代替了已有的文本。当要结束替代文本时按Esc键。(4)要在当前光标位置之前插入文本时输入字母i(小写字母i)。-136-第二部分Linux的单机使用(5)输入新的文本。输入的文本插入已有的文本中,而不是替代已有的文本。当结束插入文本时按Esc键。7删除文本删除文本时执行以下步骤:(1)将光标移到要删除的文本的开始位置。(

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功