当前位置: 首页 > news >正文

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时,自动生效。作用于 当前用户。
    - 内容:一系列的 末行命令。上网搜

http://www.lryc.cn/news/510224.html

相关文章:

  • C++ 面向对象编程:关系运算符重载、函数调用运算符重载
  • 拉普拉斯分布极大似然估计
  • VLMs之Gemma 2:PaliGemma 2的简介、安装和使用方法、案例应用之详细攻略
  • qwenvl 代码中的attention pool 注意力池如何理解,attention pool注意力池是什么?
  • 源码分析之Openlayers中GeometryCollection类
  • 常见LLM大模型总结
  • 向量检索+大语言模型,免费搭建基于专属知识库的 RAG 智能助手
  • 基础11C++中的异常处理以及swap
  • 写作词汇积累:得偿所望、可见一斑、搭腔
  • android jetpack compose Model对象更新变量 UI不更新、不刷新问题
  • 数据库概论
  • 基于python使用UDP协议对飞秋进行通讯—DDOS
  • 数据库管理-第275期 Oracle 23ai:画了两张架构图(20241225)
  • 使用Streamlit部署机器学习模型
  • 依图科技简介
  • 苍穹外卖day07缓存部分分析
  • OCR实践-Table-Transformer
  • HarmonyOS NEXT 实战之元服务:静态案例效果---电台推荐
  • 微信小程序 不同角色进入不同页面、呈现不同底部导航栏
  • MATLAB符号计算-符号表达式基础运算操作
  • 服务器被攻击怎么办
  • 精准识别花生豆:基于EfficientNetB0的深度学习检测与分类项目
  • 【UE5 C++课程系列笔记】13——GameInstanceSubsystem的简单使用
  • 实用工具推荐----Doxygen使用方法
  • js垃圾回收机制详细讲解
  • 【Linux/踩坑】Linux中启动eclipse或HDFS因JAVA_HOME设置报错
  • 百度千帆平台构建AI APP的基础概念梳理
  • Unity3D Huatuo技术原理剖析详解
  • 记Fastjson2的一个报ConcurrentModificationException的bug
  • 使用TimesFM 对车辆销售进行预测