Linux实验二:vi编辑器的使用

文章目录

  • 一、实验目的
  • 二、实验要求
  • 三、实验内容
    • 1、创建文件
    • 2、编辑文件


一、实验目的

1、练习并掌握Linux提供的vi编辑器来编译C程序

2、学会利用gcc、gdb编译、调试C程序

3、本次实验的目的是让同学们了解如何使用vi编辑器进行创建和编辑文件


二、实验要求

1、文件编辑器vi的工作模式

(1)输入模式

(2)命令模式

(3)ex转义模式

2、命令模式下光标的移动

3、命令模式下的编辑命令


三、实验内容

1、创建文件

(1)使用vi创建一个名为vitest的文件,文件的内容自己录入。需要输入多行来学习编辑器的常用命令

命令:
vi vitest
进入如下图的vi编辑器界面,之后根据需求自己输入文件内容
在这里插入图片描述
编辑模式
在这里插入图片描述

(2)返回命令行格式,写入并且退出文件。注意,当你输入”:”的时候,它将出现在你输入区域的最后一行。一旦这个缓冲区是空的并且文件被关闭了,你将看到一个包含有该文件的行数和字符数的消息。

在编辑模式下用Esc键退出到命令模式
输入“:”(进入到ex转义模式),输入wq(w写入,q退出)
在这里插入图片描述

2、编辑文件

(1)打开vitest,注意屏幕的底端将会显示文件名和字符数,使用[h],[j],[k],[i]键,练习在文件中进行光标移动

起始位置:
在这里插入图片描述
K两次:
在这里插入图片描述
J一次:
在这里插入图片描述
L两次:
在这里插入图片描述
H一次:在这里插入图片描述

(2)显示行数,并且让光标停在第四行

:set nu
在这里插入图片描述
:4
在这里插入图片描述

(3)删除单个字符,删除整行,删除多行

X
在这里插入图片描述
dd
在这里插入图片描述
2dd
在这里插入图片描述

(4)进行文字的复制、移动、粘贴操作

yyjjjjp
yy复制光标所在的行 jjjj向下移动四行 p粘贴在光标后,P粘贴在光标前
在这里插入图片描述

(5)对文本内容进行修改

r 替换光标位置上的一个字符
在这里插入图片描述
R 替换从光标位置开始的连续字符(进入替换模式,退出需用Esc)在这里插入图片描述
s 替换光标位置上的1个字符(进入输入模式INSERT,退出需用Esc)
在这里插入图片描述

(6)使用 :r 、 :w 、 :e 命令同时编辑多个文档。

test1文件:
在这里插入图片描述
test2文件:
在这里插入图片描述
在test2中通过此命令进入test1(同理test1中可通过e test2进入test2文件)
在这里插入图片描述
在test1中进入ex模式输入r test2
在这里插入图片描述
在test1中进入ex模式输入w后保存修改,之后进入ex模式输入e #(返回到上一个编辑文件)进入test2
在这里插入图片描述
在test2中进入ex模式输入r test1(将test1内容复制到test2缓冲区中光标的位置)
在这里插入图片描述
在test2中进入ex模式输入w>> test2(将当前缓冲区的内容附加到test2末尾)保存修改之后进入ex模式输入x(保存修改并退出)退出vim

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/443890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百战c++(os1)

Linux中的锁 互斥锁:mutex,用于保证在任何时刻,都只能有一个线程访问该对象。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒 读写锁:rwlock,分为读锁和写锁。处于读操作时&#xff0…

Linux实验三:Shell编程

文章目录一、实验目的二、实验要求三、实验内容1、通配符的使用2、重定向3、管道4、shell变量5、建立下面的脚本,运行并分析输出结果,并给出代码注释。6、编写脚本一、实验目的 1.为文件扩展名使用通配符 2.标准输入、标准输出和标准错误的重定向 3.使…

Linux实验四:编译和调试工具的使用

文章目录一、实验目的:二、实验要求三、实验内容四、实验操作1、用gcc编译程序,写出编译过程,并给出运行结果。2、调试程序,要求用gdb进行调试并给出修改方案。3、make的使用一、实验目的: 1、练习并掌握Linux提供的v…

Linux实验五:Linux环境下的C语言编程

文章目录一、实验目的:二、实验要求三、实验内容1、编写一段C语言程序使其完成:父进程创建两个子进程,每个进程都在屏幕上显示自己的进程ID号。2、上机调试下面的程序,观察运行结果,分析原因。3、利用两个管道进行双向…

ndarray对象的建立

文章目录ndarray(别名array)常用属性创建NumPy数组使用array()函数使用zeros()函数使用ones()函数使用empty()函数使用arange()函数注意ndarray(别名array) 常用属性 import numpy as np # Numpy工具包data np.arange(12).res…

Numpy数组的广播机制

文章目录前言数组广播广播机制的使用条件前言 Numpy数组不需要循环遍历,即可对每个元素执行批量的算术运算操作(矢量化运算)。当两个数组大小(Numpy.shape)不同时,进行算术运算会出现广播机制。 数组广播…

数组的转置和轴对称

文章目录T属性transpose()方法swapaxes()方法T属性 import numpy as np # Numpy工具包data np.arange(12).reshape(3, 4) # 创建一个3行4列的数组 print(data)# 数组的转置和轴对称 data1 data.T print(data1)print(data) [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] print(dat…

管道实现父子进程的信息传递(一)【fork函数、pipe函数、write/read操作、wait函数】

文章目录题目描述代码实现关于pipe函数关于读写操作关于读写端口关于wait函数功能:注意:关于fork函数题目描述 编写一个程序,利用管道实现父子进程的通信,父进程向子进程发送信息,由子进程输出显示。 代码实现 #inclu…

基础的shell编程问题(一)

文章目录题目一题目描述代码实现关于$#的有关内容实测本程序的作用题目二题目描述代码实现注释关于argc、argv关于read函数关于文件描述符关于write函数本程序的作用题目三题目描述代码实现实测关于grep命令关于read命令题目四题目描述代码实现关于test命令实测题目一 题目描述…

基础的shell编程问题(二)

文章目录题目一题目描述代码实现结果验证关于本题题目二题目描述代码实现结果测试题目三题目描述代码实现及结果测试题目四题目描述代码实现及结果测试题目五题目描述代码实现及结果测试题目一 题目描述 输入的命令行参数必须是hello,才会正确显示;否则…

Numpy实现酒鬼漫步问题【以及randint()、where()、cumsum()、argmax()的用法详解】

文章目录题目描述代码实现关于本题涉及到的几个函数randint()where()cumsum()题目拓展题目描述代码实现题目拓展题目描述代码实现argmax()题目描述 从前有一个酒鬼,喝醉了行走在一条直线上,每走一步方向是不确定的(向前或者向后)…

搞清axis的含义,这一篇就够了!

文章目录axis的含义旁门左道式理解二维数组中的axis三维数组中的axis正规理解axis的含义 在自己分析之前先摆上官方关于多维数组中axis的值的定义: axis 0,表示第一个维度 axis 1,表示第二个维度 axis -1,表示最后一个维度…

Struts2.3.5+Hibernate3+Spring3.1基于注解实现的多文件上传,下载

Struts2.3.5Hibernate3Spring3.1基于注解实现的的多文件上传,下载,这里是上传文件到数据库中,上传控件可以增加和删除,有需要的朋友可以看看。 以下是源码下载地址:http://www.zuidaima.com/share/1639672872438784.htm jar包的下…

【精品计划1】动态规划入门到熟悉,看不懂来打我啊

持续更新。。。。。。 2.1斐波那契系列问题 2.2矩阵系列问题 2.3跳跃系列问题 3.1 01背包 3.2 完全背包 3.3多重背包 3.4 一些变形选讲 2.1斐波那契系列问题 在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)0,F(1)1, F(n)F(n-1)…

【大总结2】大学两年,写了这篇几十万字的干货总结

本文是我大学两年知识的总结。涵盖数据结构、算法、语言基础、操作系统、关系数据库、NOSQL、网络/前端/项目基础知识、安全和测试、框架的学习、中间件和工具、设计模式和框架原理、我推荐的资料、我的建议 本篇文章应该算是Java后端开发技术栈的,但是大部分是基础…

《这是全网最硬核redis总结,谁赞成,谁反对?》六万字大合集

我摊牌了,这篇文章,值得99%的人收藏 此文后续会改为粉丝可见,所以喜欢的请提前关注和收藏,不迷路。 最近有五本我喜欢的redis实体新书,想要的去评论,我写个随机数抽奖包邮送给你。 那么,准备好…

Python数据预处理之异常值的处理——【自定义的three_sigma()函数、boxplot()方法】

文章目录基于3σ原则检测异常值代码实现测试基于箱型图检测异常值异常值的处理基于3σ原则检测异常值 3σ原则,又称拉依达准则。是指假设一组检测数据只含有随机误差。对其进行计算处理得到标准偏差,按一定概率确定一个区间,凡是超过这个区间…

那个谷歌的网红扔鸡蛋的题,来看看教科书式的回答

leetcode顶级难题,谷歌面试天天问,来看看吧,带你来一步一步达到最优解。 谷歌不知道问了多少遍,蓝桥杯也出现过,leetcode上是顶级难题,到底是什么题能如此频繁地出现?我们一探究竟吧。 原题描述…

不骗你,没读这一篇,你不可能懂二分

上篇文章讲动态规划获得了80k浏览,这次的二分也值得你们一看,这个系列是特别用心写的,准备出书的哦 动态规划 3.0 引子 图书馆自习的时候,一女生背着一堆书进阅览室,结果警报响了,大妈让女生看是哪本书把警报弄响了,女生把书倒出…

超硬核!操作系统学霸笔记,考试复习面试全靠它

之后会发布基于基础知识的大部分算法的模拟代码合集,敬请关注。 进程基础 进程的基本概念 程序顺序执行的特征: 1)顺序性:处理机严格按照程序所规定的顺序执行,每一步操作必须在下一步操作开始前执行 2)封…