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查找 替换)

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时,自动生效。作用于 当前用户。

  • 内容:一系列的 末行命令。上网搜

相关推荐
JosieBook1 小时前
【远程运维】Linux 远程连接 Windows 好用的软件:MobaXterm 实战指南
linux·运维·windows
文档搬运工1 小时前
Linux MInt启动速度的优化
linux
Broken Arrows1 小时前
Linux学习——管理网络安全(二十一)
linux·学习·web安全
Light602 小时前
领码方案|Linux 下 PLT → PDF 转换服务超级完整版:异步、权限、进度
linux·pdf·可观测性·异步队列·plt转pdf·权限治理·进度查询
鳄鱼杆2 小时前
服务器 | Docker应用开发与部署的实践以及阿里云镜像加速配置
服务器·阿里云·docker
羚羊角uou3 小时前
【Linux】命名管道
linux·运维·服务器
IT 小阿姨(数据库)3 小时前
PgSQL监控死元组和自动清理状态的SQL语句执行报错ERROR: division by zero原因分析和解决方法
linux·运维·数据库·sql·postgresql·centos
THMAIL3 小时前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融
曾经的三心草3 小时前
Python2-工具安装使用-anaconda-jupyter-PyCharm-Matplotlib
android·java·服务器
逍遥浪子~3 小时前
docker实践(一)
运维·docker·容器