3vi编辑器.docx
- 文档编号:30478703
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:21
- 大小:445.85KB
3vi编辑器.docx
《3vi编辑器.docx》由会员分享,可在线阅读,更多相关《3vi编辑器.docx(21页珍藏版)》请在冰豆网上搜索。
3vi编辑器
项目3vi编辑器的使用
任务描述:
某公司在日常工作中需要处理很多文档,超级管理员需要处理一些文档内部编辑工作,编辑各种服务器的配置文件,在/root目录下有一个文档test,需要删除文档的5-10行,复制文档的10-20行粘贴到文档的末尾,并且从中找到sbin单词并全部替换成bin,这个工作应该怎么完成呢?
任务目标:
●掌握文本编辑器vi的使用方法
●掌握文本编辑器的三种模式
●掌握文本编辑器的常用命令
任务重点:
●掌握文本编辑器的使用
任务难点:
●掌握文本编辑器的使用
知识准备:
4.1.1编辑器介绍
要在Linux下编写文本或语言程序,您首先必须选择一种文本编辑器。
在Linux环境下,有许多可选的编辑器,但是vi编辑器是使用最广泛的文本编辑器,使用它的好处是几乎每一个版本的Linux都会有它的存在,它是默认的Linux文本编辑器。
然而它是在文本模式下使用,需要记忆一些基本的命令操作方式。
VI编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下,如图4-1所示。
由于不需要图形界面,使它成了效率很高的文本编辑器。
尽管在Linux上也有很多图形界面的编辑器可用,但VI在系统和服务器管理中的能是那些图形编辑器所无法比拟的。
图4-1VI编辑器
VI编辑器是Visualinterface的简称,通常称之为VI。
它在Linux上的地位就像Edit程序在DOS上一样。
它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。
VI编辑器并不是一个排版程序,它不像Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。
没有菜单,只有命令,且命令繁多。
4.1.2VI编辑器的三种运行模式
在系统提示符后键入vi和想要编辑或建立的文件名,便可进入vi。
如果只键入vi,而不带文件名,也可以进入vi,然后先输入所创建文件的内容,在退出vi时,只需在退出命令后输入文件名即可。
VI有三种基本工作模式:
编辑模式、插入模式和命令模式。
◆命令模式:
VI编辑器启动后默认进入命令模式,在命令模式下输入但字符或组合键可以实现相应的编辑命令操作;从命令模式可以进入输入模式和末行模式;在命令模式中vi编辑器最后一行没有状态的提示,任何命令的操作效果将直接在编辑区中显示。
◆输入模式:
在vi的命令模式中输入“i”命令可以进入vi的输入模式;vi的输入模式类似于其他编辑器的文本编辑状态,可以直接进行文件的输入、修改等编辑操作;在输入模式下选择“esc”键将返回到vi的命令模式;在输入模式中vi编辑器的最后一行会出现“--insert--”的状态提示,表示编辑器当前的状态时输入模式。
◆末行模式:
vi编辑器环境中的一些复杂操作,如文本操作等,需要在末行模式下完成。
在vi的命令模式下输入“:
”可以进入末行模式,在该模式下可以输入相应的末行命令进行操作;末行命令执行结束后自动返回命令模式。
末行模式下输入的命令会出现在vi编辑器的最后一行,从“:
”开始就是输入的命令,用户可以方便的看到,输入命令完毕后可以敲击回车进行执行命令。
简单的说,我们可以将这三个模式用图4-2来表示:
图4-2vi三种模式的相互关系
4.1.3vi的启动和退出
1.vi的启动
Vi命令可以使用文件名作为命令参数,命令的基本格式如下:
Vi[arguments][files..]
(1)直接进入编辑环境
在命令提示符下直接输入vi命令而不指定任何文件名作为参数,vi编辑器新建一个未命名的空文件。
如图4-3所示。
#vi
图4-3启动vi编辑器
在vi编辑器启动后,由于当前文件时未命名的空文件,vi编辑器环境将显示vi编辑器的版本信息。
如图4-4所示。
图4-4vi编辑器的版本信息
VIM是VI的加强版,比vi更容易使用。
vi的命令几乎全部都可以在vim上使用。
(2)打开已经存在的文件
直接输入“vi文件名”即可进入vi了。
如图4-5所示,左下角还会显示一个文件目前的状态。
如果是新建文件会显示[NewFile],如果是已存在的文件,则会显示目前的文件名、行数与字符数,例如:
“"/etc/man.config"145L,4614C”。
图4-5进入编辑器
2.编辑文件
在一般模式之中,只要按下I,o,a等字符,就可以进入插入模式了。
在插入模式当中,可以发现在左下角会出现–INSERT-的画面,如图4-6所示。
那就是可以输入任意字符的提示。
这个时候,键盘上除了【Esc】这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以可以进行任何的插入。
图4-6编辑文件
3.保存文件
在对文本编辑完毕后,按下【Esc】这个按钮退出。
就会发现画面左下角的“--INSERT--”不见了。
保存并离开的指令很简单,按下“:
”该光标就会移动到最下面一行去,输入“wq”即可保存离开,如图4-7所示。
图4-7保存文件
保存后的文件testvi就可以在目录中看到了,如图4-8所示。
图4-8查看文件
这样文件testvi就已经建立起来。
需要注意的是,如果的文件权限不对,那么可能会无法写入,会出现提示,如图4-9所示。
此时可以使用“强制写入”的方式,使用“:
wq!
”多加一个感叹号即可。
可以看到testvi文件没有写入权限
因权限问题无法正常保存文件,出现提示
如果想要强行保存,需要在:
wq后面加入!
使用cat命令查看保存文件,可以看到文件修改内容已经被强行保存了
图4-9强制写入
如果在编辑文件的时候想不保存临时退出,可以用“:
q”命令,已经做出更改的文件会提示保存,可以使用“:
q!
”强制退出编辑环境而不保存所作修改,如图4-10所示。
图4-10强制退出
4.1.4VI编辑器的三种运行模式
1.插入模式
只有在插入模式下,用户的输入才会被加入到文件缓冲区中,在该模式下,除【Esc】键外的一切字符输入都被认为是文本内容,而不作为命令处理。
完成输入后,用户还要回到编辑模式下进行操作。
进入插入模式。
在编辑模式下正确定位光标后,可以按下以下按键切换到插入方式,如表4-1所示。
表4-1进入插入模式命令
2.编辑模式下的命令
在vi编辑器的编辑模式下,其各种功能是通过用户按字符组合键来实现的。
下面介绍各种功能的实现方法。
在编辑模式下,可以进行移动光标,字符串的查找与替换,删除、复制和粘贴等操作。
(1)光标移动
要对正文内容进行修改,需要把光标移动到要修改的内容所在的位置,除了使用键盘上的上、下、左、右来移动光标外,还可以利用vi提供的很多组合键,在正文中移动光标,迅速达到指定的行或列,实现定位,常用的快捷键如表4-2所示。
表4-2光标移动的快捷键
编辑模式:
移动光标
h或向左方向键
光标向左移动一个字符
j或向下方向键
光标向下移动一个字符
k或向上方向键
光标向上移动一个字符
l或向右方向键
光标向右移动一个字符
n
按下数字后再按空格键,光标会向右移动这一行的n个字符。
例如20
0
这是数字“0”移动到这一行的最前面字符处
$
移动到这一行的最后面字符处
H
光标移动到这个屏幕的最上方那一行
L
光标移动到这个屏幕的最下方那一行
nG
移动到这个文件的第n行。
例如20G则会移动到这个文件的20行(可配合:
setnu)
n
光标向下移动n行
小知识:
使用1G命令可以跳转到文件的首行,使用G命令可以跳转到文件的末尾,可以配合“:
setnu”来显示行号,也可以使用“:
setnonu”来取消行号。
(2)查找与替换
为了便于文件的编辑,vi提供了强大的字符串查找功能,要查找指定的字符或字符串在文件中的位置,可以使用查找功能直接查找,方法是:
在编辑模式下键入字符“/”,后面加上要搜索的字符串,按回车键,搜索程序将执行正向搜索,并将光标停留在与之匹配的字符串的开头;键入n命令后可以继续搜索,找出该字符串下次出现的位置,用“?
”取代“/”,可实现反向搜索,详细情况见表4-3。
另外,将光标定位于文件的指定位置后,可以用给出的字符替换光标指向的字符。
表4-3字符串的查找与替换命令
编辑模式
查找与替换
/word
向光标之后查找一个字符串名称为word的字符串
?
word
向光标之前查找一个字符串名称为word的字符串
:
n1,n2s/word1/word2/g
在第n1与n2行之间查找word1这个字符串,并将该字符串取代为word2
:
1,$s/word1/word2/g
从第一行到最后一行查找word1字符串,并将该字符串取代为word2
:
1,$s/word1/word2/gc
从第一行到最后一行查找word1字符串,并将该字符串取代为word2,且在取代前显示提示字符给使用者确认(conform)是否需要取代
(3)删除、复制与粘贴
在vi编辑器中,与Windows系统不同的是从正文中删除的内容(如字符、字段或行)并没有真正丢失,而是被剪贴并复制到了一个内存缓冲区中,用户可将其粘贴到正文中的任意位置,完成这一操作的命令见表4-4。
表4-4删除、复制和粘贴命令
编辑模式
删除、复制与粘贴
x,X
x为向后删除一个字符,X为向前删除一个字符
nx
向后删除n个字符
dd
删除光标所在的那一整行
ndd
删除光标所在的向下n行,例如20dd是删除20行
yy
复制光标所在的那一行
nyy
复制光标所在的向下n行。
例如20yy则是复制20行
p,P
p为复制的数据在光标下一行贴上,P则为贴在光标上一行
J
将光标所在行与下一行的数据结合成同一行
c
重复删除多个数据,例如向下删除10行,[10cj]
u
撤消上一步操作
3.命令模式下的操作
在vi的命令模式下,可用提供的命令帮助用户更方便的完成对文档的编辑,这些命令有:
编辑中文档的每一行正文都有隐藏的行号,用下列命令可以移动光标到指定行;在命令方式下,用户还可以对文件进行操作,允许从文件中读取正文,或将正文写入文件;用户也可以规定命令操作的行号范围,数值用来指定绝对行号。
见表4-5。
表4-5常用命令
命令
说明
:
w
将编辑的数据写入硬盘文件中
:
w!
若文件属性为“只读”时,强制写入该文件
:
q
离开vi
:
q!
使用!
为强制离开不储存文件。
:
wq
储存后离开,若为:
wq!
则为强制储存后离开
:
e!
将文件还原到最原始的状态
:
w[filename]
将编辑的数据储存成另一个文件(类似另存为)
:
r[filename]
在编辑的数据中,读入另一个文件的数据。
亦即将“filename”这个文件内容加到光标所在行后面
n1,n2w[filename]
将n1到n2的内容储存成filename这个文件
:
!
command
暂时离开vi到指令列模式下执行command的显示结果,例如[:
!
ls/home]
4.1.5编辑器的多文件操作
1.多文件操作的vi启动
在vi的命令格式中,可以使用多个文件名作为命令参数,vi编辑器在启动时将同时打开多个文件。
Vi[arguments][file..]
例如,进入“/etc”目录,并使用vi编辑器打开“passwd”、“fstab”和“inittab”3个系统文件,如图4-11所示。
图4-11打开多个文件
Vi编辑器将在当前的编辑屏幕中显示vi命令参数中的第一个文件,其他文件出于后台状态。
Vi编辑器在同一时刻只能编辑当前屏幕中的文件,如需编辑其他文件需要进行文件切换。
2.多文件切换命令
vi编辑器在进行多文件编辑时,编辑器中的前台文件和后台文件可以使用命令进行切换。
(1)显示多文件信息
在进行vi编辑器中的多文件转换之前,应使用args命令查看vi编辑器中多文件的状态,如图4-12所示。
图4-12显示多文件信息
例如,当用户打开多个文件时,会看到以下的显示,如图4-13所示,可以看到三个文件的排列顺序,其中“[passwd]”是当前正在查看的文件名称。
图4-13多个文件显示
(2)前后切换多文件
Vi编辑器中使用“next”和“prev”末行命令对vi中打开的多个文件进行向后和向前的切换,命令格式如下:
:
next
:
prev
例如,vi编辑器当前执行args命令的结果如下,如图4-14所示。
图4-14args命令结果
执行next命令后在执行args命令的结果如下,如图4-15所示。
在末行模式中输入:
next命令,然后使用:
args命令查看文件信息如下:
图4-15args命令结果2
可以看出,vi编辑器当前编辑的文件已经从“passwd”切换到了“fstab”,并且编辑屏幕显示的内容也变成了“fsnb”文件的内容。
执行prev命令后,vi编辑器当前编辑的文件会从“fstab”文件切换到“passwd”文件。
如图4-16所示。
在末行模式输入命令:
prev,然后输入命令:
args结果如下显示:
图4-16prev命令
在vi编辑器中队多个文件进行编辑时,从一个文件切换到另一个文件之前,应确保当前的文件已经保存了修改的文件,如果需要丢弃当前文件的修改并进行文件切换,可以使用以下命令:
:
next!
:
prev!
在next和prev命令的后面使用“!
”可以在前后切换文件的同时丢弃对当前文件的修改内容。
(3)定位首文件和尾文件
Vi编辑器的“first”和“last”命令可以将当前文件直接切换到vi编辑器打开的首文件或者尾文件,命令的格式如下:
:
first
:
last
当用户利用vi编辑器打开多个文件时,可以输入“:
first”和“:
last”命令可以切换到第一个文件和最后一个文件。
(4)快速文件切换
在vi编辑器中已经使用某个文件切换命令对当前文件进行切换后,使用vi命令模式,使用“ctrl+^”组合键命令可以快速切换到编辑器切换前的文件。
“ctrl+^”组合键尤其适用于打开两个文件时相互切换。
4.1.6在图形界面下编辑文本
在Linux的图形环境中提供了更加丰富、易用的文本文件编辑程序,除了前面介绍的文本终端环境中的vi编辑器之外,还有图形界面的vi编辑器和其他图形编辑器。
1.在图形界面中使用vi
在Linux的图形环境下,同样可以使用vi编辑器进行文本的编辑,方法是在Linux图形环境的虚拟终端程序的命令行中输入vi编辑器的启动命令。
Vi编辑器启动后将在虚拟终端程序的窗口中作为全屏幕编辑器运行,如图4-17所示。
Vi编辑器无论是在文本终端环境下运行还是在图形界面下运行,操作的方法是完全相同的,这样就保证vi编辑器的普遍适用性。
图4-17图形界面下的vi编辑器
2.使用gedit图形编辑器
在Linux图形环境中可以使用gedit文本编辑程序,该程序是桌面环境中附带的默认文本编辑器程序。
(1)命令行启动
Gedit编辑器程序可以从图形终端程序中使用命令启动,如图4-18所示。
图4-18命令行启动
Gedit编辑器可以指定多个文件名作为命令参数,命令的基本格式如下:
Gedit[filename..]
(2)菜单启动
Gedit编辑器程序可以选择[应用程序]-[附件]菜单中的文本编辑器进行启动,如图4-19所示。
图4-19菜单启动编辑器
(3)程序界面
无论使用命令还是选择菜单项启动gedit编辑器,都可以启动相同界面的gedit程序如图4-20所示。
图4-20程序界面
Gedit是图形界面应用程序,也是一个现代的文本编辑器程序,提供更加友好的用户界面和方便的操作方法,在程序中可以轻松地实现文件的各种编辑。
Linux图形界面中使用gedit文本编辑器可以完成常用的文本文件编辑功能,是vi编辑器之外的一个不错的选择。
任务完成:
4.2.1任务准备
1.使用root账号登录到Linux系统中。
如图4-21所示。
图4-21登录系统
4.2.2编辑文档
1.打开test文档,如图4-22所示。
图4-22打开文档
2.显示文档的行数,如图4-23所示,在末行模式下输入命令:
setnu。
图4-23显示行数
3.删除从第五行到第十行,在末行模式下输入命令,如图4-24所示。
图4-24删除第5-10行
删除后可以看到原有内容已经不见了,结果如下图4-25所示。
图4-25结果
4.复制文档的10-20行,输入G命令转到文件的末尾行,输入命令粘贴到末尾行,如图4-26所示。
输入复制命令后,会在末行出现以下提示:
图4-26复制文档内容
5.复制11行内容后,在命令模式输入G,跳转到整个文档的末尾,如图4-26所示,然后输入命令p命令,将复制的内容粘贴在文档末尾,此时可以看到原来文档为35行,现在后面多出来11行,末行模式下会出现提示,如图4-27所示。
图4-26跳转到末行
图4-27粘贴
6.查找到单词sbin并且替换成bin,如图4-28所示。
图4-28查找并替换
7.替换后可以看到文本中的sbin全部替换成了bin,末行也会出现提示,如图4-29所示。
图4-29替换结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vi 编辑器