【Linux工具】yum软件包管理器与Vim编辑器的高效运用

目录

[Linux 软件包管理器 YUM](#Linux 软件包管理器 YUM)

什么是软件包

[安装工具 rzsz 及注意事项](#安装工具 rzsz 及注意事项)

查看软件包

安装和卸载软件

安装软件

卸载软件

[Linux 开发工具](#Linux 开发工具)

[编辑器 - Vim 使用](#编辑器 - Vim 使用)

​编辑

[Vim 与 Vi 的区别](#Vim 与 Vi 的区别)

[Vim 的基本概念](#Vim 的基本概念)

三种模式

[Vim 的基本操作](#Vim 的基本操作)

操作尝试:

[Vim 命令集解释](#Vim 命令集解释)

插入模式

[移动光标 (文本gg& (n)G ,行 \& \^ , 字符hjkl)](#移动光标 (文本gg& (n)G ,行 & ^ , 字符hjkl))

[删除(x & dd)](#删除(x & dd))

复制与粘贴(yy&p)

​编辑

[修改和替换(shift~ & r & nr)](#修改和替换(shift~ & r & nr))

[Vim 末行模式命令集](#Vim 末行模式命令集)

[Vim 操作总结](#Vim 操作总结)

[vim 常用配置:](#vim 常用配置:)

懒人一键配置

sum


文章手稿见文末~

Linux 软件包管理器 YUM

什么是软件包

在 Linux 下安装软件,通常的方法是下载程序的源代码并进行编译,得到可执行程序。然而,这样太麻烦了,于是有人将一些常用的软件提前编译好,做成软件包(类似于 Windows 上的安装程序),放在一个服务器上。通过包管理器,可以方便地获取并安装这些软件包。

  • 软件包和软件包管理器的关系:就像 "App" 和 "应用商店"。
  • YUM (Yellow dog Updater, Modified) 是 Linux 下非常常用的一种包管理器,主要用于 Fedora、RedHat、CentOS 等发行版。
  • Centos 7Centos 7 中安装软件分为三种方式: ①源码安装rpm 包安装yum 安装

yum 安装的好处显而易见,不用编译源码,且不用解决软件的依赖关系。

接下来可以试着来安装一款软件

yum install sl

安装完成后输入,就可以看见一个小火车啦~

Linux 下我们可以通过 yum list 指令去执行类似于手机应用市场的 "软件推荐" 功能:

tip:

不是国内的,或者发现安装软件特别慢,建议大家更新一下 yum 源。

🔍**百度搜索:**Centos7 如何设置国内 yum 源。

安装工具 rzsz 及注意事项

该工具用于 Windows 机器和远端的 Linux 机器通过 XShell 传输文件,安装后可以拖拽文件进行上传。

  • 安装命令

    复制代码
    sudo yum install rzsz
  • 注意事项

    • YUM 的所有操作必须保证主机(虚拟机)网络畅通,可以通过 ping 指令验证,如 ping www.baidu.com

查看软件包

通过 yum list 命令可以罗列出当前有哪些软件包。由于包的数目可能非常多,我们可以使用 grep 命令筛选出所关注的包。例如:

复制代码
yum list | grep lrzsz

结果示例:

包名 版本
lrzsz.x86_64 0.12.20-36.el7 @base

注意事项:

  • 软件包名称结构 :
    • 前缀 :如 x86_64 表示 64 位系统安装包,i686 表示 32 位系统安装包。
    • 版本号 :如 el7 表示 CentOS 7/RedHat 7,el6 表示 CentOS 6/RedHat 6。
    • 来源 :如 base 表示软件源的名称。

安装和卸载软件

安装软件

复制代码
sudo yum install [软件包名称]

YUM 会自动找到软件包并下载。输入 y 确认安装,出现 "complete" 字样表示安装完成。

注意事项

  • 安装软件需写入系统目录,通常需要 sudo 或切换到 root 用户。
  • YUM 安装软件只能一个接一个安装,不能并行。

卸载软件

复制代码
sudo yum remove [软件包名称]

Linux 开发工具

编辑器 - Vim 使用

安装一下

yum install -y vim

Vim 与 Vi 的区别
  • VimVi 的升级版本,兼容 Vi 的所有指令并添加了新特性。
  • 可以在终端、X Window、Mac OS、Windows 下运行。

Vim 的基本概念

三种模式
模式名称 Description
命令模式 控制光标移动,删除、复制、进入插入模式或底行模式
插入模式 输入文字,按 ESC 返回命令模式
底行模式 保存、退出、替换、查找、显示行号等操作

可以借助下面的图解,对模式的切换进行记忆~

查看所有模式

复制代码
:help vim-modes
Vim 的基本操作
  • 进入 Vim

    复制代码
    vim [文件名]
  • 切换模式

操作 说明
正常模式 -> 插入模式 aio
插入模式 -> 正常模式 ESC
正常模式 -> 底行模式 :
  • 保存与退出
命令 说明
:w 保存当前文件
:wq 保存并退出
:q! 不保存强制退出
操作尝试:

最简单的命令行输入步骤

Vim 命令集解释

sum:

插入模式
命令 说明
i 从光标当前位置开始插入
a 从光标位置的下一个位置开始插入
o 在光标位置的下一行插入新行
ESC 从插入模式返回正常模式
移动光标 (文本gg& (n)G ,行 $ & ^ , 字符hjkl)
命令 说明
h / j / k / l 左 / 下 / 上 / 右移一格
G 移动到文件最后
$ 移动到行尾
^ 移动到行首
w 光标跳到下一个词的开头
e 光标跳到下一个词的词尾
b 光标回到前一个词的开头
#l 光标移到该行的第#个位置
gg 移动到文件开始
Shift + G 移动到文件末端
Ctrl + b 屏幕往"后"移动一页
Ctrl + f 屏幕往"前"移动一页
Ctrl + u 屏幕往"后"移动半页
Ctrl + d 屏幕往"前"移动半页

关于 hjkl记忆小技巧

删除(x & dd)
命令 说明
#x 删除光标所在位置的"后面"#个字符
#dd 从光标所在行开始删除#行
复制与粘贴(yy&p)
命令 说明
#yy 复制光标所在行及之后的#行
p 将缓冲区内的字符粘贴到光标所在位置,和dd实现剪切复制

| ##### 修改和替换(shift~ & r & nr) |------------|-------------------| | 指令 | 操作 | | shift + ~ | 大小写快速切换 | | r | 替换光标所在位置的字符 | | n r | 替换光标所在位置开始的 n 个字符 | |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| |

撤销(u&ctrl+r

命令 说明
u 撤销上一次操作
Ctrl + r 撤销的恢复
Vim 末行模式命令集
  • 列出行号set nu
  • 跳到文件中的某一行 :在冒号后输入行号,如 :15 跳到第 15 行。
  • 查找字符
命令 说明
/关键字 从当前光标位置向后查找关键字
?关键字 从当前光标位置向前查找关键字
n 查找下一个匹配结果
  • 保存文件与退出
命令 说明
:w 保存当前文件
:q! 不保存强制退出
:wq 保存并退出
Vim 操作总结
  • 三种模式:正常模式、插入模式、底行模式。
  • 配置文件
    • 系统级配置文件:/etc/vimrc
    • 用户级配置文件:~/.vimrc

vim 常用配置

复制代码
syntax on            # 设置语法高亮
set nu               # 显示行号
set shiftwidth=4     # 设置缩进的空格数为4
懒人一键配置

直接无脑复制下面的文字,shift+insert 粘贴到命令行:

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh &&bash ./install.sh

回车就可以安装好一个简易的环境啦~

sum

相关推荐
Scott9999HH2 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
Yana.nice3 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
码智社3 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海3 小时前
python 列表、元组、集合和字典
开发语言·python
克里斯蒂亚诺更新3 小时前
ruoyi角色权限的对应关系
笔记
萧瑟余晖4 小时前
JDK 26 新特性详解
java·开发语言
马优晨5 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
2601_960567966 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
a1117766 小时前
2FA 验证码生成器(github登录验证 app)
笔记·学习
吳所畏惧7 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh