Linux高并发服务器开发 第五天(压缩解压缩/vim编辑器/查找替换/分屏操作/vim的配置)
目录
1.压缩和解压缩
1.1压缩
1.2解压缩
2.vim编辑器
2.1vim的3种工作模式
2.2切换编辑模式
2.3保存和退出
2.4光标移动
2.5复制粘贴
2.6剪切、删除
2.7查找 替换
2.7.1查找
2.7.2替换
3.分屏操作
3.1快速翻屏
3.2分屏
4.vim的配置
4.1系统配置
4.2用户配置
1.压缩和解压缩
- Linux 操作系统,默认支持的 压缩格式:gzip、bzip2。 默认,这两种压缩格式,只能压缩单个文件,不支持打包;压缩后,源文件消失。


- 在 Linux/unix 中 压缩、解压缩,借助 tar 命令来完成。 tar 的作用是 “打包”
1.1压缩
- 格式:tar zcvf 压缩包名.tar.gz 压缩原材料**
- z: 使用 gzip 压缩格式。 如果选用 bzip2 。 将 z 替换为 j
- c:创建压缩包。
- v:显示压缩过程。
- f:用来指定压缩包包名的。 f 必须是最后一个参数。后面紧跟 压缩包名称。

- 举例:

- 注意事项:
- 压缩时,压缩包的后缀名,系统不做强制要求。但是,为了后期使用方便。我们应该根据实际压缩情况,选择合适的后缀名。
1.2解压缩
- 格式:tar zxvf 压缩包名.tar.gz** —— 直接解压缩到 当前目录。
- z: 使用 gzip 压缩格式。 如果选用 bzip2 。 将 z 替换为 j
- x:解压缩。
- 将解压缩的文件存储到指定目录。 使用 参数 -C

- 举例:

2.vim编辑器
2.1vim的3种工作模式
- 命令模式:
- 进入vim/vi 后,自动处于的一种模式。
- 在此种模式下,用户键入的所有内容都被当做 “命令”看到。
- 编辑模式:
- 编写代码。
- 末行模式:
- 在此种模式下,键入的指令,都被当做末行命令。

2.2切换编辑模式
- - **i:改变工作模式为 编辑模式,向光标 前 插入数据。** —— 首选学习!
- - a:改变工作模式为 编辑模式,向光标 后 插入数据。
- - **o:改变工作模式为 编辑模式,向光标所在行的下一行插入数据。** —— 首选学习!
- - s:改变工作模式为 编辑模式,删除光标选中的字符。
- - I(大i):改变工作模式为 编辑模式,向光标所在行的行首插入数据。
- - A:改变工作模式为 编辑模式,向光标所在行的行尾插入数据。
- - O:改变工作模式为 编辑模式,向光标所在行的上一行插入数据。
- - S:改变工作模式为 编辑模式,删除光标所在行所有数据。
2.3保存和退出
- 命令模式:
- ZZ(大写)保存、退出
- 末行模式:
- w:保存
- q:退出
- q!:强制退出,不保存。
- x:保存、退出
2.4光标移动
- **hjkl:左下上右
- **G:文件的末行!**
- **gg:文件的首行。**
- gg=G : 自动排版(缩进、对齐)
- 0:不改变工作模式,将光标移动至本行行首。
- $:不改变工作模式,将光标移动至本行行尾。
- **NG: 不改变工作模式, 跳转至第 N 行。—— 命令模式。**
- 末行模式,跳转至指定行:
- :N 回车。 —— 跳转至第N行。
2.5复制粘贴
- 单行复制:
- 光标移动至待复制行,放在任意字符上,yy复制本行。移动光标至目标位置。p向下粘,P向上粘。
- 多行复制:
- 光标移动至待复制多行的首行任意字符上, 按 Nyy(N为行数)复制多行。移动光标至目标位置,p向下粘,P向上粘。
- 片段复制:
- 光标移动至待复制区域的首个字符上,按v,左下角出现 “--可视--”提示,按 hjkl 移动光标,选中待复制区域。使用 y 复制,移动光标至目标位置,p向后粘,P向前粘。
- 复制一个单词:
- 光标移动至待复制单词首字符上,按 yw 复制一个单词。移动光标至目标位置,p向下粘,P向上粘。
注意:是在命令模式下的

2.6剪切、删除
- vim中,剪切后,不粘贴,就是删除!
- 单行剪切:
- 光标移动至待剪切行,放在任意字符上,dd剪切本行。移动光标至目标位置。p向下粘,P向上粘。
- 多行剪切:
- 光标移动至待剪切多行的首行任意字符上, 按 Ndd剪切多行。移动光标至目标位置,p向下粘,P向上粘。
- 片段剪切:
- 光标移动至待剪切区域的首个字符上,按v,左下角出现 “--可视--”提示,按 hjkl 移动光标,选中待剪切区域。使用 d 剪切,移动光标至目标位置,p向后粘,P向前粘。
- 剪切一个单词:
- 光标移动至待剪切单词首字符上,按 dw 剪切一个单词。移动光标至目标位置,p向后粘,P向前粘。
- 剪切光标位置至本行行首:
- 光标移动至待剪切起始字符上, 按 d0 剪切至,本行行首。移动光标至目标位置,p向后粘,P向前粘。
- 剪切光标位置至本行行尾:
- 光标移动至待剪切起始字符上, 按 d$ 或者 D 剪切至本行行尾。移动光标至目标位置,p向后粘,P向前粘。
2.7查找 替换
2.7.1查找
- 想象一个关键词,在文件中查找。
- 命令模式下,输入 “/” 在末行位置,可以输入待查找的关键词。使用 n 找下一个。找到文件末尾,自动循环查找。

- 看到一个关键词,查找在文件后续出现的位置。
- 将光标放到单词的任意字符上:
- 使用 * 向后查找
- 使用 # 向前查找。
2.7.2替换
- 单行替换
- 将光标置于待替换行的任意位置,进入末行模式
```shell
#语法::s/旧字符串/新字符 --- 只能替换一行的首个。想替换本行的全部,使用 /g
举例:
:s/append/add/g
- 通篇替换
#语法::%s/旧字符串/新字符/g
举例:

- 多行替换
#语法::起始行号,终止行号s/旧字符串/新字符/g
举例:

3.分屏操作
3.1快速翻屏
| **快捷键** | **操作**|
| ---------- | ----------------- |
| ctrl + u | 向上翻半屏(up) |
| ctrl + d | 向下翻半屏(down) |
| ctrl + f | 向上翻一屏(front) |
| ctrl + b | 向后翻一屏(back) |
3.2分屏
- 横屏分:
- sp:直接将当前文件 划分为两个屏幕。
- sp 新文件名:将 新文件和 现有文件,在同一个vim中打开,方便两个文件相互拷贝。
- 竖屏分:
- vsp:
- vsp 新文件名:
- 切换:ctrl-w-w
- 退出:
- 在哪个分屏窗口执行、q、wq,就退出哪个窗口。
- wqall 可以一次性退出所有窗口。
4.vim的配置
vim中执行shell命令
在末行位置。使用 !shell命令。可以直接在 vim中执行shell命令。
4.1系统配置
- 配置文件: /etc/vim/vimrc ---- 可以使用已经配置好的 vimrc 替换此文件。
- 会在 每次,启动 vim工具时,生效。作用于整个Linux系统,所有用户。
- 内容:一系列的 末行命令。上网搜
4.2用户配置
- 配置文件:~/.vimrc ---- 该文件,不存在,需要手动创建!
- 会在每次启动vim时,自动生效。作用于 当前用户。
- 内容:一系列的 末行命令。上网搜
相关文章:
Linux高并发服务器开发 第五天(压缩解压缩/vim编辑器/查找替换/分屏操作/vim的配置)
目录 1.压缩和解压缩 1.1压缩 1.2解压缩 2.vim编辑器 2.1vim的3种工作模式 2.2切换编辑模式 2.3保存和退出 2.4光标移动 2.5复制粘贴 2.6剪切、删除 2.7查找 替换 2.7.1查找 2.7.2替换 3.分屏操作 3.1快速翻屏 3.2分屏 4.vim的配置 4.1系统配置 4.2用户配置…...
C++ 面向对象编程:关系运算符重载、函数调用运算符重载
对 、<、> 三个运算符分别进行重载,可见以下代码: #include<iostream> using namespace std;class location { public:location(int x1, int y1) :x(x1), y(y1){};bool operator(const location& l1) const{return x l1.x && …...
拉普拉斯分布极大似然估计
在拉普拉斯分布中,概率密度函数 (PDF) 表示为: f ( x ∣ μ , b ) 1 2 b exp ( − ∣ x − μ ∣ b ) , f(x | \mu, b) \frac{1}{2b} \exp\left(-\frac{|x - \mu|}{b}\right), f(x∣μ,b)2b1exp(−b∣x−μ∣), 其中 μ \mu μ 是位置参数&…...
VLMs之Gemma 2:PaliGemma 2的简介、安装和使用方法、案例应用之详细攻略
VLMs之Gemma 2:PaliGemma 2的简介、安装和使用方法、案例应用之详细攻略 导读:2024年12月4日,PaliGemma 2是一个基于Gemma 2系列语言模型的开源视觉语言模型 (VLM) 家族。PaliGemma 2 通过提供一个规模化、多功能且开源的VLM家族,…...
qwenvl 代码中的attention pool 注意力池如何理解,attention pool注意力池是什么?
qwenvl 中的attention pool如何理解,其实这就是一个概念的问题 看qwenvl的huggingface的代码的时候,发现代码里有一个Resampler 以及attn_pool,这和之前理解的连接池 线程池 表示资源复用的意思不太一样,查了一下: 注…...
源码分析之Openlayers中GeometryCollection类
概述 本文主要介绍GeometryCollection类,GeometryCollection类继承于Geometry类,关于Geometry类,参考这篇文章源码分析之Openlayers中Geometry基类介绍 GeometryCollection类就是一组几何对象的集合. 源码分析 GeometryCollection类源码实现 GeometryCollection类源码实现…...
常见LLM大模型总结
常见LLM大模型总结 模型名称发布机构主要特点参数规模应用场景GPT-4OpenAI强大的推理能力,支持多模态(图像文本),上下文理解更深1.7万亿参数聊天机器人、内容生成、代码生成ChatGPTOpenAI面向对话优化,支持多轮对话记…...
向量检索+大语言模型,免费搭建基于专属知识库的 RAG 智能助手
随着生成式人工智能技术的飞速发展,越来越多的人和企业开始应用AI到日常的工作和生活中。但公域的AI助手其数据来自互联网上的大量公开文本,虽然具有广泛的知识,但在面对一些特定领域的专业问题时,可能会出现回答不够准确或深入的…...
基础11C++中的异常处理以及swap
一、异常处理手段 抛出异常:throw 异常 作用:让调用者看见这个异常,如果调用者不理睬,就让调用者的调用者看见 接住异常: try {可能异常的code} catch(异常类型) {处理方式} 异常类型:一般为const &,防…...
写作词汇积累:得偿所望、可见一斑、搭腔
得偿所望 【得偿所望】是指经过长时间的期盼和努力,最终实现了自己的愿望或目标。 【得偿所望】强调了愿望实现后的满足感和成就感,是一个充满正能量和积极情感的词语。 【得偿所望】与【得偿所愿】在表达上也具有相似的含义,都指愿望得到了…...
android jetpack compose Model对象更新变量 UI不更新、不刷新问题
以前是搞老本行Android原生开发的,因为工作原因,一直在用vue小程序;因为一些工作需要,又需要用到Android原生开发,建了个项目,打开源码一看,天塌了!!!我以前的…...
数据库概论
目录 1、数据库管理系统(DBMS) 1.1 DBMS的主要功能 1. 数据库的定义功能 2. 数据库的操纵功能 3. 数据库的运行控制功能 4. 数据库的维护 5. 数据字典(Data Dictionary,DD) 2、数据模型 2.1 信息和数据(了解) 2.2 数据模型的三个层次 2.3 信息世界中的基…...
基于python使用UDP协议对飞秋进行通讯—DDOS
基于飞秋的信息传输 声明:笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 老规矩,封面在文末! 飞秋介绍 (…...
数据库管理-第275期 Oracle 23ai:画了两张架构图(20241225)
数据库管理275期 2024-12-25 数据库管理-第275期 Oracle 23ai:画了两张架构图(20241225)1 系统管理分片2 用户定义分片总结 数据库管理-第275期 Oracle 23ai:画了两张架构图(20241225) 作者:胖…...
使用Streamlit部署机器学习模型
机器学习: 计算机能够从经验中学习,而无需明确编程。机器学习是目前最热门的领域之一,世界各地的顶级公司都在使用它来改善他们的服务和产品。但是没有使用在Jupyter Notebook中训练的机器学习模型。因此,我们需要部署这些模型&am…...
依图科技简介
依图科技(YITU Technology)是中国一家全球领先的人工智能(AI)公司,成立于2012年,总部位于上海。公司专注于计算机视觉、语音识别和自然语言处理等核心AI技术,致力于推动AI技术在医疗、安防、金融…...
苍穹外卖day07缓存部分分析
苍穹外卖Day07部分聚焦于缓存功能的实现与优化,通过引入redis缓存机制,结合Spring Cache 注解,降低了数据库负载,提升其响应速度。 以下是清除缓存功能代码: RestController RequestMapping("/admin/dish"…...
OCR实践-Table-Transformer
前言 书接上文 OCR实践—PaddleOCR Table-Transformer 与 PubTables-1M table-transformer,来自微软,基于Detr,在PubTables1M 数据集上进行训练,模型是在提出数据集同时的工作, paper PubTables-1M: Towards comp…...
HarmonyOS NEXT 实战之元服务:静态案例效果---电台推荐
背景: 前几篇学习了元服务,后面几期就让我们开发简单的元服务吧,里面丰富的内容大家自己加,本期案例 仅供参考 先上本期效果图 ,里面图片自行替换 效果图1完整代码案例如下: Index import { authentica…...
微信小程序 不同角色进入不同页面、呈现不同底部导航栏
遇到这个需求之前一直使用的小程序默认底部导航栏,且小程序默认入口页面为pages/index/index,要使不同角色呈现不同底部导航栏,必须要在不同页面引用不同的自定义导航栏。本篇将结合分包(subPackages)展开以下三步叙述…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
