2024年1月28日发(作者:)
《操作系统(linux)》实验指导书
实验一 Vi编辑器的使用
一、
实验目的
●
理解Vi的三种运行模式及切换方法;
●
学会使用Vi的各种操作命令进行文本文件的编辑;
●
用Vi编写Linux下C程序,会用gcc编译。
二、
实验工具
一台装有Linux的机器(这里默认是Red Hat Linux 9),系统里面有gcc编译器。
三、
预备知识
介绍一些常见的实验命令,相关说明可以参考本实验参考资料部分。
1、进入插入模式
命令 i 从光标所在位置前开始插入文本;
命令a 在光标当前所在位置之后追加新文本;
命令o 将在光标所在行的下面新开一行,并将光标置于该行行首,等待输入文本;
2、编辑模式下操作
命令h、j、k、l
进行光标左移、下移、上移和右移一个字符的定位;
命令x
删除光标处字符;
命令yy
将当前行的内容复制到缓冲区中;
命令p
将缓冲区中的内容写到光标所在的位置;
命令zz
存盘退出;
3、命令模式下操作
命令:n 直接跳到n所指向的行(n指行号);
命令:q 退出vi;
四、基本实验
首先用合法用户名登陆系统。
1.
不保存直接退出
(1)
在系统提示符下,输入vi,按回车键。
(2)
我们会看到vi的界面。
(3)
输入:q!不保存直接退出。
2.
新建文件hello.c并编辑一段文字进行保存
(4)
在系统提示符下输入vi hello.c,按回车键。
(5)
看到vi的界面,输入i,左下角会出现“插入”。
(6)
输入一段文字。
(7)
按Esc键,进入命令模式。这时“插入”就不见了。
(8)
输入:wq,按回车键,保存文件。
3.
对文件hello.c进行增、删、改操作
(9)
在系统提示符下输入vi hello.c,按回车键。
(10)
看到vi的界面。输入i,进入插入模式。
(11)
输入增加的文字:“vi is very easy to user~!”。
(12)
用方向键将光标移到图文字行的任意处。
(13)
按Esc键,进入命令模式。
(14)
输入命令dd,删除光标所在一行(若连续输入d,d是将光标所在的行及以下所有行删除)。
(15)
用方向键将光标移到very的v处,按Esc键,进入命令模式,输入命令2x,查看结果。
4.
对文件hello.c进行复制、粘贴操作
(16)
接着步骤14继续做。
(17)
输入命令2yy,进行复制。
(18)
将光标移动到“vi is very easy to user~!”。
(19)
按Esc键,进入命令模式。
(20)
输入p,完成粘贴,查看结果。
5.
在file文件中进行字符串搜索、替换操作。
(21)
接着19步骤继续
(22)
输入“:/is”,按回车键,查看结果。
五、
程序实验
用vi编辑器来编写一个简单的程序。
步骤 1、输入vi,进入vi编辑器。
2、编写程序代码如下:
#include “stdio.h”
main()
{int i,sum=0;
for(i=1,i<=10;i++)
sum+=i;
printf(“sum=%dn”,sum);
}
3、按Esc键,进入命令模式。
4、输入“:w sum.c”。
5、按Esc键,进入命令模式,并输入“:q”,退出vi编辑器即可。
6、输入“gcc -o sunm sum.c”,进行编译。
7、若成功则不会有任何信息,反之,系统会报错。若成功,则输入“./sum”,就可得到结果。
8、将10替换为每个同学的学号的最后三位数字,重新编译,查看结果。
六、
参考资料内容
1、
vi编辑器的三种运行模式
vi有三种基本工作模式:编辑模式、插入模式、命令模式(也称末行模式)。
在系统提示符($或#)后输入vi和想要编辑或建立(该文件存在是编辑,否则是建立)的文件名,便可进入vi。如果只输入vi也可以进入vi,但是在退出时需要在退出命令后输入文件名。
进入vi后即进入编辑模式,进入编辑模式后,vi等待编辑命令输入而不是文本输入,这时输入的字母都将作为编辑命令来解释。
在编辑模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入插入模式。在插入模式下,用户输入的任何字符都被vi当作文件内容保存起来,并显示在屏幕上。在文本输入过程中,如果想回到命令模式,按Esc键即可。
在编辑模式下输入“:”即可进入命令模式,此时vi会在显示窗口的最后一行显示一个“:”作为命令模式的提示符,等待用户输入命令。末行命令执行完后,vi自动回到编辑模式。
若在命令模式的输入命令过程中改变了主意,可用退格键讲输入的命令全部删除后,再按一下退格键,即可回到编辑模式。
2、
常见的实验命令
(1)
编辑模式下的操作
①
光标定位如下:
命令
h,j k,l
Ctrl+b
Ctrl+f
H
nH
O
$
②
替换和删除
命令
rc
nrc
x
nx
dd
ndd
③
复制和粘贴命令
命令
yy
nyy
p
④
撤销和重复
命令
u
说明
取消前一次的误操作或不合适的操作对文件造成的影响,使之恢复到这种操作被执行前的状态
再执行一次前面刚完成的某个复杂的命令
说明
讲当前行的内容复制到缓冲区中
讲当前开始的n行内容复制到缓冲区
讲缓冲区中内容写出到光标所在的位置
说明
用字符c替换光标所指向的第一个字符(非空格)
用字符c替换光标所指向的前n个字符
删除光标处的字符
删除光标所在位置开始向右n个字符
删除光标所在的整行
删除光标所在的整行及其后n-1行的内容
说明
分别用于光标的左移,下移,上移,右移一个字符。
将屏幕向文件首方向翻滚一整屏,即PageUp
讲屏幕向文件尾方向翻滚一整屏,即PageDown
讲光标移到当前屏幕首行的行首(即左上角)
讲光标移到当前屏幕第n行的行首
移动至光标所在行的行首
移动至光标所在行的行尾
⑤
退出
命令
ZZ
ZQ
(2)
命令模式下的操作
①
跳行
命令
:n
②
退出
命令
:q
:wq
:q!
③
文件相关
命令
:w
:w file
:n1,n2w file
:r file
:e file
:f file
④
字符串搜索、替换、删除
命令
:/str/
:? str?
:/str/w file
:/str/,/str2/w file
:s/str1/str2/
:s/str1/str2/g
:. , $ s/str1/str2/g
说明
存盘退出
作废退出
说明
直接输入要移动到的行号
说明
退出vi
保存退出vi
不保存退出vi
说明
讲当前编辑的内容存盘
讲当前编辑的内容写到file文件中
讲从n1行开始到n2行结束的行写到file文件中
打开另一个文件file
新建file文件
把当前文件改名为file文件
说明
从当前光标开始往右移动到有str的地方
从当前光标开始往左移动到有str的地方
将包含有str的行写到文件file中
讲从str1开始到str2结束的内容写到文件file中
将第一个str1替换为str2
将所有的str1替换为str2
将从当前位置到结尾的所有的str1替换为str2
本文发布于:2024-01-28 23:41:06,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170645646611139.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |