收藏 分享(赏)

linux vi编辑器.ppt

上传人:buyk185 文档编号:6985270 上传时间:2019-04-29 格式:PPT 页数:88 大小:1.31MB
下载 相关 举报
linux vi编辑器.ppt_第1页
第1页 / 共88页
linux vi编辑器.ppt_第2页
第2页 / 共88页
linux vi编辑器.ppt_第3页
第3页 / 共88页
linux vi编辑器.ppt_第4页
第4页 / 共88页
linux vi编辑器.ppt_第5页
第5页 / 共88页
点击查看更多>>
资源描述

1、1,vi编辑器,vi编辑器的基本功能 启动vi编辑器 打开新建文本文件 编辑文本文件 输入,删除,移动光标,查找,替换,复制,粘贴,撤销等等 保存退出退出,2,vi编辑器,vi编辑器是文本编辑器,不是字处理器,所以不支持对文字格式的处理,不能设置排版格式等 vi编辑器有100多个命令通常使用vi编辑器编辑配置文件,编写代码,记录信息等,3,vi编辑器快速入门,4,启动vi编辑器,在命令提示符下输入命令vi,回车后,即可启动vi编辑器,5,编辑文件,启动vi编辑器时,vi编辑器处于命令模式,敲击键盘i键,进入文本输入模式,接下来可以输入字符,用Backspace或者Del键删除字符,用回车键控制

2、换行,用上下左右光标键移动位置,6,保存退出退出,输入结束后,按Esc键,使vi进入命令模式 然后输入命令 :wq 文件名 保存退出 例如 :wq a.txt 注释:wq(write quit的缩写) 或者输入命令 :q! 不保存退出,7,vi编辑器深入学习,8,新建文件,vi 目录名 文件名 如果给出的文件名是目录下不存在的文件,则vi编辑器会新建一个文件,并等待用户输入信息,9,新建文件,举例:在家目录下建立你的第一文件,名字为first,在命令提示符下输入如下命令: cd 可以使你进入自己的家目录 pwd 查看自己当前所在目录 vi first 用vi新建一个文本文件first,界面最下

3、方显示:wq 保存并退出,10,打开文件,vi 目录名 文件名 如果给出的文件名是目录下已经存在的文件,则vi编辑器会打开此文件,并显示文件的内容,11,打开文件,举例:打开一个用来存储系统中所有用户信息的文件 在命令提示符下输入命令 vi /etc/passwd 回车 打开一个存在的文件 :q 回车 退出,12,13,小插曲,vi编辑器有三种工作模式 命令模式:用户的输入不会在屏幕上显示,只会被执行,可以删除字符,移动光标等 文本输入模式:可以输入信息等 末行模式:用户的输入被显示在vi编辑器屏幕的最后一行,可以实现保存、退出、查找等功能 vi编辑器启动后,或者用vi编辑器新建文件,打开文件

4、,vi编辑器均处于命令模式,14,vi编辑器的三种模式,15,进入vi文本输入模式,六种进入方式 i 在光标左侧输入正文 I 在光标所在行的行首输入正文 a 在光标右侧输入正文 A 在光标所在行的末尾输入正文 o 在光标所在行的下面增加新行,并在新行的行首输入正文 O 在光标所在行的上面增加新行,并在新行的行首输入正文,16,上机实验,尝试进入vi编辑器文本模式的六种方式 实验一种方式后,按ESC键回到命令模式下,就可以再实验另一种方式了!,17,文本输入模式下,文本输入模式下: 空格键在光标前插入一个空格 退格键将光标回退一个字符的位置,即删除光标前一个字符 删除键(Del)删除光标所在位置

5、的字符 Tab键(Tab),在光标位置前插入n个空格,可以设置空格的个数,编写代码或者配置文件时,使用tab键控制代码缩进很方便,18,文本输入模式下,回车键(Enter)添加一个新行 光标位于行首时,输入回车键 光标位于行尾时,输入回车键 光标位于行中时,输入回车键 再次强调,文本输入模式下按ESC键,可以使vi编辑器切换到命令模式下 命令模式下进入文本输入模式,即前面讲的六种方式,19,进入命令模式,vi编辑器处于任何模式下时(即文本输入模式和末行模式,或者不清楚当前是什么模式),只需按ESC键即可进入命令模式,20,命令模式下,命令模式下: 移动光标 文本修改 删除、撤销、复制、粘贴等等

6、,21,命令模式下,移动光标 上下左右光标键移动光标 h、j、l(小写的L)、k键移动光标 h键向左移动一个字符 l键向右移动一个字符 j键向下移动一行 k键向上移动一行 注释:如果移动方向不能再前进(例如,已经是最后一行,还继续按j键的话),你会听到“嘀”的蜂鸣声,22,命令模式下,移动光标(移动速度快一点) 退格键(Backsapce)向左移动一个字符 w键向右移动一个单词,移动到单词词首 b键向左移动到当前单词的词首,或者移动到前一个单词的词首 e键向右移动到当前单词的词尾,或者移动到下一个单词的词尾 空格键(spacebar)向右移动一个字符,23,命令模式下,移动光标(移动速度再快一

7、点) $ 移动光标到当前行的行尾 0(数字零)移动光标到当前行的行首 回车键(Enter)向下移动一行,并位于行首 G 移动到文件的最末行 1G 移动到文件的第一行,24,命令模式下,删除 Del键删除当前光标位置字符 x键同Del键,删除当前光标位置字符 dd删除当前光标所在行 撤销 u撤销 ctrl+r取消撤销,25,命令模式下,扩展一下删除命令 3dd删除三行内容(包括光标所在的当前行和后面两行) 5x删除5个字符(包括光标所在位置的字符和后面4个字符),26,命令模式下,复制、粘贴 yy复制光标所在的当前行内容 p(小写p)将最后一次复制的内容粘贴到光标所在行的后面一行 P(大写p)将

8、最后一次复制的内容粘贴到光标所在行的前面一行 3yy复制三行内容(光标所在位置的当前行和后面两行),27,命令模式下,替换 r替换当前光标位置的字符(输入r后,再输入一个字符,当前光标位置的字符就被替换了,替换后vi编辑器还是处于命令模式) R替换从当前光标位置开始的字符,同时使vi编辑器进入文本输入模式(输入R后,vi编辑器进入文本输入模式,可以输入n个字符,依次替换当前光标位置开始的,后面的n个字符) 重复上一次的操作 .,28,命令模式下,输入命令ZZ,保存文件,并退出vi编辑器,29,进入末行模式,命令模式下输入 : / ? 看到vi编辑器界面左下角出现提示信息,vi编辑器就进入了末行

9、模式。,30,末行模式下,保存退出 搜索字符串 替换 在线帮助,31,末行模式下,保存但不退出vi编辑器 :w 保存并退出vi编辑器 :wq 不保存退出vi编辑器 :q :q!,32,末行模式下,另存为 :w filename 保存文件,并命名为filename,不退出vi编辑器 :wq filename 保存文件,并命名为filename,并退出vi编辑器 :w! filename 有相同文件名的文件存在,覆盖它! 我发现了有重名文件,可是我没有权限看它的内容,但是我能覆盖它,也实现了改变它内容的目的,这是为什么?,33,末行模式下,搜索字符串 /要搜索的字符串 #向下搜索 ?要搜索的字符串

10、 #向上搜索 输入n键,可以在多个匹配项之间进行切换,34,末行模式下,小插曲 搜索后,被搜索的字符串高亮度显示,这是vi的默认设置,但是搜索之后,我就不希望他们高亮度显示了,怎么办呢? 可以临时取消高亮度显示,输入命令:set nohls 然后回车,是no high light search的缩写,35,末行模式下,替换涉及的参数 s 替换当前行中第一个匹配的字符串 *,*s 替换指定行数内的字符串 %s 全文替换匹配的字符串 g 替换命令后加上此参数,替换匹配行中出现的所有匹配的字符串,36,末行模式下,举例 :s/unix/UNIX 替换当前行第一个匹配到的unix字符串为UNIX :s

11、/unix/UNIX/g 替换当前行所有匹配到的unix字符串为UNIX :1,5s/unix/UNIX 替换第1行到第5行第一个匹配到的unix字符串为UNIX :1,5s/unix/UNIX/g 替换第1行到第5行所有匹配到的unix字符串为UNIX,37,末行模式下,举例 :%s/unix/UNIX 全文替换每行第一个匹配到的unix字符串为UNIX :%s/unix/UNIX/g 全文替换每行所有匹配到的unix字符串为UNIX,38,末行模式下,vi编辑器在线帮助 :help 仔细阅读帮助文件的开始,如何移动光标,如何跳转到相应帮助主题,如何从某一主题返回到上层主题,如何退出帮助?,

12、39,vi编辑器的高级用法,40,使用vi编辑器的启动选项,vi -R filename 以只读的方式查看文件filename的内容 vi -c vi编辑命令 例如vi -c /most filename #打开文件,并所搜most字符串,将光标定位在匹配的行 例如vi -c “set nu” filename #打开文件,并显示行号,注意加“”,41,编辑多个文件,vi filename1 filename2 同时打开两个文件 先显示第一个文件,然后输入命令:n切换到下一个文件,前提是你对刚才的文件没有修改,如果修改了,有两种选择 :n!放弃修改,切换到下一个文件 :w #先保存,然后再输入

13、:n切换到下一个文件 :ar #显示当前编辑的文件名,用方括号括起来的文件,42,编辑多个文件,:n能切换到下一个文件,那么如果切换到最后一个文件了,如何再切换到上一个文件呢?提示n是单词next的缩写 :prev,43,编辑另一个文件,vi filename1 :e filename2 不退出vi编辑器,编辑另一个文件filename2 如果filename1做了修改,要先对filename1做处理后再编辑,即 先输入命令:w ,然后再输入命令:e filename2 或者:e! filename2 #不对filename1做保存 不太常用,了解,44,读入另外一个文件,vi filenam

14、e1 :r filename2 将filename2的内容读入,插入到当前文件的光标位置后的一行 很实用,45,写入另一个文件,vi filename1 :5 w filename2 把filename的第五行内容写入到文件filename2 :5,10 w filename2 把filename的第五行到第十行的内容写入到文件filename2 如果文件filename2存在,你有写权限的话,可以在w后加个!来强行覆盖,46,操作符控制域,vi编辑器的操作符 d 删除文本并保存在缓冲区中 y 复制文本并保存在缓冲区中 p 将缓冲区的内容粘贴到当前光标位置之下 P 将缓冲区的内容粘贴到当前光标

15、位置之上 c 删除文本,并使vi进入文本输入模式,47,操作符控制域,vi编辑器的控制域 $ 光标位置到当前行行尾 0(数字零) 光标位置前到当前行的行首 e 光标位置到当前单词的词尾 b 光标位置前到当前单词的词首,48,操作符控制域,操作符控制域组合成多种命令 两次重复操作符表示控制域为当前行 例如dd 、yy 根据使用需要灵活组合,49,实践,试回答下面命令的功能 d0 y$ de cb 3ye 7dd c0 4p,50,小结,用户管理相关文件 命令模式下 删除、撤销、替换、复制、粘贴 末行模式下 保存/退出、搜索、替换、在线帮助 vi编辑器的高级用法 启动选项、编辑多个文件、读入另一个

16、文件、另存为、操作符、控制域,51,本节课主要内容,vi编辑器高级用法 数字缓冲区、字母缓冲区 定制vi编辑器 临时定制 永久定制 最后的vi命令,52,vi编辑器的数字缓冲区,vi编辑器有9个数字缓冲区,编号为19,每次删除的内容,自动依次放入数字缓冲区,第一次删除的内容放在缓冲区1中,第二次删除时,原缓冲区1的内容放入缓冲区2中,新操作的内容放入缓冲区1中,依次类推,超过9次操作后,即第10次删除的内容放入缓冲区1中后,第1次删除的内容就丢失了。,53,vi编辑器的数字缓冲区,命令模式下输入“ 3p,意思是从数字缓冲区3中取出内容,放在当前光标位置的后面或者后一行,54,vi编辑器的数字缓

17、冲区,创建一个文件,55,vi编辑器的数字缓冲区,删除第一行内容,56,vi编辑器的数字缓冲区,再删除后面的两行,57,vi编辑器的数字缓冲区,再删除接下来的一行,58,vi编辑器的数字缓冲区,现在在vi编辑器的命令模式下输入“2p,59,vi编辑器的字母缓冲区,vi编辑器还有26个字母缓冲区,用小写字母a到z来命名,和数字缓冲区不同的是,用户复制或者删除操作的内容不会自动放在字母缓冲区,如果用户想使用字母缓冲区,必须手工指定,60,vi编辑器的字母缓冲区,“add #将删除的当前行放在缓冲区a中 “byy #将复制的当前行放在缓冲区b中 “ap #将缓冲区a的内容复制到当前位置缓冲区通用操作

18、格式 “缓冲区编号操作命令,61,定制vi编辑器,vi编辑器有很多参数可供用户设置,掌握一些常用参数的设置,可以定制个性化vi编辑器工作环境,62,定制vi编辑器,63,定制vi编辑器,在命令模式下输入:set all 查看所有参数的列表以及参数的当前设置 在命令模式下输入 :set *? 显示参数*的值 例如 :set tabstop?回车 显示你在vi编辑器的文本插入模式下,输入tab键时,缩进的空格数,空格个数就是参数tabstop的值,64,定制vi编辑器,vi编辑器的参数的值可以分为三类 布尔、数值和字符串 布尔 set * 打开开关,使参数*有效 set no* 关闭开关,使参数*

19、无效 例如 set hls 和set nohls 设置是否高亮度显示匹配串,65,定制vi编辑器,数值 set *=12 设置参数*的值为12 例如:set tabstop=5 设置tab键缩进5个字符 字符串 set *=string 设置参数*的值为string 例如set fileformat=unix 设置文件格式,66,定制vi编辑器,为什么有的时候,在Linux写好的文本文件,在windows下看时,丢失了换行效果?因为windows下每行文字的结尾是回车符和换行符,linux/unix下每行文字的结尾就是换行符,67,定制vi编辑器,几个常用的参数 ignorecase (ic)

20、、noic tabstop number(nu)、nonu showmatch(sm)、nosm showmode(smd)、nosmd autoindent(ai)、noai,68,定制vi编辑器,:set ignorecase (ic)或者 :set noic 搜索时是否严格区分大小写 :set tabstop=5 插入模式,按tab键,插入的空格数 :set number(nu) 或者 :set nonu vi编辑器是否显示行号,69,定制vi编辑器,:set showmatch(sm)、nosm 当输入)或者 时,光标会跳转到匹配的(或者,再返回 :set showmode(smd)、

21、nosmd 显示vi编辑器的状态,如插入、替换 :set autoindent(ai)或者:set noai 新行的输入位置是否与上一行对齐,70,定制vi编辑器,其他还有参数,大家可以在命令模式下输入:help *? 回车 来查看具体用途,用:q可以退出帮助界面,返回到vi编辑器界面,71,定制vi编辑器,缩写 vi编辑器提供编辑内容时的快捷输入方法,用一个简单的字符串代替一长串字符串 在命令模式下输入:ab u Unix 回车 意思是在vi编辑器的文本输入模式下,输入单独一个u字符后,vi编辑器会自动替换成Unix 在命令模式下输入:ab 显示设置的所有缩写字符串 在命令模式下输入:una

22、b u 取消u缩写串的定义,72,定制vi编辑器,宏 vi编辑器提供命令快捷输入方法 在命令模式下输入:map 5 5dd 意思是将命令5dd,用5来代替,只要在命令模式下输入5,就相当于输入5dd,删除光标所在行及光标后的四行 在命令模式下输入:unmap 5 取消快捷命令5的定义,73,定制vi编辑器,以上所有用set命令以及ab、map定义的vi编辑器的工作环境,都属于临时定义,关闭vi编辑器后,定义就取消了!,你现在有什么想法?,74,定制vi编辑器,修改配置文件,永久定制vi编辑器的个性化工作环境(直到你重新修改配置) 修改的配置文件又分为两种 对用户自己的vi编辑器起作用的配置文件

23、 对系统所有用户的vi编辑器都起作用的配置文件(系统管理员root才有权限修改),75,定制vi编辑器,修改用户自己的vi编辑器配置文件,此文件是用户家目录下的.vimrc文件,方法如下: cd 回到用户家目录 pwd 确认是位于家目录下 ls -a 显示家目录下的所有文件,包括以.开头的隐藏文件,看到文件.vimrc cp .vimrc .vimrc_bak 做个备份,免得你修改错了无法恢复,76,定制vi编辑器,vi .vimrc 打开文件.vimrc,开始编辑 在命令模式下输入G,定位到文件的末行 修改什么呢?例如在文件末尾添加一行信息,内容为set nu 在命令模式下输入:wq 再次启

24、动vi编辑器查看一个已经存在的文件的内容,是不是每行前面都有行号显示?,77,定制vi编辑器,可以将前面学习的定制vi编辑器的常用参数写在此配置文件中,就可以让对应参数生效,而且是永久生效! 现在用另一个用户身份登录,使用vi编辑器,是否仍有行号显示吗?这说明什么?,你现在又有什么想法?,78,定制vi编辑器,修改系统所有用户使用的vi编辑器配置文件,此文件是/etc目录下的vimrc文件,方法如下: su - root 切换成root身份 cd /etc 进入/etc目录 pwd 确认自己是在/etc目录下 ls vim* 看到有匹配的文件叫vimrc cp vimrc vimrc_bak

25、做个备份,免得你修改错了无法恢复,79,定制vi编辑器,vi vimrc 打开文件vimrc,开始编辑 在命令模式下输入G,定位到文件的末行 修改什么呢?例如在文件末尾添加一行信息,内容为set nu 在命令模式下输入:wq 再次启动vi编辑器查看一个已经存在的文件的内容,是不是每行前面都有行号显示?,80,定制vi编辑器,用不同身份登陆,使用vi编辑器,是否都加行号显示了?这说明什么? 可以将前面学习的定制vi编辑器的常用参数写在此配置文件中,就可以让对应参数生效,而且是永久生效,对所有用户永久生效! 思考,当/etc/vimrc 和/$HOME/.vimrc的设置出现冲突时,哪个会生效呢?

26、,81,最后的vi命令,在vi编辑器的末行模式下可以运行shell命令 :! ls 回车 显示当前目录下的文件 :! pwd 回车 显示当前所在目录 可以将shell命令的运行结果作为文件的文本内容 :r !ls 回车 将当前目录下的文件名保存到文件中,82,最后的vi命令,行连接 使用J键,将当前行(光标所在行)下面的一行内容连接到当前行上,放在当前行行末,如果两行连接后产生一个长行,屏幕进行折行显示,83,最后的vi命令,恢复,当用户正在编辑文件时,vi编辑器崩溃了怎么办?除了用户自觉的经常执行保存命令外,幸好,编辑器都带有恢复功能!,84,最后的vi命令,你可以这样模拟vi编辑器崩溃的情

27、况 打开终端,用vi编辑器打开一个文件,修改后,未保存,直接关闭终端界面 再打开一个终端,用vi编辑器打开刚才的文件,你会看到一些提示信息,如下张幻灯片所示。 这种界面还会出现在,有两个终端都用vi编辑器编辑同一个文件时,85,86,最后的vi命令,如果知道有文件要恢复,那么可以直接使用命令恢复 vi -r 要恢复的文件的文件名 如果不知道有文件要恢复 vi 要恢复的文件的文件名 你会发现vi编辑器的待恢复文件是隐藏文件,即以.开头, .swp,87,最后的vi命令,试说出下面命令实现的功能 xp ddp d$ dG d1G ,88,最后的vi命令,:x 命令模式下 ctrl+g D s S C 键盘没有ESC键怎么办? 试试ctrl+,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报