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

【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 list 命令可以罗列出当前有哪些软件包。由于包的数目可能非常多,我们可以使用 grep 命令筛选出所关注的包。例如:

yum list | grep lrzsz

结果示例:

包名版本
lrzsz.x86_640.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 [文件名]
    
  • 切换模式

操作说明
正常模式 -> 插入模式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

相关文章:

【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开发的智慧校园圈子小程序,旨在通过一站式服务、个性化定制、数据互通和安全可靠等特点…...

STM32 keil工程移植到Visual Studio Code环境中编译

1、GCC Vscode 搭建 STM32 开发环境 GCC Vscode 搭建 STM32 开发环境(一)- 环境部署 - 知乎 (zhihu.com) 2、在原有keil工程下找到原本CUBEMX生成的.ioc工程文件 3、将.ioc文件复制一个新的文件夹下双击打开工程,将IDE选为Makefile&…...

细说CountDownLatch

CountDownLatch是Java中提供的一个同步辅助类,它允许一个或多个线程等待其他线程完成操作。在面试中,面试官经常会询问候选人是否在实际项目中使用过CountDownLatch,以评估其对多线程编程和并发控制的理解和经验。本文将详细介绍CountDownLat…...

java-克隆应用

5.2 创建复杂对象 对于某些复杂对象,通过克隆来创建其副本比通过构造函数创建新实例更加高效。例如,当对象包含大量字段或需要进行复杂初始化时,克隆可以显著提高性能。 java 复制代码 class ComplexObject implements Cloneable { private …...

RPC协议

3.8 既然有 HTTP 协议,为什么还要有 RPC 假设我们需要在 A 电脑的进程发一段数据到 B 电脑的进程,我们一般会在代码里使用 Socket 进行编程。 这时候,我们可选项一般也就 TCP 和 UDP 二选一。TCP 可靠,UDP 不可靠。 类似下面这…...

医疗器械3D全景展会在线漫游创造数字化时代的展览新篇章

在数字化浪潮的引领下,VR虚拟网上展会正逐渐成为企业展示品牌实力、吸引潜在客户的首选平台。我们与广交会携手走过三年多的时光,凭借优质的服务和丰富的经验,赢得了客户的广泛赞誉。 面对传统展会活动繁多、企业运营繁忙的挑战,许…...

IP_Endpoint类型在CAPL中的使用

在使用TCP/IP协议栈通信时,创建Socket套接字调用接口函数实现通信的整个过程成为一种主流且便捷的方式。在CAPL中,Client需要创建TCP或UDP套接字,绑定自己的IP地址和一个端口号,作为自己的通信端点。 on key c {clientsocket = tcpOpen(ipGetAddressAsNumber("192.16…...

数据资产与用户体验优化:深入挖掘用户数据,精准分析用户需求与行为,优化产品与服务,提升用户体验与满意度,打造卓越的用户体验,赢得市场认可

一、引言 在数字化时代,数据已经成为企业最宝贵的资产之一。通过深入挖掘和分析用户数据,企业能够精准把握用户需求和行为,从而优化产品与服务,提升用户体验和满意度。这不仅有助于企业在激烈的市场竞争中脱颖而出,还…...

基于TCAD与紧凑模型结合方法探究陷阱对AlGaN/GaN HEMTs功率附加效率及线性度的影响

来源:Investigation of Traps Impact on PAE and Linearity of AlGaN/GaN HEMTs Relying on a Combined TCAD–Compact Model Approach(TED 24年) 摘要 本文提出了一种新型建模方法,用于分析GaN HEMTs的微波功率性能。通过结合工…...

具身智能概念

具身智能作为人工智能发展的一个重要分支,伴随着大模型技术的爆发与硬件成本的降低,即软硬件技术走向成熟,正在成为广泛关注的热门,一时之间,具身智能机器人也成为了科技界新的风向标。 什么是具身智能? …...

C++ 43 之 自增运算符的重载

#include <iostream> #include <string> using namespace std;class MyInt{friend ostream& operator<< (ostream& cout , MyInt& int1); public:MyInt(){this->m_num 0;}// 前置自增&#xff1a; 成员函数实现运算符的重载 返回的是 引用&a…...

一个好的网站怎么建设/g3云推广

返回int&#xff0c;直接mov寄存器eax中的临时变量。直接把double的值放入栈顶指针esp所值处&#xff0c;FSTP将栈顶的数据传送到目标&#xff0c;并进行堆栈的弹出操作临时对象mov给外部对象。2&#xff0c;转载于:https://www.cnblogs.com/liuhan333/p/6945741.html...

渭南做网站的/贵阳关键词优化平台

1.hibernate框架是什么&#xff1f; &#xff08;1&#xff09;hibernate对jdbc进行的封装 &#xff08;2&#xff09;开源的轻量级框架。 2.hibernate思想&#xff1a;ORM(对象关系映射) &#xff08;1&#xff09;让实体类和数据库中的表一一对应&#xff08;表和实体类对应、…...

广西建设协会网站首页/谷歌搜索为什么用不了

https://www.cnblogs.com/kevingrace/p/6187072.html...

微信做自己网站/智能优化大师下载

孔子曾经说过“己所不欲勿施于人”&#xff0c;在如今这句话可以改成“己所不有切勿酸人”。在电脑硬件领域更是如此&#xff0c;RTX2080有什么用&#xff1f;玩扫雷还不是一样会卡&#xff01;电竞显示器有什么用&#xff1f;144Hz和60Hz根本没有什么区别&#xff01;那今天我…...

广东网站建设多少钱/今天国内最新消息

前些日子&#xff0c;非常荣幸的收到了小米公测提供的米家智能多模网关和小米米家光照传感器。熟悉米家/Aqara的值友应该知道&#xff0c;Aqara作为米家生态链中唯一一家使用Zigbee作为产品核心技术的企业&#xff0c;在几年间已经发布了很多网关类产品&#xff1a;米家多功能网…...

wordpress后台卡顿/宁波seo优化公司

一 压缩方式 IoTDB允许在创建一个时间序列的时候指定该列的压缩方式。 UNCOMPRESSED&#xff08;不压缩&#xff09;SNAPPY压缩LZ4压缩GZIP压压缩方式&#xff08;SNAPPY&#xff09;针对二进制流进行压缩&#xff0c;因此压缩方式的使用不再受数据类型的限制。 二 编码方式…...