Linux vim操作教程(vim 基操、vim替换和查找、 vim改变文本颜色、判断和循环语句)
vim 基操
vim 是一个强大的文本编辑器,常用于在终端环境下编辑文件。下面是一些常用的 vim 操作:
-
打开文件:在终端中输入
vim 文件名来打开一个文件,如果文件不存在,则会创建一个新文件。 -
模式切换:
- 按下
i进入插入模式,在该模式下可以输入和编辑文本。 - 按下
Esc键返回命令模式。 - 在命令模式下输入
:进入底行命令模式。
- 按下
-
保存和退出:
- 在命令模式下输入
:w可以保存文件。 - 输入
:q可以退出 vim。 - 输入
:wq可以保存并退出。
- 在命令模式下输入
-
光标移动:
- 使用方向键或
h、j、k、l键进行上下左右移动。 - 使用
G跳转到文件末尾,使用gg跳转到文件开头。 - 输入行号 +
G可以跳转到特定行。
- 使用方向键或
-
剪切、复制和粘贴:
- 在命令模式下移动光标到要操作的位置,输入
dd可以剪切当前行。 - 输入
yy可以复制当前行。 - 输入
p可以在光标后粘贴剪切或复制的内容。
- 在命令模式下移动光标到要操作的位置,输入
-
撤销和重做:
- 在命令模式下输入
u可以撤销上一步操作。 - 输入
Ctrl + r可以重做被撤销的操作。
- 在命令模式下输入
vim替换和查找?
在 Vim 中,你可以使用替换和查找功能来编辑和定位文本。下面是一些与替换和查找相关的常用操作:
-
查找文本:
- 在命令模式下,输入
/后跟要查找的文本,然后按下回车键。Vim 将会定位到第一个匹配项,并将其突出显示。 - 按下
n键可以跳转到下一个匹配项,按下N键可以跳转到上一个匹配项。
- 在命令模式下,输入
-
替换文本:
- 在命令模式下,输入
:%s/要替换的文本/新文本/g可以替换整个文件中的所有匹配项。将 “要替换的文本” 替换为要查找并替换的文本,将 “新文本” 替换为替换后的文本。 - 如果只想替换当前行的第一个匹配项,可以在命令模式下输入
:s/要替换的文本/新文本/。 - 如果只想替换当前行的所有匹配项,可以在命令模式下输入
:s/要替换的文本/新文本/g。
- 在命令模式下,输入
-
使用替换确认:
- 在替换命令后加上
c标志,可以在替换之前进行确认。例如,:s/要替换的文本/新文本/gc将会在替换每个匹配项之前提示确认。
- 在替换命令后加上
-
使用正则表达式:
- 在查找和替换中,你可以使用正则表达式来进行更灵活的匹配和替换。例如,
:s/pattern/substitute/g可以将匹配到的 “pattern” 替换为 “substitute”。 - 例如,使用
\d表示数字,\w表示单词字符等。
- 在查找和替换中,你可以使用正则表达式来进行更灵活的匹配和替换。例如,
vim如何改变文本颜色
改变文本颜色可以使用 ANSI 转义序列来实现。ANSI 转义序列是一些特殊的字符组合,用于控制终端的文本样式和颜色。
记得在脚本文件中添加
# define ANSI
在shell中,你可以使用\033(也可以写作\e)来改变文本的颜色。\033是ANSI转义序列的起始部分,用于控制终端的文本样式和颜色。
下面是使用\033来改变shell中文本颜色的示例:
#!/bin/bash# 改变前景(文本)颜色为红色
echo -e "\033[31mThis is red text\033[0m"# 改变背景颜色为蓝色,文本颜色为黄色
echo -e "\033[44;33mBlue background with yellow text\033[0m"# 改变文本样式为粗体
echo -e "\033[1mBold text相关文章:
Linux vim操作教程(vim 基操、vim替换和查找、 vim改变文本颜色、判断和循环语句)
vim 基操 vim 是一个强大的文本编辑器,常用于在终端环境下编辑文件。下面是一些常用的 vim 操作: 打开文件:在终端中输入 vim 文件名 来打开一个文件,如果文件不存在,则会创建一个新文件。 模式切换: 按下 i 进入插入模式,在该模式下可以输入和编辑文本。按下 Esc 键返…...
mac添加Chrome插件的方法
如果是.crx的插件 更改后缀crx为zip 后续步骤同下文.zip文件 如果是.zip的插件 使用终端进行解压 注意不要用解压工具解压,一定要用终端,命令行解压 // 进入到“插件名.zip”文件的目录下,输入下面命令: unzip 插件名.zip -…...
智能优化算法 | Matlab实现金豺优化算法(GJO)(内含完整源码)
文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 智能优化算法 | Matlab实现金豺优化算法(GJO)(内含完整源码) 源码设计 %%clear clc close SearchAgents_no=30; % Number of search agents Max_iteration=1000...
6、信息打点——Web架构篇语言中间件数据库系统源码获取
1、信息搜集搜集哪些东西? 架构信息收集,主要包括:操作系统、开发语言、中间件容器、数据库类型、第三方软件等; web源码信息收集,CMS开源?闭源?售卖?自主研发? 进行web…...
flutter vscode gradle 配置
我这边主要改了如图两个文件,然后把Gradle的问题解决了 参考文章: flutter运行Runt imeException: Timeout of 120000问题-CSDN博客 flutter配置gradle(个人笔记,非教程)_flutter gradle_追寻着星星的方向的博客-CSD…...
tcp和 udp区别
相同点:都是传输层协议 不同点 是否面向连接 tcp:面向连接 三次握手,四次挥手端对端连接全双工通信(允许双端同时收发数据) udp:无连接 无三次握手,四次挥手支持一对一,一对多,多对多 数据传输方式 …...
深度学习之基于Pytorch的昆虫分类识别系统
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介系统架构技术亮点 二、功能三、系统四. 总结 一项目简介 # 深度学习基于 Pytorch 的昆虫分类识别系统介绍 深度学习在图像分类领域取得了显著的成就&#…...
mysql字符串转为数字的三种方法、字符串转日期
隐式转换 在MySQL中,使用0运算符可以将一个非数字的值隐式地转换为数字。这在进行数学运算或比较操作时非常有用。 需要注意的是,在使用0进行隐式转换时,MySQL会尽可能将字符串转换为数字。如果字符串不能转换为数字,则会返回0。…...
【科技素养】蓝桥杯STEMA 科技素养组模拟练习试卷5
1、随着对新冠肺炎研究的深入,多个国家都已经开始了针对新冠肺炎病毒的疫苗的开发。以下关于疫苗的描述中,不正确的是 A、灭活疫苗的基本原理是将经过处理的病原体注射进入人体内 B、大规模接种疫苗可以帮助达成“群体免疫“,阻断病毒传播 …...
PTA-6-45 工厂设计模式-运输工具
题目如下: 工厂类用于根据客户提交的需求生产产品(火车、汽车或拖拉机)。火车类有两个子类属性:车次和节数。拖拉机类有1个子类方法耕地,方法只需简单输出“拖拉机在耕地”。为了简化程序设计,所有…...
重新使用hbase前
启动关闭Hadoop和HBase的顺序一定是: 启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop 1.挂载共享文件夹到挂载点 sudo mount -t vboxsf virtualmachineShare /mnt/shared2.进入hadoop目录下启动hadoop cd /usr/local/hadoop/ ./sbin/start-all.sh …...
Web 自动化神器 TestCafe(二)—元素定位篇
今天主要给大家介绍一下testcafe这个框架元素定位的方法。 一、CSS 选择器定位 使用 testcafe 对元素进行操作的时候,我们可以直接通过 CSS 选择器指定要操作的元素,比如,点击元素,input 输入文本内容,如下࿱…...
DRF-通用分页器(PageNumberPagination):ListModelMixin可以使用的通用分页器
一、ListModelMixin 和GenericAPIView源码 ListModelMixin 是一个单一功能类,必须配合GenericAPIView(或其子类)来一起使用,才能完成其视图的功能 class ListModelMixin:"""List a queryset."""d…...
移动机器人,开启智能柔性制造新篇章
智能制造是当今工业发展的必然趋势,而柔性制造则是智能制造的重要组成部分。在这个快速变革的时代,如何提高生产效率、降低成本、增强灵活性成为了制造业的关键挑战。富唯智能移动机器人应运而生,为柔性制造注入了新的活力。 基于富唯智能AI-…...
视频云存储EasyCVR平台国标接入获取通道设备未回复是什么原因?该如何解决?
安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...
【Web题】狼追兔问题
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
4-Docker命令之docker info
后续为大家逐个讲解一下docker常用命令及其相关用法。docker常用命令查看如下: [root@centos79 ~]# docker --helpUsage: docker [OPTIONS] COMMANDA self-sufficient runtime for containersCommon Commands:run Create and run a new container from an imageexec…...
QT 中的元对象系统
作为一名十几年的 C 程序员,最近一段时间使用 QT 开发程序,发现 QT 中还是有许多值得深入理解的技术。QT 不仅仅是一个应用程序开发框架,还有一些对标准 C 的扩充。本文和大家一起探讨 QT 中的元对象系统。 在分析 QT 中的元对象系统之前&…...
在两个java项目中实现Redis的发布订阅模式
如何在两个java项目中实现Redis的发布订阅模式? 1. Redis简介2. 发布订阅模式介绍3. 实现思路4. 代码实现及详细解释4.1. RedisUtil4.2. Publisher4.3. Subscriber4.4. 运行程序 目录: Redis简介发布订阅模式介绍实现思路代码实现及详细解释 1. Redis简…...
执行shell脚本提示syntax error: unexpected end of file
具体报错如下: ./test.sh: line 36: syntax error: unexpected end of file执行命令时需将test.sh替换为实际的脚本文件名称。 情形一: shell脚本在Windows下编写,上传到Linux上执行,由于 fileformat 类型不同,所以报…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践
01技术背景与业务挑战 某短视频点播企业深耕国内用户市场,但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大,传统架构已较难满足当前企业发展的需求,企业面临着三重挑战: ① 业务:国内用户访问海外服…...
