Linux vi的使用.ppt_第1页
Linux vi的使用.ppt_第2页
Linux vi的使用.ppt_第3页
Linux vi的使用.ppt_第4页
Linux vi的使用.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章 使用vi编辑文件,3.1 vi的启动与退出 3.2 vi的三种模式 3.3 基本vi命令 3.4 使用vi查找和替换 3.5 编辑多个文件,vi的名字取自于visual,意为“直观”,它是一个全屏幕文本编辑程序。在Linux系统中vi是最常用的编辑程序,它的文本编辑功能十分强大,但使用起来比较复杂。初学者可能感到困难,经过一段时间的学习和使用后,你就会体会到使用vi非常方便。Linux系统中的vi其实是vim。vi与vim的用法很像,因为vim是vi的增强版,所以vi的功能vim都有,而且vim新增了许多vi没有的功能,它比vi容易使用。本章介绍vi编辑程序的两种工作模式,即命令模式和

2、输入模式。,1. vi的启动 输入vi命令后,便进入全屏幕编辑环境,此时的状态为命令模式。 (1) vi 进入vi的一个临时缓冲区,光标定位在该缓冲区第1行第1列的位置上。 (2) vi file1 如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在该缓冲区第1行第1列的位置上。,3.1 vi的启动与退出,(3) vi+file1 如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件最后1行第1列的位置上。 (4) vi+Nfile1(N:为数字) 如果file1文件不存在,将建立此文件;如该文件存在,则将其

3、拷贝到一个临时缓冲区。光标定位在文件第N行第1列的位置上。 (5) vi+/string file1 如果file1文件不存在将建立此文件;如该文件存在则将其拷贝到一个临时缓冲区。光标定位在文件中第一次出现字符串string的行首位置。,2. 退出vi 建议在退出vi前,先按ESC键,以确保当前vi的状态为命令方式,然后再键入“:”(冒号),输入下列命令,退出vi。 (1) :w 将编辑缓冲区的内容写入文件,则新的内容就替代了原始文件。这时并没有退出vi,必须进一步输入下述命令才能退出vi: :w filename(存入指定文件) :q,(2) :wq 即将上面的两步操作可以合成一步来完成,先

4、执行w,后执行q。 (3) :x和zz(注意:zz前面没有“:”) 功能与(2)等价。 (4) :q!(或:quit) 强行退出vi,使被更新的内容不写回文件中。仅键入命令:q时,如vi发现文本内容已被更改,将提示用户使用“:quit”命令退出。,3.2 vi的三种模式 当vi工作在命令模式下,输入的字符被视为执行特定vi功能的命令;而工作在输入模式下,输入的字符是编辑文件的正文。命令模式是vi的默认模式,命令模式下输入英文大小写字母的含义是有区别的。三种模式的切换见图3.1。,3.2 vi的三种种模式 。 图3.1 模式转换示意图,在命令模式下,你所能进行的操作有移动光标在屏幕上的位置,标记

5、、删除、移动、复制字符或文本区块,还可以将文件写入或退出编辑器,亦可设置编辑环境,如寻找字符串、列出行号等。此外在系统提示符下输入vi及文件名称后,即进入vi全屏幕编辑画面(命令模式)。 只有在输入模式下,才可进行文字输入,按ESC键可以回到命令模式。在命令模式下可按“i”或“a”或“o”等键进入输入模式。 i在目前光标前插入所要输入之文字。 a在目前光标后开始输入文字。 o在当前光标所在行下新增一空行,并从行首开始输入文字。,I插于行首。 A插于行尾。 O在当前光标所在行上新增一空行,并从行首开始输入文字。 按下ESC键随时可返回vi的命令模式。如果不能确定现在vi是在哪个模式下,按下ESC

6、键以使其在命令模式下,然后再从这里继续;如果按下ESC键时已经在命令模式了,系统会鸣叫且屏幕闪一下,通知你已在命令模式中。,末行模式:在命令模式下,用户按“:”键可以进入末行模式,此时vi会在显示窗口的最后一行显示一个”:“作为末行模式的提示符,等待用户输入命令。多数对文件操作的命令都是在末行下执行的。末行命令执行完后,vi将自动回到命令模式。,3.3 基本vi命令 1. 移动光标 移动光标h、j、k、l:分别控制光标左、下、上、右移一格。 Ctrl+b: 上滚一屏。 Ctrl+f: 下滚一屏。 Ctrl+d: 下滚半屏。 Ctrl+u: 上滚半屏。 G: 移到文件最后。 w: 移到下个字的开

7、头。 b: 跳至上个字的开头。,3.3 基本vi命令 1. 移动光标 方向键的扩充:在h,j,k,l前面加数字,可以快速移动光标。 例 3j 向下移动3行 6k 向上移动6行 10l 向右移动10列 3h 向左移动3列,3.3 基本vi命令 1. 移动光标 行内光标移动:可以将光标快速移动到当前行的指定位置。 $ 将光标移动到当前行末 或者0 将光标移动到当前行首 n| 将光标移动到当前行的第n个字符上 fm 将光标移动到文本的下一个字符m,3.3 基本vi命令 1. 移动光标 以单词为单位的移动光标 w 将光标移动到下一个单词的开头 b 将光标向后移动上一个单词的开头 e 将光标移动到下一个

8、单词的末尾 在w,b,e前可以加数字,3.3 基本vi命令 1. 移动光标 将光标移动到当前屏幕的某些位置 L 将光标移动到屏幕的最下一行 M 将光标移动到屏幕的中间 H 将光标移动到屏幕的最上一行 在w,b,e前可以加数字 两个单引号可以回到原来的位置 :$ 光标移动到文件最后一行 :n 将光标移动到第n行 光标移动到上一段 光标移动到下一段,2. 删除 x: 删除当前光标所在后面一个字符。 #x: 删除当前光标所在后面#个字符。例如,5x表示删除5个字符。 dd: 删除当前光标所在行。 #dd: 删除当前光标所在后面#行。例如,5dd表示删除自光标算起的5行。 :l,#d: 例如,:1,1

9、2d表示删除自行1至行12的文字。 X: 删当前光标的左字符。 D: 删至行尾。,2. 删除 dw 删除光标当前位置的单词 #dw 删除从光标开始的#个单词 4dw 删除从光标开始的4个单词 dfm 删除从光标开始到第一个字符m之间的所有文本 df/ 删除从光标开始到第一个之间所有的内容,3. 添加 a 在光标右侧添加文本 i 在光标左侧添加文本 A 在光标当前行的行尾添加文本 I 在光标当前行的行首添加文本 O 在当前行上面添加新行 o 在当前行下面添加新行,4. 更改 cw: 更改光标处的字到此单字的字尾处。 c#w: 例如,c3w表示更改3个字。 cc: 修改行。 C: 替换到行尾。 5

10、. 取代 r: 取代光标处的字符。 R: 取代字符直到按ESC为止。,6. 复制 yw: 拷贝光标处的字到字尾至缓冲区。 P: 把缓冲区的资料贴上来。 yy: 拷贝光标所在之行至缓冲区。 #yy: 例如,5yy,拷贝光标所在之处以下5行至缓冲区。 7. 复原 u: 复原至上一操作。 g: 列出行号,及相关信息。 8. 列出行号 :set nu (nu为行数),9. 寻找字符串 /word由首至尾寻找“word”字符串,按n可往下继续找。 ?word由尾至首寻找“word”字符串,按N可往前继续找。 10. 跳行 :100可跳至第100行。 11. 重复上一个命令 .重复上一个命令。 12. 连

11、接两行为一行 J,3.4 使用vi查找和替换 vi提供了几种定位查找一个指定的字符串在文件中位置的方法。同时还提供一种功能强大的全局替换功能。 1. 查找一个字符串 一个字符串是一行上的一个或几个字符。 为查找一个字符串,在vi命令模式下键入“/”,后面跟要查找的字符串,再按回车。vi将光标定位在该串下一次出现的地方上。键入n跳到该串的下一个出现处,键入N跳到该串的上一个出现处。 为了在文件中回头查找,使用?代替/。在此情况下,键入n跳到该串的上一个出现处,键入N跳到该串的下一个出现处。,如果vi找到要求的串,光标会停留在该串第一次出现的地方。如果没有找到该串,vi会在屏幕的最后一行显示pat

12、tern not found。 查找通常是区分大小写的,如果希望vi在查找过程中忽略大小写,则键入:set ic。要使其变回默认状态,则键入:set noic。 某些特殊字符(/&!.*?)对查找过程有特殊意义,因此如果这些字符出现在查找串中必须进行转意。为转意一个特殊字符,需要在该字符前面加一个反斜杠()。例如,要查找字符串anything?,则键入/anything?再按回车键。,2. 精确查找字符串 在vi中可以通过在字符串中加入如下特殊字符,从而使得查找更加精确。 匹配行首,字符串要以开头 匹配行尾,字符串要以结束 匹配词首,字符串的串首键入 匹配任意字符,字符串的要匹配的位置键入一个

13、点(.) 例如, 要查找一个以search为行首的行,则键入/search ,要查找一个以search为行尾的行,则键入/search。,3. 替换一个字符串 替换字符串是以查找为基础,所有用于查找的特殊匹配字符都可以用于查找和替换。替换时要指定替换的范围(1,n),1和n指行号,n为时指最后一行。s是替换命令,g代表全程替换。例如, :l,s/patternl/pattern2/g将行l至结尾的文字,patternl的字符串改为pattern2的字符串,如无g则仅更换每一行所匹配的第一个字符串,如有g则将每一个字符串均做更换。,3.5 编辑多个文件 1. 将一个文件插入另一个文件中 将另一个文件filename插入当前文件的line#行位置。命令格式, :line# r filename 例如,将文件file1插入到当前文件的当前光标位置,键入, :r file1,2. 编辑一系列文件 要想编辑多个文件,需要在vi命令之后列多

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论