您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第6章 Vi编辑器的使用
第6章vi编辑器的使用用户无论是建立文本文件,还是编写程序、配置系统环境,都要用到文本编辑器。Linux操作系统环境下提供了许多文本编辑器,本章重点讲解vi编辑器,启动、保存、退出和其工作模式等内容,并对利用vi编辑器建立、编辑、加工处理文本文件操作方法进行了详细介绍,其中包括文本的插入、修改、恢复、光标移动、字符串检索、全局替换、vi编辑器的设置以及编辑多个文本文件和文本块的移动、复制等内容。6.1认识Linux的文本编辑器Unix提供了一系列的文本编辑器,包括ex、edit和vi。Vi是Unix世界里极为普遍的全屏幕文本编辑器,VIM是它的改进版本ViIMproved的简称。几乎可以说任何一台Unix/Linux机器都会提供这套软件,Vi的原意是“Visual”,它是一个立即反应的编辑程序,也就是说可以立刻看到操作结果,于vi是全屏幕编辑器。6.2vi编辑器的启动、保存和退出vi编辑器的启动vi[选项][filename]存盘及退出:w回车:wfilename回车:q回车:wq回车:q!回车6.3vi编辑器的三种工作模式6.4命令模式下的操作命令模式到输入模式的转换命令插入命令附加命令打开新行命令命令模式下的光标移动基本光标移动命令快速光标定位命令快速光标定位命令移至行首“^”及“0”(零)移至行尾“$”移至指定行“[行号]G”移至指定列“[列号]|”命令模式下的操作~文本删除命令删除字符“x”及“X”删除文本对象“dd”、“D”及“d与光标移动命令的组合”,例:d0回车d5l回车d$回车d3G回车命令模式下的操作复原命令“u”及“U”行结合命令J(大写字母)把光标所在行与下面一行结合成一行。如果在J之前给出一个数字,例如3J,则表示把当前行及其后面的2行(共3行)结合成一行。命令模式下的操作~文本位移命令“”命令将限定正文行向右移动,通常是一个制表位(8个空格)“”命令将限定正文行向左移动。“”命令将光标所在行右移8个空格。“”命令将光标所在行左移8个空格。命令模式下的操作~字符串检索命令向前检索/字符串回车向后检索?字符串回车检索下一个字符串n和N可以重复上一个检索命令。检索特殊字符*^$[/\|需要使用转义形式,即在这些字符前面加上反斜线“\”,使其失去特殊的含义。6.5底行命令模式下的操作定位操作:20回车#光标移到第20行的行首。显示指定文本区:m,np#显示m,n行删除指定文本区:m,nd#删除m,n行给定检索字符串的模式,向前或向后查找,光标停在首先找到的匹配行的行首。底行命令模式下的操作~全局替换命令:g/模式/命令表:g/字符串1/p:g/字符串1/s//字符串2/:g/字符串1/s//字符串2/g:g/字符串1/s//字符串2/gp:g/字符串1/s//字符串2/gc:g/字符串0/s/字符串1/字符串2/g底行命令模式下的操作~全局替换命令:g!/模式/命令表对所有不匹配给定模式的文本行执行给出的命令表。例,:g!/IS/s/this/That/gp:g/^/s///g:s/模式/替代文本/选项例,:s/is/are:s/is/are/g底行命令模式下的操作~插入shell命令vi编辑器中执行shell命令有两种情况:(1)仅执行shell命令,格式如下::!command(2)读取命令的输入并插入,命令格式如下::r!command如:r!ls,会在vi所编写的当前文件光标位置插入所执行ls的输出内容。恢复文件vi在编辑某个文件时,生成一个以.开头,并以.swp结尾的临时文件。vi在正常退出时,该文件被删除,若意外退出,而没有保存文件的最新修改内容,则可以使用恢复命令::recover也可以在启动vi时利用-r选项来恢复文件。如:vi–rfilename。vi的选项设置为控制不同的编辑功能,vi提供了很多内部选项。利用:set命令可以设置选项。:setall:setlines=24:setnumber:setnonumber:setautoindent6.6文本移动和编辑多个文件~缓冲区编辑缓冲区用户在“编辑缓冲区”中的文件副本上进行工作的。当用单一文件名参数调用vi时,就把命名的文件拷贝到临时编辑缓冲区中。编辑器记住指定的文件名,所以它以后能把缓冲区的内容拷回命名文件。在拷回原来文件之前即存盘前,该文件所新编辑操作的内容,是临时存在编辑缓冲区中的。命名缓冲区由字母a~z命名,即vi可以拥有26个字母命名的不同缓冲区。从编辑缓冲区到命名缓冲区(拷贝或剪切)命令格式为:“字母名+行号+操作命令(Y,dd)从命名缓冲区到编辑缓冲区(粘贴)命令格式为为:字母名+操作命令(P,p)删除缓冲区删除缓冲区可以由数字1~9指定。例如,可以指定把包括光标所在行的下5行删除并放到2删除缓冲区命令如下:25dd如果想在粘贴回去,则可以用命令:2p按行操作的文本移动按行拷贝(co命令):1,3co.文本块移动(m命令):1,3m7文件间的文本移动:2,5wfilename:2,5wfilename编辑多个文件vi文件1文件2…:n:efilename#不是依顺序,跳到指定文件:e#例,现正编辑文件ex1.c,需要把另一个文件max.c的6行文本,把它移动插入到ex1.c的指定位置。ENDOFCHAPTER6
本文标题:第6章 Vi编辑器的使用
链接地址:https://www.777doc.com/doc-3404598 .html