版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章VI文本编辑器李威liweizhisjb@163.comLinux编辑器概述文本编辑器与字处理程序文本编辑器只处理ASCII码文件字处理程序进行复杂的文字编辑工作文本编辑器类型行编辑器全屏幕编辑器流行的文本编辑器
vim、gedit、emacs、pico、nano、joe、jed…VI启动#VI
在系统提示字符(如$、#)下敲入vi<档案名称>,vi可以自动帮你载入所要编辑的文件或是开启一个新文件(如果该文件不存在或缺少文件名)进入vi后萤幕左方会出现波浪符号,凡是列首有该符号就代表此列目前是空的。3vi工作方式vi编辑器有三种方式:命令方式、输入方式和ex转义方式。☆命令方式当进入vi编辑器时,就处于vi的命令方式。此时,从键盘上输入的任何字符都被作为编辑命令来解释。☆输入方式在输入方式下,从键盘上输入的所有字符都被插入正在编辑的缓冲区中,被当作该文件的正文,进入输入方式后,输入的可见字符都在屏幕上显示出来,编辑命令不再起作用仅作为普通字符出现。☆
ex命令方式在vi中使用ex转义方式,需要输入一个冒号,冒号作为ex命令提示符出现在状态行(通常在屏幕最下一行)。45退出vi:w将文章存入指定的文件名filename:wq保存离开:q不保存离开,如果文档已经编辑并未保存,将会提示保存。:q!强制离开:!代表强制。例如:w!:ZZ连按2次Z键,可将当前正在编辑的文件保存并结束vi。(注:无文件名不可用)6文本输入插入命令i在光标前插入内容,光标后的内容相应向右移动I在光标所在行的行首插入新增文本,行首是本行的第一个非空白字符附加命令a在光标后插入内容A在光标所在行的行尾添加文本,当输入命令A时光标自动移到该行的行尾打开命令o在光标所在行的下面新开辟一行,插入内容O在光标所在行的上面新开辟一行,插入内容7光标移动☆输入方式下光标移动Backspace键将光标从当前行新插入的字符回退一个字符Ctrl+U键将光标回退到刚插入字符串的第一个字符,并重新开始插入Ctrl+W键将光标移到最后插入单词的首字符Ctrl+T键在当前行的开头插入缩进所对应的空格四个方向键可以在输入方式下移动光标8光标移动☆命令方式下光标移动向右移动一个字符l键、Space键、右向键都可向右移动一个字符,如想向右移动n个字符,则nl、n+Space例:6l表示右移6个字符;2+Space向右移动2个字符向左移动一个字符h键、Backspace键、左向键可向左移动一个字符,如想向左移动n个字符,则nh例:5h向左移动5个字符移到下一行+、Enter键、j键、Ctrl+N、下向键,前两个光标移到下一行的开头;后面三个下移后光标所在列不变;例:3+、3Enter、3j、3Ctrl+N、3↓表示下移3行移到上一行-、k键、Ctrl+p、上向键都表示上移一行;第一个把光标移到上行的开头,其余三个保持光标在同一行上。例:3-、3k都表示光标上移3行9光标移动☆命令方式下光标移动移至行首^键、0键都表示把光标移到当前行的开头;0键把光标移到当前行的第一个字符,不管它是否为空白符;^键把光标移到当前行的第一个非空白字符移至行尾$移至当前行的行尾,如果是n$表示光标移到下面n-1行的行尾移至指定行[行号]G将光标移至指定行的开头,行号缺省则移到文件的最后一行的开头移至指定列[列号]|将光标移到当前行指定列上,如果列号缺省则移到当前行的第一列上按词前移w、W表示将光标下移一个词的开头;w搜索的词定义为以标点符号或空白符分开的字母数字串;W搜索的词定义为非空白字符串按词后移b、B将光标后退到前一词的开头b、B对搜索词的定义和w、W一致。如果光标已在一个词中则移至该次的开头10光标移动☆命令方式下光标移动移至词尾e、E将光标移至词尾,对搜索词的定义和w、W一致。如果光标在一个词中则移至该词的末尾按句移动(、)将光标移至上一个和下一个句子的开头。句子定义为以句点(.)、问号(?)、或感叹号(!)结尾、后随两个空格或一个换行的字符序列。句子在第一个非空白字符开始在屏幕上移动[位移]H移至屏幕的左上角;nH表示光标移到距屏幕顶部(n-1)行的行首[位移]M移至屏幕中间行的开头;[位移]L移至屏幕的最低行,当显示内容不足一屏时光标则停留在最后一行;注意:dH表示删除从当前行至所显示屏幕顶行的全部行;dM表示删除从当前行至命令M所指定行之间的所有行dL表示删除从当前行至屏幕底行之间的所有行11文本删除x删除光标所在的字符,nx表示向右删除n个字符;XX删除光标前面的那个字符,nX表示向左删除n个字符;dd删除光标所在的整行D从光标位置开始删除到行尾d与光标移动命令组合从光标位置开始删除到由光标移动限定的文本对象的末尾。12文本删除
例:d0从光标位置删至行首d3l从光标位置向右删3个字符d$从光标位置删至行尾,与D相同d5G从光标所在行至第5行删除dw删除从光标位置(包括该位)至该词末尾(包括词尾空白符)的所有字符d3B从光标位置(不包括该位)反向删除3个词(光标所在词也算在内)dM删除光标所在行至屏幕中间行的所有行13文本编辑复原命令u取消之前刚输入的一条命令的作用U把当前行恢复成它被编辑之前的状态,不管对它编辑了多少次重复命令园点(.)用来重复实现最新一次使用的插入或删除命令14修改命令c命令、C和cc的功能都是修改文本对象,并用新输入的文本代替老的文本。输入修改命令后就进入输入方式。另这里用$符号标记同一行中修改内容的范围。修改命令cc后面紧随光标移动命令,之后是输入新文本,Esc键C修改从光标位置到该行末尾的文本cc将光标所在行的全部内容都由新输入的内容代替15修改命令练习:请动手练习给出下列命令实现的功能cW、c$、c6G
、C16取代命令取代命令r用随后输入的单个字符取代光标所在的字符。或在r前面给出一个数字,表示在光标位开始向右共有n个字符分别被新字符所代替R用随后输入的文本取代光标位及其右面的若干字符,每输入一个字符就替代原有的一个字符,如果新输入的字符超过原有对应的字符数,则多出的部分就附加在后面。另如果R前面加数字n代表新输入的正文重复出现n次但是被覆盖的字符数不变;即使新输入的文本占多行时也只有光标所在行的对应字符被覆盖(新输入的文本字符个数计算不包括换行和Esc键但包含空格)
17取代命令练习:请动手练习给出下列命令实现的功能3rA、3RA18替换命令r命令和s命令的区别:r命令仅完成置换;s命令在完成置换后,工作模式从命令方式转换成输入方式,因此r=s+Esc;替换命令s用随后输入的正文替换光标所在的字符;ns表示光标所在字符以及其后的(n-1)个字符被新输入的字符序列替换S命令用新输入的文本替代当前行;nS表示当前行和下面的(n-1)行19文本编辑文本编辑命令文本行合并命令J用来将光标所在行和下面一行合并成一行;nJ表示把当前行和后面的(n-1)行进行合并文本行移动命令<、<<将限定正文行向左移动8个空格,移动正文行的范围由光标所在行和随后输入的光标移动命令所限定>、>>使用方式和<、<<相同,只是方向相反20屏幕命令屏幕命令滚屏
命令Ctrl+U屏幕向上滚动半个窗口Ctrl+D屏幕下滚动半个窗口分页
命令Ctrl+F向前将屏幕分页Ctrl+B向后将屏幕分页如果在Ctrl前键入一个数字n,则屏幕相应滚过n行,以后在用Ctrl+U和Ctrl+D命令也相应滚过同样的行数。在Ctrl前键入一个数字n表示移动的页数。21屏幕命令屏幕命令编辑一个文件vi+行号文件名表示从表示从指定行进入vi,将所指定行作为屏幕中间行出现,光标停在行首vi+/词文件名表示从某一指定词进入vi,首先在文件中找出指定词的第一次出现,以该行作为屏幕的中间行,光标停在该行行首编辑多个文件vi文件1文件2同时调入多个文件,依次对它们进行编辑22屏幕命令屏幕调零命令[行号]z[行数]按Enter键表示指定行作为首行显示在屏幕顶端并显示指定的行数[行号]z[行数].表示指定行作为屏幕的中间行显示在屏幕中间并显示指定的行数[行号]z[行数]-表示指定行作为底部行显示在屏幕的底部并显示指定的行数23屏幕命令☆
例:10z+Enter将第10行作为显示的首行;10z.将第10行作为显示屏幕的中间行,显示一行;10z-将第10行作为显示屏幕的底行,显示一行;10z5-将第10行作为显示屏幕的底行,显示5行;24字符串检索字符串检索命令/模式+Enter键系统从光标所在行开始向前查找这个模式,找到后停留在该模式的第一个字符上,否则在状态行显示“Patternnotfound”/模式/-n+Enter键从光标所在行向前查找指定模式,光标停留在匹配行前n行的行首,即行号=匹配行号-n/模式/+n+Enter键从光标所在行向前查找指定模式,光标停留在匹配行后n行的行首,即行号=匹配行号+n/模式/-+Enter键从光标所在行向前查找指定模式,光标停留在匹配行前一行的行首/模式/++Enter键从光标所在行向前查找指定模式,光标停留在匹配行下一行的行首25字符串检索字符串检索命令?模式+Enter键从光标所在行向后查找指定模式?模式?-n+Enter键从光标所在行向后查找指定模式,光标停留在指定行前n行的行首,即行号=匹配行号-n?模式?+n+Enter键从光标所在行向后查找指定模式,光标停留在匹配行后n行的行首,即行号=匹配行号+n?模式?-+Enter键从光标所在行向后查找指定模式,光标停留在匹配行前一行的行首?模式?++Enter键从光标所在行向后查找指定模式,光标停留在匹配行下一行的行首26字符串检索例:/8+Enter/8/-2+Enter
?8?+2+Enter27字符检索字符检索命令n和Nn和N可以重复上一个检索命令,n重复检索方向和上一个检索命令相同,N则相反f字符在当前行上向前查找给定的字符F字符在当前行上向后查找给定的字符;字符重复上一次查找动作,方向相同,字符重复上一次查找动作,方向相反28字符检索☆
光标靠近字符命令t和T移动光标靠近字符,t光标停在字符前一位;T光标停在字符后一位;☆置标记对文件中某些特定位置做上标记便于以后进行快速查找、定位。置标记命令的格式如下:m小写字母29字符检索☆
全局替换命令全局替换是一种组合命令,命令格式:g/模式/命令表全局替换命令g/s1/p将包含字符串s1的所有行显示在屏幕上g/s1/s//s2/在包含字符串s1的所有行中用字符串s2替换g/s1/s//s2/g用字符串s2替换字符串s1,包括一行中s1出现多次g/s1/s//s2/gp用字符串s2替换字符串s1,包括一行中s1出现多次,并将修改过的行显示在屏幕上g/s1/s//s2/gc确认替换,s1每出现一次就询问是否用s2替换30字符检索全局替换命令g/s0/s/s1/s2/g对包含s0的所有行作标记,然后对有标记的行中的s1用s2进行替换g!/模式/命令表对所有不匹配给定模式的文本行执行命令表g/^/s///g在文件的每一行的开头插入给定的空格s/模式/替代文本/选项对每一行与给定模式匹配的第一个字符串用“替代文本”取代;选项中g对所有匹配的字符串都替换;c替换前提示用户确认;31字符检索例:1、g/this/p+Enter在屏幕上显示所有包含字符串this的行2、g/IF/s//if/将当前文件中所有的IF都替换成小写的if(一行中包括多个IF时只替换第一个字符串)3、g/IF/s//if/g将当前文件中所有的IF都替换成小写的if(一行中包括多个IF时都被替换)4、g/print/s/n1/value/g对所有包含print的行,如果其中含有字符串n1则用value替换5、g!/print/s/n1/value/g将不包含print的所有行用value替换n132ex命令命令定位方法指定行号:20+Enter将光标移到第20行的行首给定模式:/this/按Enter键从光标所在行向前查给定模式this:?this?按Enter键从光标所在行向后查找给定模式this.当前行n编辑器缓冲区中的第n行,行号从1开始顺序编排33ex命令命令定位方法$缓冲区中的最后一行%1,$从第1行至最后一行的缩写+n或-n表示相对当前行的位移.当前行`x快速回到有标记的正文行上34ex命令☆
e命令:可以编辑当前文件时编辑另外的文件。当前文件名由vi记住,用%表示;编辑缓冲区中的上一个文件名用#表示命令定位方法e文件名编辑由文件名指定的文件。这里编辑器会先检查自上次执行写(w)命令缓冲区内容是否被修改过,如果改过就发出警告信息并中止该命令;如未修改过就删除缓冲区内的全部内容,把指定的文件当作当前文件e!文件名它不把修改过的当前文件从缓冲区中写出去,从而忽略在编辑新文件之前的全部修改e+n文件名从第n行开始编辑指定的文件35ex命令☆
w命令:把编辑缓冲区中全部或者部分内容写到当前文件或者另外某个文件中。命令定位方法w文件名把做的修改写回指定的文件,并显示所写的行数和字符数w>>文件名把缓冲区内容附加到文件的末尾w!文件名跳过通常写命令对文件的检查,把缓冲区的内容写到系统允许的任何文件上w!命令将指定的各行写入指定命令中36ex命令☆
r命令:把文本读入编辑缓冲区的任意指定位置,读入文本必须至少一行长。命令定位方法r文件名将指定的文件副本读入缓冲区中指定行之后r!命令将命令输出读到缓冲区指定行之后37ex命令☆
q命令:退出命令命令定位方法q退出vi。由于编辑器缓冲区的内容不会自动保存因此此时vi会显示警告信息,不会从vi中退出q!强制退出,不保留所作的修改wq文件名保存退出wq!文件名忽略执行w命令之前所作的检查。例如,用户有个文件并没有打开它的写权限但是使用wq!就允许用户用任何方式修改该文件x文件名如果文件做过修改且没有写出去则该命令是保存后退出,否则直接退出38文本移动☆
把文本从一个缓冲区放到编辑缓冲区中,语法如下:如不指定缓冲区则文本取自无名缓
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理礼仪与护理团队
- 智博招聘考试题库及答案
- 护理文化建设的创新与发展
- 专职会计聘用合同
- 护理PBL教学课件中的问题发现与解决技巧
- 护理中的创新思维
- 护理课件设计原则与实践
- 新生儿肠外营养的护理
- 2026年国际电子商务师认证考题含答案
- 2026版《药品管理法》考试试题(附答案)
- 垂钓园的运营方案
- 自考《唐宋诗词鉴赏》考前密押120题及答案含解析
- 2025年安徽监理员考试题及答案
- 2025高考江西生物真题
- 2025年中国南水北调集团青海有限公司春季招聘13人笔试参考题库附带答案详解
- 零内耗培训课件下载
- 2025浙江宁波市水务环境集团有限公司招聘笔试参考题库附带答案
- GB/T 45816-2025道路车辆汽车空调系统用制冷剂系统安全要求
- 精益生产管理办法
- 急性脊髓损伤护理查房
- 2025年六盘水出租车资格证考试题
评论
0/150
提交评论