【Linux工具】yum软件包管理器与Vim编辑器的高效运用
目录
Linux 软件包管理器 YUM
什么是软件包
安装工具 rzsz 及注意事项
查看软件包
安装和卸载软件
安装软件
卸载软件
Linux 开发工具
编辑器 - Vim 使用
编辑
Vim 与 Vi 的区别
Vim 的基本概念
三种模式
Vim 的基本操作
操作尝试:
Vim 命令集解释
插入模式
移动光标 (文本gg& (n)G ,行 $ & ^ , 字符hjkl)
删除(x & dd)
复制与粘贴(yy&p)
编辑
修改和替换(shift~ & r & nr)
Vim 末行模式命令集
Vim 操作总结
vim 常用配置:
懒人一键配置
sum
文章手稿见文末~
Linux 软件包管理器 YUM
什么是软件包
在 Linux 下安装软件,通常的方法是下载程序的源代码并进行编译,得到可执行程序。然而,这样太麻烦了,于是有人将一些常用的软件提前编译好,做成软件包(类似于 Windows 上的安装程序),放在一个服务器上。通过包管理器,可以方便地获取并安装这些软件包。
- 软件包和软件包管理器的关系:就像 “App” 和 “应用商店”。
- YUM (Yellow dog Updater, Modified) 是 Linux 下非常常用的一种包管理器,主要用于 Fedora、RedHat、CentOS 等发行版。
- Centos 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 的所有操作必须保证主机(虚拟机)网络畅通,可以通过
查看软件包
通过 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 的区别
- Vim 是 Vi 的升级版本,兼容 Vi 的所有指令并添加了新特性。
- 可以在终端、X Window、Mac OS、Windows 下运行。
Vim 的基本概念
三种模式
| 模式名称 | Description |
|---|---|
| 命令模式 | 控制光标移动,删除、复制、进入插入模式或底行模式 |
| 插入模式 | 输入文字,按 ESC 返回命令模式 |
| 底行模式 | 保存、退出、替换、查找、显示行号等操作 |
可以借助下面的图解,对模式的切换进行记忆~

查看所有模式:
:help vim-modes
Vim 的基本操作
-
进入 Vim:
vim [文件名] -
切换模式:
| 操作 | 说明 |
|---|---|
| 正常模式 -> 插入模式 | a、i、o |
| 插入模式 -> 正常模式 | 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 | 屏幕往“前”移动半页 |

删除(x & dd)
| 命令 | 说明 |
|---|---|
#x | 删除光标所在位置的“后面”#个字符 |
#dd | 从光标所在行开始删除#行 |
复制与粘贴(yy&p)
| 命令 | 说明 |
|---|---|
#yy | 复制光标所在行及之后的#行 |
p | 将缓冲区内的字符粘贴到光标所在位置,和dd实现剪切复制 |
修改和替换(shift~ & r & nr)
| ||||||||
|---|---|---|---|---|---|---|---|---|
撤销(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


相关文章:
【Linux工具】yum软件包管理器与Vim编辑器的高效运用
目录 Linux 软件包管理器 YUM 什么是软件包 安装工具 rzsz 及注意事项 查看软件包 安装和卸载软件 安装软件 卸载软件 Linux 开发工具 编辑器 - Vim 使用 编辑 Vim 与 Vi 的区别 Vim 的基本概念 三种模式 Vim 的基本操作 操作尝试: Vim 命令集解释…...
Matlab数学建模实战应用:案例4 - 图像处理
目录 前言 一、图像处理基础 二、Matlab图像处理工具箱 三、案例:图像锐化、去噪和分割 步骤 1:读取和显示图像 步骤 2:图像锐化 步骤 3:图像去噪 步骤 4:图像分割 完整代码示例 四、实际应用 实例总结 总…...
Studying-代码随想录训练营day15| 222.完全二叉树的节点个数、110.平衡二叉树、257.二叉树的所有路径、404.左叶子之和
第十五天,二叉树part03💪,编程语言:C 目录 257.完全二叉树的节点个数 110.平衡二叉树 257.二叉树的所有路径 404.左叶子之和 总结 257.完全二叉树的节点个数 文档讲解:代码随想录完全二叉树的节点个数 视频讲解…...
Python 基础:异常
目录 一、异常概念二、处理异常2.1 抛出异常2.2 使用 try-except 代码块2.3 使用 try-except-else 代码块2.4 静默失败 三、总结 遇到看不明白的地方,欢迎在评论中留言呐,一起讨论,一起进步! 本文参考:《Python编程&a…...
XML 应用程序
XML 应用程序 XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。它是一种自我描述的语言,允许用户定义自己的标签和文档结构。XML广泛应用于各种应用程序中,包括网站开发、数据交换、文档管理等。本文将探讨XML的一些主要…...
SprringCloud Gateway动态添加路由不重启
文章目录 前言:一、动态路由必要性二、SpringCloud Gateway路由加载过程RouteDefinitionLocator接口PropertiesRouteDefinitionLocator类DiscoveryClientRouteDefinitionLocatorInMemoryRouteDefinitionRepositoryCompositeRouteDefinitionLocator类CachingRouteDef…...
Windows安装mysql
首先去官网下载社区版本的mysql(如果连不上,挂梯子) https://www.mysql.com/downloads/ 2. 去配置环境变量path 3. 在cmd里面初始化数据库(在搜索框输入cmd,或者在资源管理器下搜索烂输入cmd回车就行) my…...
chatgpt: linux 下用纯c 编写ui
在Linux下用纯C语言编写用户界面(UI),通常会使用GTK或Xlib。GTK是一个更高级的库,提供了丰富的控件和功能,而Xlib则是一个更底层的库,提供了直接操作X Window系统的功能。 下面是一个使用GTK在Linux上创建…...
Java十六进制Dump打印数据
代码 package test;import java.io.IOException;import sun.misc.HexDumpEncoder;@SuppressWarnings("restriction")...
某棋牌渗透测试
前言 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 一、信息收集 这里通过fofa进行收集,语法为:body某棋牌 && titlexxx 图1-1 fofa资产收集 …...
JAVA面试(六)
缓存 MemcachedredisRedis常见数据类型和使用Redis缓存持久化RDB-快照AOF-追加文件 Redis数据过期机制惰性删除定期删除Redis缓存淘汰策略(8种)算法LRU (Least Recently Used):最近最少使用LFU(Least Frequ…...
【C语言】手写学生管理系统丨附源码+教程
最近感觉大家好多在忙C语言课设~ 我来贡献一下,如果对你有帮助的话谢谢大家的点赞收藏喔! 1. 项目分析 小白的神级项目,99%的程序员,都做过这个项目! 掌握这个项目,就基本掌握 C 语言了! 跳…...
流媒体传输协议HTTP-FLV、WebSocket-FLV、HTTP-TS 和 WebSocket-TS的详细介绍、应用场景及对比
一、前言 HTTP-FLV、WS-FLV、HTTP-TS 和 WS-TS 是针对 FLV 和 TS 格式视频流的不同传输方式。它们通过不同的协议实现视频流的传输,以满足不同的应用场景和需求。接下来我们对这些流媒体传输协议进行剖析。 二、传输协议 1、HTTP-FLV 介绍:基于 HTTP…...
【机器学习】线性回归:从基础到实践的深度解析
🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 💫个人格言: "如无必要,勿增实体" 文章目录 线性回归:从基础到实践的深度解析引言一、线性回归基础1.1 定义与目…...
短视频开源项目MoneyPrinterTurbo:AI副业搞起来,视频制作更轻松!
目录 引言一、MoneyPrinterTurbo简介二、MoneyPrinterTurbo的核心功能三、MoneyPrinterTurbo的未来发展四、MoneyPrinterTurbo与AI副业五、部署实践1、克隆代码2、创建虚拟环境3、安装依赖4、安装好 ImageMagick5、端口映射6、启动Web界面7、模型配置8、填写主题9、视频生成10、…...
【JAVA】SpringBoot + skywalking 将接口的入参、出参、异常等信息上报到skywalking 链路追踪服务器上
【JAVA】SpringBoot skywalking 将接口的入参、出参、异常等信息上报到skywalking 链路追踪服务器上 1.下载SkyWalking APM https://skywalking.apache.org/downloads/ jdk8 不支持 SkyWalking APM 9.3.0以上版本,所以这里我们下载 9.3.0版本 2.下载 Java Agent …...
[xmake]构建静态库和动态库
xmake 静态库和动态库 在xmake中创建静态库和动态库的方法非常相似。以下是创建静态库和动态库的基本步骤: 创建xmake工程文件(xmake.lua)。 配置工程属性,包括工程名、版本等。 添加源代码文件到工程中。 设置是创建静态库还…...
功能测试 之 单模块测试----轮播图、登录、注册
单功能怎么测? 需求分析 拆解测试点 编写用例 1.轮播图 (1)需求分析 位置:后台--页面--广告管理---广告列表(搜索index页面增加广告位2) 操作完成后需要点击admin---更新缓存,前台页面刷新生效 (2)拆解…...
MyBatis-PageHelper 源码解说
归档 GitHub: MyBatis-PageHelper-源码解说 总说明 源码仓库: https://github.com/pagehelper/Mybatis-PageHelper克隆:git clone https://github.com/pagehelper/Mybatis-PageHelper.git切分支(tag):git checkout m…...
基于uni-app和图鸟UI的智慧校园圈子小程序开发实践
摘要: 随着教育信息化和“互联网教育”的快速发展,智慧校园建设已成为推动校园管理现代化、提高教育教学质量的重要手段。本文介绍了基于uni-app和图鸟UI开发的智慧校园圈子小程序,旨在通过一站式服务、个性化定制、数据互通和安全可靠等特点…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...
前端开发者常用网站
Can I use网站:一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use:Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站:MDN JavaScript权威网站:JavaScript | MDN...
Qt的学习(二)
1. 创建Hello Word 两种方式,实现helloworld: 1.通过图形化的方式,在界面上创建出一个控件,显示helloworld 2.通过纯代码的方式,通过编写代码,在界面上创建控件, 显示hello world; …...



