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)展开以下三步叙述…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
