Linux下VI的基本操作实验

本文介绍了如何使用Vi编辑器创建、编辑、显示和处理文本文件。内容包括进入和退出Vi编辑器的方法、如何建立文件并进行修改、删除、复原等操作。还通过实例演示了如何纠正语法错误并通过编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验三 vi编辑器

一.实验目的
学习使用vi编辑器建立,编辑,显示及加工处理文本文件。
二.实验内容
1.进入和退出vi
2.利用文本插入方式建立一个文件
3.在新建的文本文件上移动光标位置
4.对该文件执行删除,复原,修改替换等操作
三.主要实验步骤
1.进入vi
2.建立一个文件,如file.c,进入插入方式,输入一段C语言程序的各行内容,故意制造几处错误。最后将文件存盘。回到shell状态下
hello.c的内容:

 #include <stdio.h>
int main(void)
{
:
NNNN;n=====
printf("hello,world");
}

3.运行gcc file.c -o -myfile,编译该文件,会出现几处错误,并理解其含义
编译结果:
hello.c: In function ‘main’:#在main函数中
hello.c:5:1: error: expected expression before ‘:’ token #不合语义的分号,在语法规则上,此处的冒号不应该出现
hello.c:6:6: error: ‘n’ undeclared (first use in this function) #标识符‘n’没有定义就第一次的在程序中使用
hello.c:6:6: note: each undeclared identifier is reported only once for each function it appears in #每一个未经定义的标识符只在每个函数中被报告一次
hello.c:6:9: error: expected expression before ‘==’ token
#不符合语法规则的‘==’号,此处不应该出现。
4.重新进入vi,对该文件进行修改。然后存盘,退出vi。重新编译该文件。如果文件通过编译,可以用./myfile它运行该程序
重新编辑后的hello.c文件:

 #include<stdio.h>
int main(void)
{
printf("hello,world");
}

运行结果:
这里写图片描述

5.运行man date > file10,然后vi file10
(此时 fil10文件的内容应当是date命令的帮助手册的全部内容,此处为省略篇幅只截取其中一部分)
这里写图片描述
6.使用 x,dd等命令删除某些行的文本
这里写图片描述

使用 u命令复原此前的情况:
此处使用了三次u命令,功能是撤销上次的删除操作,因为上次的操作时使用dd命令删除了光标所在的一整行,所以u命令将恢复这行,但是再次使用u命令后不会再次恢复上上次删除,因为将会撤销u命令的恢复,即回到原来的删除状态

这里写图片描述
使用c,r,s等命令修改文本内容
c命令:修改文本对象用新的输入文本代替老的文本,等价于用删除命令删除老文本,然后用i命令插入新文本,输入修改命令后就进入了输入方式,输入新文本后,还要按esc键,才能回到命令方式。此处使用c命令,在光标所在处使用c命令,此时开始进入输入状态,多次 输入insert的结果如下:再按esc键返回命令状态:
这里写图片描述
r命令用随后输入的字符代替光标所在的字符,此处在命令状态下按r此时进入输入状态,输入f后光标所在的字符就被替换为f此后再次进入命令状态。
下图是多次使用此命令替换为f的效果图。
这里写图片描述
s命令:用随后输入的正文替换光标所在处的字符,在如图所示,在光标所在处命令方式下输入s进入替换输入状态,每输入一个字符光标所在的字符就被替换,光标后移,然后之后的输入再次将贯标所在的字符进行替换,光标再次后移以此类推,直到按下esc键回到命令状态。此处是s命令后,输入Iam liwei just ok wu之后按esc键的效果
这里写图片描述
使用检索命令进行给定模式的检索。
在转义模式下根据3.7字符串检索格式和功能进行输入光标会移动到查找到的结果处。
四.实验心得及体会
通过此次实验,掌握了linux下VI的一些基本操作,首先要熟知VI有三个工作状态,命令方式,输入方式,ex转义方式,尤其要注意的是,与windows不同的是,用VI命令进入文件后,是不能立马编辑的,此时是命令状态,输入已存在的命令后并没有什么提示,此后就进入输入状态,输入完成后就会实现相应的功能,再次按ESC键就会回到命令状态。在命令状态输入转义命令:就会进入转义方式,此时再输入ex命令+ENTER键就会执行相应命令后再次进入命令状态。
五.实验遇见的困难即解决办法
vi的三个工作方式是很棘手的事情,常常不知道此刻属于什么状态,后来发现,在ex转义方式,最下端会有:和提示输入的光标,可以多按几次ESC键就可以回到命令状态。
还要熟记各种命令,其中是否大小写功能都有微小差别,注意上机还有辨别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值