【Linux基础】第28讲 Linux Vi编辑器

2023-09-20 11:44:29
  • 在Linux下一班使用Vi编辑器来编辑文件
  • vi既可以查看文件也可以编辑文件
  • 而vim是vi的升级版本,具备更多的功能。
  • vi如果目标文件不存在,会创建新的文件。但如果新文件没做编辑,退出后还会消失。

VI的三种模式介绍

三种模式(状态):编辑、底行、命令模式。

切换到编辑模式:按i、o、a键;

切换到底行模式:按:冒号;

切换到命令行模式:按Esc键;

编辑模式(插入模式):对文本进行输入和修改

底行模式:退出vim或者查找,替换功能

命令模式(一般模式):通过快捷命令操作数据,打开vi默认就是命令模式

如果vim命令不能使用需要安装

yum -y install vim-enhanced

编辑模式

命令行模式按下:i、o、a进入编辑模式;

i:光标不动

o:另起一行

a:光标到下一个字符

按Esc退出编辑模式,进入命令模式

底行模式

命令模式下,按“:”或者“/”进入底行模式,可以输入命令

1)退出vim:

:q   未编辑时退出VIM

:q!   编辑后,退出并且不保存

:wq 编辑后,退出且保存

:x    编译后保存

2)撤销上次操作

(扩展:一般模式下)

u    撤销上一次操作

ctrl+r 回复上一次被撤销的操作

3)设置行号

底行模式

:set nu显示行号

:set nonu 不显示行号

4)替换文本

:s/old/new/ 用new替换old,替换当前行的第一个匹配

:s/old/new/g 用new替换old,替换当前行的所有匹配

:%s/old/new/ 用new 替换old,替换所有行的第一个匹配

:%s/old/new/g 用new替换old,替换整个文件的所有匹配

5)查找

(一般模式)

/文本 搜索指定文本,高亮显示,按n显示下一个,按N显示前一个

:整数  快速跳转到指定行

命令行模式

(一般模式)

p  将之前dd或yy的数据粘贴到光标位置

yy 复制光标所在行

5yy 复制光标及下面共5行

dd 剪切当前行

5dd 剪切光标及下面共5行

更多推荐

【vue.js】路由使用与Node.js下载安装之环境配置

🎬艳艳耶✌️:个人主页🔥个人专栏:《Spring与Mybatis集成整合》《springMvc使用》⛺️生活的理想,为了不断更新自己!目录1、路由1.1什么是路由1.2案列实操1.2.1引入vue-router的js依赖1.2.2定义组件1.2.3定义路由1.2.4将路由加入路由器1.2.5将路由挂载根实例1.2.

状态管理艺术——借助Spring StateMachine驭服复杂应用逻辑

文章目录1.什么是状态2.有限状态机概述3.SpringStateMachine4.SpringStateMachine入门小案例4.1接口测试5.总结1.什么是状态在开发中,无时无刻离不开状态的一个概念,任何一条数据都有属于它的状态。比如一个电商平台,一个订单会有很多状态,比如待付款、待发货、待收货、完成订单。而这其

互联网摸鱼日报(2023-09-18)

互联网摸鱼日报(2023-09-18)36氪新闻最前线|号外电摩12.68万元起订,配16.9度一体压铸电池包本周双碳大事:CCER交易管理办法获生态环境部原则通过;明阳斥资100亿元加码光伏项目;“全路程”获2亿元D轮融资200亿,贝佐斯投出全球最大天使轮12种自由职业者管理时间的高效方法开彩票站,还是一门好生意吗:

阿曼市场最全开发攻略,看这一篇就够了

中东是一个充满外贸机遇的市场,已经成为很多外贸人重点开发的市场。阿曼的海岸南方和东方临阿拉伯海,东北方则抵阿曼湾。阿曼因为扼守着世界上最重要的石油输出通道——波斯湾和阿曼湾之间的霍尔木兹海峡,所以地理位置非常重要,商机也是很多的。作为外贸人,如何开发阿联酋市场客户呢?今天就来谈谈这个问题。文章略长,大家点赞收藏+关注,

【深度学习】 Python 和 NumPy 系列教程(十九):Matplotlib详解:2、3d绘图类型(5)3D等高线图(3D Contour Plot)

目录一、前言二、实验环境三、Matplotlib详解1、2d绘图类型2、3d绘图类型0.设置中文字体1.3D线框图(3DLinePlot)2.3D散点图(3DScatterPlot)3.3D条形图(3DBarPlot)4.3D曲面图(3DSurfacePlot)5.3D等高线图(3DContourPlot)一、前言Py

设计模式:简单工厂模式

目录代码实现总结简单工厂模式(SimpleFactoryPattern)是一种创建型设计模式,它提供了一种创建对象的最简单方式,通过一个工厂类根据传入的参数来决定创建哪种产品类的实例。在简单工厂模式中,有三个主要角色:产品(Product):定义了工厂创建的对象的接口。具体产品(ConcreteProduct):实现了

ElasticSearch(ES)简单介绍

ES简介Elasticsearch(通常简称为ES)是一个开源的分布式搜索和分析引擎,旨在处理各种类型的数据,包括结构化、半结构化和非结构化数据。它最初是为全文搜索而设计的,但随着时间的推移,它已经演变成一个功能强大的数据分析工具,用于实时搜索、日志和事件数据分析、业务智能等各种用途。以下是关于Elasticsearc

正则表达式基础

正则表达式是一种用来匹配字符串的技术,它可以通过特定的模式来搜索、替换或提取字符串中的内容。正则表达式的语法有很多不同的标记和修饰符,以下是一些常见的基础语法代码:\d:匹配任意一个数字。\w:匹配任意一个字母或数字。\s:匹配任意一个空白字符。.:匹配除换行符以外的任意一个字符。[abc]:匹配字符集合中的任意一个字

RocketMQ概论

目录前言:1.概述2.下载安装、集群搭建3.消息模型4.如何保证吞吐量4.1.消息存储4.1.1顺序读写4.1.2.异步刷盘4.1.3.零拷贝4.2.网络传输前言:RocketMQ的代码示例在安装目录下有全套详细demo,所以本文不侧重于讲API这种死的东西,而是侧重于讲解RocketMQ的特性。消息中间件无非需要关注

OJ练习第173题——单词接龙 II

单词接龙II力扣链接:126.单词接龙II题目描述按字典wordList完成从单词beginWord到单词endWord转化,一个表示此过程的转换序列是形式上像beginWord->s1->s2->…->sk这样的单词序列,并满足:每对相邻的单词之间仅有单个字母不同。转换过程中的每个单词si(1<=i<=k)必须是字典

算法通关村 | 透彻理解动态规划

1.斐波那契数列1,1,2,3,5,8,13,.....f(n)=f(n-1)+f(n-2)代码实现publicstaticintcount_2=0;publicintfibonacci(intn){if(n<=2){count_2++;returnn;}intf1=1;intf2=2;intsum=0;for(int

热文推荐