第3章vi编辑器的使用_第1页
第3章vi编辑器的使用_第2页
第3章vi编辑器的使用_第3页
第3章vi编辑器的使用_第4页
第3章vi编辑器的使用_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、1College of Information Science and Engineering Shandong Agricultural University VI编辑器的使用 1. 1. 了解关于了解关于vivi的基本知识;的基本知识; 2. 2. 熟悉熟悉vivi的三种工作模式;的三种工作模式; 3 3掌握掌握vivi下的文本编辑方法;下的文本编辑方法; 4 4掌握掌握vivi操作的常用技巧。操作的常用技巧。学习目标学习目标n VIVI的三种工作模式的三种工作模式n VIVI的启动与保存退出的启动与保存退出n VIVI的文本的文本编辑编辑n其他模式下的操作其他模式下的操作主要内容主要内容

2、系统配置文件、系统配置文件、shellshell脚本文件等都是文本文件,脚本文件等都是文本文件,编辑它们都要使用文本编辑器。编辑它们都要使用文本编辑器。在在LinuxLinux系统中有多种文本编辑器,其中既有字符系统中有多种文本编辑器,其中既有字符界面如的界面如的VIVI、EMACASEMACAS等,也有图形界面的如等,也有图形界面的如“附件附件”菜单下的菜单下的“文本编辑器(文本编辑器(geditgedit)”等,用户可以根据等,用户可以根据自己的喜好选择使用。自己的喜好选择使用。 学习学习vivi的方法:的方法:vivi的命令太多且难以记忆,而实际上真正经常使的命令太多且难以记忆,而实际上

3、真正经常使用的命令并不是太多,只要掌握几个关键的并加以适用的命令并不是太多,只要掌握几个关键的并加以适当练习很快就可上手使用当练习很快就可上手使用vivi。为什么选择为什么选择VIVI就使用的方便性而言,有比就使用的方便性而言,有比vivi更好的编辑器,还有图更好的编辑器,还有图形化的形化的geditgedit,为什么还要用,为什么还要用vivi?历史久远,功能强大,在有些情况下系统中历史久远,功能强大,在有些情况下系统中能够找到的编辑器只有能够找到的编辑器只有vivi;没有图形支持的情况下,如终端远程连接到没有图形支持的情况下,如终端远程连接到服务器或者嵌入式设备,修改或者编制代码服务器或者

4、嵌入式设备,修改或者编制代码或者查看文件就需要或者查看文件就需要vim,vivim,vi等工具了。等工具了。 用户一旦熟悉后,使用非常方便;系统管理用户一旦熟悉后,使用非常方便;系统管理员使用正则表达式可以极大地提高工作效率员使用正则表达式可以极大地提高工作效率,而学习,而学习vivi也是掌握正则表达式的有效途径也是掌握正则表达式的有效途径。1.VI1.VI的三种工作模式的三种工作模式 命令模式命令模式 启动启动VIVI默认进入命令模式。此时界面不能编辑,只能接默认进入命令模式。此时界面不能编辑,只能接受命令受命令( (键入的命令是看不到的键入的命令是看不到的) 可进行文件的保存,退出,文本的

5、删除、复制、搜索等可进行文件的保存,退出,文本的删除、复制、搜索等操作。操作。 输入模式(编辑模式)输入模式(编辑模式) 命令模式下用编辑类命令命令模式下用编辑类命令i(sert),a(ppend)i(sert),a(ppend),o,so,s等均可等均可进入该模式。进入该模式。 按按escesc返回命令模式。返回命令模式。 底行命令模式底行命令模式 实际上也是命令模式的一种,在实际上也是命令模式的一种,在命令模式下输入冒号命令模式下输入冒号进进入一个命令行,入一个命令行,可显示地输入命令可显示地输入命令(所以有些书认为是(所以有些书认为是两种工作模式)。两种工作模式)。三种模式可自由切换,一

6、般切换命令就是操作的英文单词三种模式可自由切换,一般切换命令就是操作的英文单词的首字母的首字母文本输入文本输入模式模式命令模式命令模式(默认)(默认)底行命令底行命令模式模式按按ESC键键按按A,I,S,C,O等可做不同插等可做不同插入操作,同时入操作,同时转换模式转换模式按按“:”键键命令执行后自命令执行后自动返回(除退动返回(除退出命令)出命令)三种模式间的转换关系三种模式间的转换关系关于关于VIVI的版本的版本 由于由于vivi的版本不同,其命令格式、功能和用法会有一的版本不同,其命令格式、功能和用法会有一些差别。多数发行版上安装的是传统些差别。多数发行版上安装的是传统vivi的增强版本

7、的增强版本vimvim(VI ImprovedVI Improved)。输)。输vivi命令可看到版本提示信息。命令可看到版本提示信息。 如果编辑模式下按方向键出字母,用如果编辑模式下按方向键出字母,用whereis viwhereis vi查看查看会发现安装的一般是会发现安装的一般是Vim-tinyVim-tiny。可再安装一下,执行。可再安装一下,执行:sudo apt-get install vimsudo apt-get install vim2.VI2.VI的启动与保存退出的启动与保存退出【启动启动】执行执行vi vi命令即可如:命令即可如:vi my.txtvi my.txt 如果

8、文件存在,则如果文件存在,则vi vi显示文件内容并等待用户的命令。如显示文件内容并等待用户的命令。如果指定的文件不存在,则果指定的文件不存在,则vi vi将告知用户这是未命名的文件将告知用户这是未命名的文件,并进入一个空白的界面。,并进入一个空白的界面。 启动启动vi vi后后默认处于命令模式。默认处于命令模式。常用的启动参数(更多参数参考常用的启动参数(更多参数参考vi -helpvi -help):): -b-b以二进制模式显示。以二进制模式显示。 -d-d打开多个文件,并显示文件之间的不同之处。打开多个文件,并显示文件之间的不同之处。 -m-m被修改后的文件不允许被写入硬盘。被修改后的

9、文件不允许被写入硬盘。 -M-M禁止对文件进行修改。禁止对文件进行修改。 -R-R以只读方式打开文件以只读方式打开文件 -e-e以以exex(一种(一种UNIXUNIX系统中常见的文本编辑器)的操作方系统中常见的文本编辑器)的操作方式运行式运行vivi。vi vi R /etc/passwd R /etc/passwd 以只读方式打开文件以只读方式打开文件passwdpasswd在在linux下后下后缀名没有什么缀名没有什么强制要求。对强制要求。对可执行文件,可执行文件,系统一般从文系统一般从文件的属性来区件的属性来区分。对源代码分。对源代码文件,一般要文件,一般要给出合适的后给出合适的后缀,

10、缀,gcc通过通过后缀来区别输后缀来区别输入文件的类别入文件的类别。 【保存退出保存退出】(命令行模式下):(命令行模式下)::q:q在文件未作修改的情况下退出。在文件未作修改的情况下退出。:q!:q!强制退出,不保存对文件所做的修改。强制退出,不保存对文件所做的修改。:wq:wq保存文件修改并退出。或保存文件修改并退出。或“:x”x”也可。也可。:w:w保存文件。保存文件。:w :w filefile将正文内容保存到将正文内容保存到filefile中。中。: :n nw w filefile保存第保存第n n行到行到filefile中。中。: :mm, ,n nw w filefile保存第

11、保存第mm行至第行至第n n行到行到filefile中。中。:r :r filefile读取读取filefile的内容输出到正文光标所在位置。的内容输出到正文光标所在位置。:recover:recover恢复文件。恢复文件。命令模式下也可退出:命令模式下也可退出:ZZZZ或或ZQZQ(保存或不保存退出)(保存或不保存退出)3.3.文本编辑文本编辑【显示行号显示行号】底行命令模式下输入底行命令模式下输入set nuset nu可设置可设置vivi显示行号。显示行号。命令模式转编辑模式的命令有命令模式转编辑模式的命令有: i i 切换到插入模式,在光标左侧输入正文。切换到插入模式,在光标左侧输入正

12、文。 a a切换到插入模式,在光标右侧输入正文。切换到插入模式,在光标右侧输入正文。 o o切换到插入模式,在光标所在行的下一行增添新行。切换到插入模式,在光标所在行的下一行增添新行。 OO切换到插入模式,在光标所在行的上一行增添新切换到插入模式,在光标所在行的上一行增添新行。行。 I I 切换到插入模式,在光标所在行的开头输入正文。切换到插入模式,在光标所在行的开头输入正文。 A A切换到插入模式,在光标所在行的末尾输入正文切换到插入模式,在光标所在行的末尾输入正文。 s s 切换到改写模式,用输入的正文替换光标指向的字符。切换到改写模式,用输入的正文替换光标指向的字符。4、其他模式下的命令

13、操作、其他模式下的命令操作命令的相关符号说明:命令的相关符号说明: 若无特殊说明,若无特殊说明,n n或或mm表示数字;表示数字;c c表示一个字符;表示一个字符;strstr表示一表示一个字符串;个字符串;filefile表示文件名。表示文件名。如:如:nd nd 表示删除表示删除n n行。行。 vi vi中存在一些特殊字符表示行号,中存在一些特殊字符表示行号,“. .”表示当前光标所在行表示当前光标所在行,$ $表示末尾行。表示末尾行。准备练习文件:准备练习文件:cat n /etc/passwd vitest利用重定向,新建一个有行号信息的文本利用重定向,新建一个有行号信息的文本内容的文

14、件。内容的文件。【光标移动光标移动】命令模式下命令模式下 k k光标上移一行。光标上移一行。 j j光标下移移行。光标下移移行。 h h光标左移一个字符。光标左移一个字符。 ll光标右移一个字符。光标右移一个字符。 数字数字0/$0/$光标移动到行首光标移动到行首/ /尾。尾。 ww/b/b行内移动到下行内移动到下/ /前一个词的开头。前一个词的开头。 e e行内移动到单词的结尾。行内移动到单词的结尾。 移动到所在行的一个非空字符。移动到所在行的一个非空字符。 H H光标移到屏幕顶行。光标移到屏幕顶行。 MM光标移到屏幕中间。光标移到屏幕中间。 L L光标移到屏幕底行。光标移到屏幕底行。 nG

15、nG:移动到第:移动到第n n行行首。(或用行行首。(或用 : :n n) k kh l h l j j【删除删除】命令模式下命令模式下n x 删除光标所在字符删除光标所在字符n dw/db dw/db 删除光标后删除光标后/ /前一单词前一单词n dd删除光标所在的行删除光标所在的行n s s删除光标所在字节,并删除光标所在字节,并进入输入模式进入输入模式# #表示数字表示数字n #x #x 删除几个字符,如删除几个字符,如3x3xn #dw #dw 删除几个单词,如删除几个单词,如3dw3dw表表示删除三个单词示删除三个单词n #dd #dd 删除多个行,如删除多个行,如3dd 3dd 表

16、示表示删除光标行及光标的下两行删除光标行及光标的下两行n d$ d$ 删除光标到行尾的内容删除光标到行尾的内容d d光标键:光标键:左:删除光标前面的字符;左:删除光标前面的字符;右:删除光标所在的字符;右:删除光标所在的字符;上:将当前行与上一行删除;上:将当前行与上一行删除;下:当前行与下一行删除下:当前行与下一行删除ndnd上下光标键上下光标键: :删除当前行之上、下的几行文删除当前行之上、下的几行文本(包括当前行)本(包括当前行)【撤销与重做】【撤销与重做】命令模式下命令模式下 u u撤销前一跳命令产生的结果。撤销前一跳命令产生的结果。 . .重做最后一条命令的操作。重做最后一条命令的

17、操作。【文本复制、粘贴文本复制、粘贴】命令模式下命令模式下 复制命令:复制命令:y y yyyy复制整行复制整行 ywyw复制光标所在的单词复制光标所在的单词 nywnyw复制包括光标所在的复制包括光标所在的n n个单词个单词 nyynyy复制包括当前行在内的复制包括当前行在内的n n行行 粘贴命令粘贴命令 p p当前光标后当前光标后/ /行下粘贴。行下粘贴。【多个文件间操作】【多个文件间操作】底行模式底行模式1 1)多文件间复制)多文件间复制nvi file1 file2vi file1 file2同时打开两个文件。同时打开两个文件。n默认在第一个文件默认在第一个文件file1file1的界

18、面下。的界面下。5yy5yy,复制从当前光标行,复制从当前光标行开始向下五行。开始向下五行。n:nextnext 切换到下一个打开文件切换到下一个打开文件file2file2(也可用:(也可用:n n切换)。移切换)。移动光标到合适位置,动光标到合适位置,p p,复制。,复制。n:prevprev 切换到上一个打开文件切换到上一个打开文件file1file1。2 2)文件间读写)文件间读写 :r file_namer file_name 可导入文件内容添加到当前文件的光标所在行后可导入文件内容添加到当前文件的光标所在行后 :1,5 1,5 w file_namew file_name 将当前文

19、件第将当前文件第1 1行到行到5 5行的内容保存到文件行的内容保存到文件file_namefile_name中中。 :.,$-2 .,$-2 w file_namew file_name 当前行当前行到到倒数第三行的内容写入倒数第三行的内容写入file_namefile_name文件中。文件中。 使用使用 或或重定向符号,以免指定文件存在时重定向符号,以免指定文件存在时vi vi的的“File File exists”exists”的报错。的报错。【查找替换字符串】【查找替换字符串】底行模式底行模式:/string:/string向后搜索指定的字符串,向后搜索指定的字符串,按按n n键继续找下

20、一个。键继续找下一个。:?string:?string向前搜索指定的字符串,向前搜索指定的字符串,按按n n键继续找下一个。键继续找下一个。:s/:s/str1str1/ /str2str2/ /用字符串用字符串str2str2替换当前行中首次出现的字符串替换当前行中首次出现的字符串str1str1。:s/:s/str1str1/ /str2str2/g/gc c用字符串用字符串str2str2替换当前行中替换当前行中所有所有出现的字符串出现的字符串str1str1,并依次提示,并依次提示是否替换是否替换。 :%s/str1/str2:%s/str1/str2/g/g把文档中所有把文档中所有s

21、tr1str1替换成替换成str2str2;: :mm, ,n n s/str1/str2 s/str1/str2/g/g用用str2str2替换第替换第mm行到第行到第n n行行所有所有出现的字符串出现的字符串str1str1。: :. ., ,$-2$-2 s/str1/str2 s/str1/str2/g/g用用str2str2替换当前行到倒数第替换当前行到倒数第3 3行行所有所有出现的字符串出现的字符串str1str1。:s#str1/#str2/#:s#str1/#str2/#替换当前行第一个替换当前行第一个str1/str1/为为str2/str2/【执行其他执行其他shellsh

22、ell命令命令】底行模式底行模式用户在编辑文本文件过程中,可以在不用户在编辑文本文件过程中,可以在不退出退出vi vi的情况下执行的情况下执行shellshell命令,如:命令,如:!:!ls lls l:!mount /dev/sda1 /mnt!mount /dev/sda1 /mnt作作 业业 复制复制passwd文件,对该文件做下页要文件,对该文件做下页要求的练习。求的练习。 用用vi建立一个文件,输入一篇英文自建立一个文件,输入一篇英文自我介绍,命名为我介绍,命名为myinfo.eng保存到用保存到用户主目录下。户主目录下。 用用vi新建一个文件,录入你简要的个新建一个文件,录入你简

23、要的个人信息,包括姓名、人信息,包括姓名、Email、座右铭等、座右铭等信息,保存成信息,保存成“/myinfo.txt”,并将,并将myinfo.eng的内容添加到的内容添加到myinfo.txt文件的尾部。文件的尾部。案例练习案例练习1. 1. 请在请在 /tmp /tmp 这个目录下建立一个名为这个目录下建立一个名为 vitest vitest 的目录;的目录; 2. 2. 进入进入 vitest vitest 这个目录当中;这个目录当中; 3. 3. 将将 /etc/passwd /etc/passwd 拷贝到本目录底下拷贝到本目录底下4. 4. 使用使用 vi vi 开启本目录下的开

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

温馨提示

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

评论

0/150

提交评论