Linux基础教程(清华课件)-第8章 使用vi编辑文件.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:25 大小:396KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Linux基础教程(清华课件)-第8章 使用vi编辑文件.ppt

Linux基础教程(清华课件)-第8章使用vi编辑文件.ppt

预览

免费试读已结束,剩余 15 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Linux基础教程(1)操作系统基础总目录第2部分操作系统命令及shell编程第7章Linux基本命令第8章使用vi编辑文件第9章shell编程第3部分系统管理第10章Linux系统软件的获取和安装第11章账号管理第12章文件系统管理第13章TCP/IP网络管理第14章备份与恢复第15章XWindow及Genie应用程序第8章使用vi编辑文件vi的名字取自于visual,意为“直观”,它是一个全屏幕文本编辑程序。在Linux系统中vi是最常用的编辑程序,它的文本编辑功能十分强大,但使用起来比较复杂。初学者可能感到困难,经过一段时间的学习和使用后,你就会体会到使用vi非常方便。Linux系统中的vi其实是vim。vi与vim的用法很像,因为vim是vi的增强版,所以vi的功能vim都有,而且vim新增了许多vi没有的功能,它比vi容易使用。本章介绍vi编辑程序的两种工作模式,即命令模式和输入模式。1.vi的启动输入vi命令后,便进入全屏幕编辑环境,此时的状态为命令模式。(1)vi进入vi的一个临时缓冲区,光标定位在该缓冲区第1行第1列的位置上。(2)vifile1如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在该缓冲区第1行第1列的位置上。(3)vi+file1如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件最后1行第1列的位置上。(4)vi+Nfile1(N:为数字)如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件第N行第1列的位置上。(5)vi+/stringfile1如果file1文件不存在将建立此文件;如该文件存在则将其拷贝到一个临时缓冲区。光标定位在文件中第一次出现字符串string的行首位置。2.退出vi建议在退出vi前,先按ESC键,以确保当前vi的状态为命令方式,然后再键入“:”(冒号),输入下列命令,退出vi。(1):w将编辑缓冲区的内容写入文件,则新的内容就替代了原始文件。这时并没有退出vi,必须进一步输入下述命令才能退出vi::wfilename(存入指定文件):q(2):wq即将上面的两步操作可以合成一步来完成,先执行w,后执行q。(3):x和zz(注意:zz前面没有“:”)功能与(2)等价。(4):q!(或:quit)强行退出vi,使被更新的内容不写回文件中。仅键入命令:q时,如vi发现文本内容已被更改,将提示用户使用“:quit”命令退出。8.2vi的两种模式当vi工作在命令模式下,输入的字符被视为执行特定vi功能的命令;而工作在输入模式下,输入的字符是编辑文件的正文。命令模式是vi的默认模式,命令模式下输入英文大小写字母的含义是有区别的。两种模式的切换见图8.1。图8.1模式转换示意图在命令模式下,你所能进行的操作有移动光标在屏幕上的位置,标记、删除、移动、复制字符或文本区块,还可以将文件写入或退出编辑器,亦可设置编辑环境,如寻找字符串、列出行号等。此外在系统提示符下输入vi及文件名称后,即进入vi全屏幕编辑画面(命令模式)。只有在输入模式下,才可进行文字输入,按ESC键可以回到命令模式。在命令模式下可按“i”或“a”或“o”等键进入输入模式。i——在目前光标前插入所要输入之文字。a——在目前光标后开始输入文字。o——在当前光标所在行下新增一空行,并从行首开始输入文字。I——插于行首。A——插于行尾。O——在当前光标所在行上新增一空行,并从行首开始输入文字。按下ESC键随时可返回vi的命令模式。如果不能确定现在vi是在哪个模式下,按下ESC键以使其在命令模式下,然后再从这里继续;如果按下ESC键时已经在命令模式了,系统会鸣叫且屏幕闪一下,通知你已在命令模式中。8.3基本vi命令1.移动光标移动光标h、j、k、l:分别控制光标左、下、上、右移一格。Ctrl+b:上滚一屏。Ctrl+f:下滚一屏。Ctrl+d:下滚半屏。Ctrl+u:上滚半屏。G:移到文件最后。w:移到下个字的开头。b:跳至上个字的开头。2.删除x:删除当前光标所在后面一个字符。#x:删除当前光标所在后面#个字符。例如,5x表示删除5个字符。dd:删除当前光标所在行。#dd:删除当前光标所在后面#行。例如,5dd表示删除自光标算起的5行。:l,#d:例如,:1,12d表示删除自行1至行12的文字。X:删当前光标的左字符。D:删至行尾。3.更改cw:更改光标处的字到此单字的字尾处。c#w:例如,c3w表示更改3个字。cc:修改行