您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Linux第3讲liu
第3章vi/vim编辑器的使用学习本章要达到的目标:1.了解关于vi的基本知识;2.熟悉vi的启动方法;3.掌握使用vi进行文件录入的方法;4.掌握vi操作的常用技巧。3.1vi的介绍vi是一款在UNIX系统下使用的全屏幕文本编辑器Vim是vi的改进版本ViIMproved的简称,Vim具有强大的文本编辑能力的高可配置的文本编辑器。Vim通常被誉为“程序员的编辑器”,它包含了众多的方便编程工作而设置的功能3.2vi操作模式vi工作时包含三种模式:命令模式、底行模式和文本输入模式命令模式下,将用户的按键解释为一个操作命令底行模式用于处理那些带有参数的命令,这些命令常常被回显到底行文本输入模式将用户按键解释为一个正常的文本输入,用户需要在这种模式下录入文件内容vi编辑器的启动vi[选项][filename]文件名指定需要进行编辑的文件。默认情况下,若指定文件存在,则打开该文件,若指定文件不存在,则新建空白文件。常用的启动参数:-b以二进制模式显示。-d打开多个文件,并显示文件之间的不同之处。-m被修改后的文件不允许被写入硬盘。-M禁止对文件进行修改。-e以ex(一种UNIX系统中常见的文本编辑器)的操作方式运行vi。vi启动以后的初始状态为命令模式3.3vi的命令预先做一些约定:凡是出现n或m的命令,若无特殊说明n或m表示数字;c表示一个字符;str表示一个字符串;file表示文件名vi中存在一些特殊字符表示行号,“.”表示当前光标所在行,$表示末尾行vi还支持一些简单的表达式,如“.+3”表示当前行以下的第三行。3.3.1状态切换命令i切换到插入模式,在光标左侧输入正文。a切换到插入模式,在光标右侧输入正文。o切换到插入模式,在光标所在行的下一行增添新行。O切换到插入模式,在光标所在行的上一行增添新行。I切换到插入模式,在光标所在行的开头输入正文。A切换到插入模式,在光标所在行的末尾输入正文。s切换到改写模式,用输入的正文替换光标所指向的字符。cw切换到改写模式,用输入的正文替换光标右侧的词。cb切换到改写模式,用输入的正文替换光标左侧的词。cd切换到改写模式,用输入的正文替换光标的所在行。c$切换到改写模式,用输入的正文替换从光标开始到本行末尾的所有字符。c0切换到改写模式,用输入的正文替换从本行开头到光标的所有字符。3.3.2文件保存与退出:q在文件未作修改的情况下退出。:q!强制退出,不保存对文件所做的修改。:wq保存文件修改并退出。:w保存文件。:wfile将正文内容保存到file中。:nwfile保存第n行到file中。:m,nwfile保存第m行至第n行到file中。:rfile读取file的内容输出到正文光标所在位置。:recover恢复文件。3.3.3光标移动k光标上移一行。j光标下移移行。h光标左移一个字符。l光标右移一个字符。H光标移到屏幕顶行。M光标移到屏幕中间。L光标移到屏幕底行。w行内移动到下一个词的开头。e行内移动到单词的结尾。b行内移动到前一个单词的开头。0移动到所在行行首。$移动到所在行行尾。^移动到所在行的一个非空字符。:n光标跳转到第n行。3.3.4编辑操作rc用c替换光标所指向的当前字符。x删除光标所在处的字符。dw删除光标右侧的一个单词。db删除光标左侧的一个单词。dd删除光标所在的行。p将缓冲区的字符串粘贴到光标后面。P(大写)将缓冲区的字符串粘贴到光标前面。yy将当前行复制到缓冲区。nyy复制n行到缓冲区。3.3.5字符串搜索替换/str正向搜索字符串str。:/str/正向搜索字符串str。?str逆向搜索字符串str。:?str?逆向搜索字符串str。:s/str1/str2/用字符串str2替换行中首次出现的字符串str1。:s/str1/str2/g用字符串str2替换行中所有出现的字符串str1。:m,ns/str1/str2/g用字符串str2替换第m行到第n行中所有出现的字符串str1。3.3.6撤销与重做u撤销前一跳命令产生的结果。.重做最后一条命令的操作。命令模式下的操作~文本位移命令“”命令将限定正文行向右移动。“”命令将限定正文行向左移动。“”命令将光标所在行右移8个空格。“”命令将光标所在行左移8个空格。底行命令模式下的操作定位操作:20回车#光标移到第20行的行首。显示指定文本区:m,np#显示m,n行删除指定文本区:m,nd#删除m,n行给定检索字符串的模式,向前或向后查找,光标停在首先找到的匹配行的行首。底行命令模式下的操作~全局替换命令[addr]s/源字符串/目的字符串/[option]全局替换命令为::%s/源字符串/目的字符串/g[addr]表示检索范围,省略时表示当前行。如:“1,20”:表示从第1行到20行;“%”:表示整个文件,同“1,$”;“.,$”:从当前行到文件尾;s:表示替换操作[option]:表示操作类型,如:g表示全局替换;c表示进行确认p表示替代结果逐行显示(Ctrl+L恢复屏幕);省略option时仅对每行第一个匹配串进行替换;如果在源字符串和目的字符串中出现特殊字符,需要用”\”转义底行命令模式下的操作~全局替换命令:g/模式/命令表:g/字符串1/p(打印当前所编辑的文件中包含字符串1的所有行):g/字符串1/s//字符串2/(在包含字符串1的所有行中,用字符串2替换字符串1的首次出现):g/字符串1/s//字符串2/g(用字符串2替换1的所有出现,不管在一行中字符串1出现多少次):g/字符串1/s//字符串2/gp(同上,此外,它还将所有修改过的行显示在屏幕上):g/字符串1/s//字符串2/gc(确认替换。字符串1每出现一次,就询问是否用2替换。回答Y则替换,否则不替换)如::g/^$/d//删除空行底行命令模式下的操作~全局替换命令:g!/模式/命令表对所有不匹配给定模式的文本行执行给出的命令表。例,:g!/IS/s/this/That/gp: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。:sp(:vsp)文件名vim将分割出一个横(纵)向窗口,并在该窗口中打开新文件.:e文件名vim将在原窗口中打开新的文件,若旧文件编辑过,会要求保存.:c-w-wvim分割了好几个窗口怎么办?输入此命令可以将光标循环定位到各个窗口之中.:ls此命令查看本vim程序已经打开了多少个文件,在屏幕的最下方会显示出如下数据:1%ausevim.html行1622#xxxxxx.html行0其中:1表示打开的文件序号,%a表示文件代号,%表示当前编辑的文件,#表示上次编辑的文件usevim.html表示文件名.行162表示光标位置.多文件编辑文本移动和编辑多个文件~缓冲区编辑缓冲区用户在“编辑缓冲区”中的文件副本上进行工作的。当用单一文件名参数调用vi时,就把命名的文件拷贝到临时编辑缓冲区中。编辑器记住指定的文件名,所以它以后能把缓冲区的内容拷回命名文件。在拷回原来文件之前即存盘前,该文件所新编辑操作的内容,是临时存在编辑缓冲区中的。命名缓冲区由字母a~z命名,即vi可以拥有26个字母命名的不同缓冲区。从编辑缓冲区到命名缓冲区(拷贝或剪切)命令格式为::字母名+行号+操作命令(Y)从命名缓冲区到编辑缓冲区(粘贴)命令格式为为::字母名+操作命令(P,p)删除缓冲区删除缓冲区可以由数字1~9指定。例如,可以指定把包括光标所在行的下5行删除并放到2删除缓冲区命令如下::25dd如果想在粘贴回去,则可以用命令::2p编辑多个文件vi文件1文件2…:efilename跳到指定文件:e#返回到上一个编辑文件的先前位置3.5使用vi进行文字录入使用vi输入一段文字并保存3.6使用vi修改文本对输入的文字进行整理修正输入错误思考与练习尝试完成下面的任务:选择一篇英文文章练习使用vi进行文本录入,并将文件保存到目录“~/exper/exp3”中。用vi建立一个文件,包括你简要的个人信息,包括姓名、Email、座右铭等信息,保存成“~/exper/exp3/myinfo.txt”。在实验内容和任务1中所完成的文件的尾部添加myinfo.txt文件的内容。
本文标题:Linux第3讲liu
链接地址:https://www.777doc.com/doc-3373415 .html