第3章vi编辑器的使用

上传人:今*** 文档编号:106908505 上传时间:2019-10-16 格式:PPT 页数:23 大小:295.50KB
返回 下载 相关 举报
第3章vi编辑器的使用_第1页
第1页 / 共23页
第3章vi编辑器的使用_第2页
第2页 / 共23页
第3章vi编辑器的使用_第3页
第3页 / 共23页
第3章vi编辑器的使用_第4页
第4页 / 共23页
第3章vi编辑器的使用_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《第3章vi编辑器的使用》由会员分享,可在线阅读,更多相关《第3章vi编辑器的使用(23页珍藏版)》请在金锄头文库上搜索。

1、,College of Information Science and Engineering,Shandong Agricultural University,VI编辑器的使用,2,1. 了解关于vi的基本知识; 2. 熟悉vi的三种工作模式; 3掌握vi下的文本编辑方法; 4掌握vi操作的常用技巧。,3,VI的三种工作模式 VI的启动与保存退出 VI的文本编辑 其他模式下的操作,4,系统配置文件、shell脚本文件等都是文本文件,编辑它们都要使用文本编辑器。 在Linux系统中有多种文本编辑器,其中既有字符界面如的VI、EMACAS等,也有图形界面的如“附件”菜单下的“文本编辑器(gedi

2、t)”等,用户可以根据自己的喜好选择使用。 学习vi的方法: vi的命令太多且难以记忆,而实际上真正经常使用的命令并不是太多,只要掌握几个关键的并加以适当练习很快就可上手使用vi。,5,为什么选择VI,就使用的方便性而言,有比vi更好的编辑器,还有图形化的gedit,为什么还要用vi? 历史久远,功能强大,在有些情况下系统中能够找到的编辑器只有vi; 没有图形支持的情况下,如终端远程连接到服务器或者嵌入式设备,修改或者编制代码或者查看文件就需要vim,vi等工具了。 用户一旦熟悉后,使用非常方便;系统管理员使用正则表达式可以极大地提高工作效率,而学习vi也是掌握正则表达式的有效途径。,6,1.

3、VI的三种工作模式,命令模式 启动VI默认进入命令模式。此时界面不能编辑,只能接受命令(键入的命令是看不到的) 可进行文件的保存,退出,文本的删除、复制、搜索等操作。 输入模式(编辑模式) 命令模式下用编辑类命令i(sert),a(ppend),o,s等均可进入该模式。 按esc返回命令模式。 底行命令模式 实际上也是命令模式的一种,在命令模式下输入冒号进入一个命令行,可显示地输入命令(所以有些书认为是两种工作模式)。 三种模式可自由切换,一般切换命令就是操作的英文单词的首字母,7,三种模式间的转换关系,8,关于VI的版本,由于vi的版本不同,其命令格式、功能和用法会有一些差别。多数发行版上安

4、装的是传统vi的增强版本vim(VI Improved)。输vi命令可看到版本提示信息。 如果编辑模式下按方向键出字母,用whereis vi查看会发现安装的一般是Vim-tiny。可再安装一下,执行: sudo apt-get install vim,9,2.VI的启动与保存退出,【启动】 执行vi命令即可如: vi my.txt 如果文件存在,则vi显示文件内容并等待用户的命令。如果指定的文件不存在,则vi将告知用户这是未命名的文件,并进入一个空白的界面。 启动vi后默认处于命令模式。 常用的启动参数(更多参数参考vi -help): -b 以二进制模式显示。 -d 打开多个文件,并显示文

5、件之间的不同之处。 -m 被修改后的文件不允许被写入硬盘。 -M 禁止对文件进行修改。 -R 以只读方式打开文件 -e 以ex(一种UNIX系统中常见的文本编辑器)的操作方式运行vi。 vi R /etc/passwd 以只读方式打开文件passwd,在linux下后缀名没有什么强制要求。对可执行文件,系统一般从文件的属性来区分。对源代码文件,一般要给出合适的后缀,gcc通过后缀来区别输入文件的类别。,10,【保存退出】(命令行模式下): :q 在文件未作修改的情况下退出。 :q! 强制退出,不保存对文件所做的修改。 :wq 保存文件修改并退出。或“:x”也可。 :w 保存文件。 :w fil

6、e 将正文内容保存到file中。 :nw file 保存第n行到file中。 :m,nw file 保存第m行至第n行到file中。 :r file 读取file的内容输出到正文光标所在位置。 :recover 恢复文件。 命令模式下也可退出:ZZ或ZQ(保存或不保存退出),11,3.文本编辑,【显示行号】底行命令模式下输入set nu可设置vi显示行号。 命令模式转编辑模式的命令有: i 切换到插入模式,在光标左侧输入正文。 a 切换到插入模式,在光标右侧输入正文。 o 切换到插入模式,在光标所在行的下一行增添新行。 O 切换到插入模式,在光标所在行的上一行增添新行。 I 切换到插入模式,在

7、光标所在行的开头输入正文。 A 切换到插入模式,在光标所在行的末尾输入正文。 s 切换到改写模式,用输入的正文替换光标指向的字符。,12,4、其他模式下的命令操作,命令的相关符号说明: 若无特殊说明,n或m表示数字;c表示一个字符;str表示一个字符串;file表示文件名。 如:nd 表示删除n行。 vi中存在一些特殊字符表示行号,“.”表示当前光标所在行,$表示末尾行。,准备练习文件: cat n /etc/passwd vitest 利用重定向,新建一个有行号信息的文本内容的文件。,13,【光标移动】命令模式下,k 光标上移一行。 j 光标下移移行。 h 光标左移一个字符。 l 光标右移一

8、个字符。 数字0/$ 光标移动到行首/尾。 w/b 行内移动到下/前一个词的开头。 e 行内移动到单词的结尾。 移动到所在行的一个非空字符。 H 光标移到屏幕顶行。 M 光标移到屏幕中间。 L 光标移到屏幕底行。 nG:移动到第n行行首。(或用 :n) ,k h l j,14,【删除】命令模式下,x 删除光标所在字符 dw/db 删除光标后/前一单词 dd 删除光标所在的行 s 删除光标所在字节,并进入输入模式,#表示数字 #x 删除几个字符,如3x #dw 删除几个单词,如3dw表示删除三个单词 #dd 删除多个行,如3dd 表示删除光标行及光标的下两行 d$ 删除光标到行尾的内容,d光标键

9、: 左:删除光标前面的字符; 右:删除光标所在的字符; 上:将当前行与上一行删除; 下:当前行与下一行删除,nd上下光标键: 删除当前行之上、下的几行文本(包括当前行),15,【撤销与重做】命令模式下,u 撤销前一跳命令产生的结果。 . 重做最后一条命令的操作。,16,【文本复制、粘贴】命令模式下,复制命令:y yy 复制整行 yw 复制光标所在的单词 nyw 复制包括光标所在的n个单词 nyy 复制包括当前行在内的n行 粘贴命令 p 当前光标后/行下粘贴。,17,【多个文件间操作】底行模式,1)多文件间复制 vi file1 file2 同时打开两个文件。 默认在第一个文件file1的界面下

10、。5yy,复制从当前光标行开始向下五行。 :next 切换到下一个打开文件file2(也可用:n切换)。移动光标到合适位置,p,复制。 :prev 切换到上一个打开文件file1。,18,2)文件间读写 :r file_name 可导入文件内容添加到当前文件的光标所在行后 :1,5 w file_name 将当前文件第1行到5行的内容保存到文件file_name中。 :.,$-2 w file_name 当前行到倒数第三行的内容写入file_name文件中。 使用或重定向符号,以免指定文件存在时vi的“File exists”的报错。,19,【查找替换字符串】底行模式,:/string 向后搜

11、索指定的字符串,按n键继续找下一个。 :?string 向前搜索指定的字符串,按n键继续找下一个。 :s/str1/str2/ 用字符串str2替换当前行中首次出现的字符串str1。 :s/str1/str2/gc 用字符串str2替换当前行中所有出现的字符串str1,并依次提示是否替换。 :%s/str1/str2/g 把文档中所有str1替换成str2; :m,n s/str1/str2/g 用str2替换第m行到第n行所有出现的字符串str1。 :.,$-2 s/str1/str2/g 用str2替换当前行到倒数第3行所有出现的字符串str1。 :s#str1/#str2/# 替换当前行

12、第一个str1/为str2/,20,【执行其他shell命令】底行模式,用户在编辑文本文件过程中,可以在不退出vi的情况下执行shell命令,如: :!ls l :!mount /dev/sda1 /mnt,作 业,复制passwd文件,对该文件做下页要求的练习。 用vi建立一个文件,输入一篇英文自我介绍,命名为myinfo.eng保存到用户主目录下。 用vi新建一个文件,录入你简要的个人信息,包括姓名、Email、座右铭等信息,保存成“/myinfo.txt”,并将myinfo.eng的内容添加到myinfo.txt文件的尾部。,22,案例练习,1. 请在 /tmp 这个目录下建立一个名为

13、vitest 的目录; 2. 进入 vitest 这个目录当中; 3. 将 /etc/passwd 拷贝到本目录底下 4. 使用 vi 开启本目录下的 passwd 这个文件; 5. 在 vi 中设定一下行号; 6. 移动到第 20 行,向右移动 20 个字符 7. 移动到第一行,并且向下搜寻一下“backups”这个字符串,请问他在第几行? 8. 接着下来,我要将 10 到 20 行之间的 bin 改为 BIN,并且一个一个挑选是否需要修改,如何下达指令? 9. 修改完之后,突然反悔了,要全部复原,有哪些方法? 10. 我要复制10 到 20 行这十行的内容,并且贴到最后一行之后; 11.

14、删除 10 到 20 行之间的 20 行; 12. 将这个文件另存成一个 passwdback的文件; 13. 到第 20 行,并且删除 15 个字符; 14. 储存后离开,23,1. mkdir /tmp/vitest 2. cd /tmp/vitest 3. cp /etc/man.config . 4. vi man.config 5. :set nu 6. 先按下 :20 再按下 20 7. 先执行 :1 或 gg 后,直接输入 /backups 8. 直接执行 :10,20s/bin/BIN/gc 即可 9. (1)简单的方法可以一直按 u 恢复到原始状态,(2)使用不储存离开 :q! 之后,再重新读取一次该文件; 10. :10 然后再 10yy 之后按下 G 到最后一行,再p粘贴10行 11. :10之后,再给他 10dd即可删除 20 行了; 12. :w passwdback 13. :20之后,再给他 15x 即可删除 15 个字符; 14. :wq!,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号