畅游 Linux 开发天地:yum 与 vim 详解

🌟 快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。🌟   

🚩用通俗易懂且不失专业性的文字,讲解计算机领域那些看似枯燥的知识点🚩 


前言

在当今数字化时代,Linux 凭借其强大的性能、高度的稳定性以及开源的特性,成为众多开发者的首选平台🤩。对于 Linux 开发者而言,熟练掌握一系列核心工具,从软件包管理到代码编辑、编译、调试,再到项目构建与版本控制,是开启高效开发之旅的关键🚀。这些工具相互配合,犹如精密的齿轮,共同推动着 Linux 开发的顺畅进行。

让我们深入探索这片充满魅力的 Linux 开发世界🌈。


目录

 

一、Linux 软件包管理器 yum 📦

1.1 软件包的概念与意义

1.2 yum 详解

1.3 关于 rzsz(一个软件)

1.4 查看软件包

1.5 安装软件

1.6 卸载软件

二、Linux 编辑器 - vim 使用 🖋️

2.1 vi 与 vim 的渊源

2.2 vim 的三种核心模式

2.3 vim 的基本操作

2.4 vim 正常模式命令集

2.5 vim 末行模式命令集

2.6 vim 操作总结

2.7 简单 vim 配置


一、Linux 软件包管理器 yum 📦

1.1 软件包的概念与意义

在 Linux 环境下,传统安装软件的方式是下载源代码并编译这要求开发者具备较高的技术水平且操作繁琐😫。为简化流程,软件包应运而生。它将常用软件提前编译好,类似 Windows 上的安装程序,存放在服务器上。通过包管理器,用户能便捷获取并安装,软件包与包管理器的关系如同 “App” 与 “应用商店”🛍️。

 

1.2 yum 详解

yum(Yellow dog Updater, Modified)是 Linux 下常用的包管理器,主要用于 Fedora、RedHat、Centos 等发行版。它通过配置文件指定软件源,这些软件源包含了众多编译好的软件包及相关元数据📋。(yum类似于Linux的应用商店)

1.3 关于 rzsz(一个软件)


这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件.
安装完毕之后可以通过拖拽的方式将文件上传过去.

1.4 查看软件包

使用yum list命令可列出当前所有软件包。由于数量庞大,常结合grep命令筛选关注的包,如yum list | grep lrzsz。软件包名称遵循特定格式:主版本号。次版本号。源程序发行号 - 软件包的发行号。主机平台.cpu 架构。例如,“lrzsz.x86_64” 中,“x86_64” 表示 64 位系统安装包,“el7” 代表操作系统发行版为 centos7/redhat7,最后一列 “base” 是软件源名称🧐。

1.5 安装软件

通过 yum 安装软件极为便捷,如安装 gcc,执行sudo yum install gcc。yum 会自动分析依赖关系,列出需下载的软件包,用户输入 “y” 确认即可。 (如果不想询问,可以加入 -y ) 安装过程中,因涉及向系统目录写入内容,一般需sudo或切换到 root 账户。且 yum 一次只能安装一个软件,同时安装多个会报错❌。

1.6 卸载软件

卸载软件同样简单,使用sudo yum remove 软件包名命令,如sudo yum remove lrzsz,即可轻松卸载指定软件包🗑️。


二、Linux 编辑器 - vim 使用 🖋️

2.1 vi 与 vim 的渊源

vi 是 Linux 系统中经典的文本编辑器,而 vim 是其升级版本。vim 不仅完全兼容 vi 的所有指令,还增添诸多新特性,如语法加亮、可视化操作,且可在多种环境(x window、mac os、windows)下运行✨。

2.2 vim 的三种核心模式

  • 命令模式(Normal mode)此为 vim 启动后的默认模式,用于控制屏幕光标移动,执行字符、字或行的删除、移动、复制等操作,也可进入插入模式或末行模式🚶‍♂️。
    (输入按键并没有显示)
  • 插入模式(Insert mode)

     (在命令模式下输入‘i’,即可进入插入模式)

    仅在此模式下可进行文字输入,按「ESC」键可返回命令模式,是使用最频繁的编辑模式✍️。
  • 末行模式(last line mode):用于文件保存、退出,以及文件替换、查找字符串、列出行号等操作。在命令模式下按 “ shift + : ” 可进入📄。
    文本末尾会出现,输入‘w’为保存,输入‘p’为退出不保存,输入‘wq’为保存并退出

2.3 vim 的基本操作

  • 模式切换:从命令模式进入插入模式,可按 “i”(从光标当前位置输入)、“a”(从光标下一个位置输入)、“o”(插入新行并从行首输入)。插入模式切回命令模式按「ESC」键。命令模式切换至末行模式按 “shift + ;”🔄。
  • 文件操作:在命令模式下按 “:” 进入末行模式,“:w” 保存当前文件,“:wq” 存盘并退出 vim,“:q!” 不存盘强制退出🚪。

 学习完当前内容,你能完成这个任务吗?


2.4 vim 正常模式命令集

  • 插入操作:“i” 从光标当前位置开始输入;“a” 从光标所在位置的下一个位置开始输入;“o” 插入新的一行并从行首开始输入➕。
  • 光标移动:除用键盘箭头键,还可用 “h”(左移一格)、“j”(下移一格)、“k”(上移一格)、“l”(右移一格)。“G” 移动到文章末尾;“$” 移动到光标所在行的行尾“^” 移动到光标所在行的行首“w” 光标跳到下个字的开头;“e” 光标跳到下个字的字尾;“b” 光标回到上个字的开头;“#l” 光标移到该行的第 #个位置;“gg” 进入到文本开始“shift+g” 进入文本末端;“ctrl + b” 屏幕往后移动一页;“ctrl + f” 屏幕往前移动一页;“ctrl + u” 屏幕往后移动半页;“ctrl + d” 屏幕往前移动半页📏。
  • 删除操作:“x” 删除光标所在位置的一个字符;“#x” 删除光标所在位置后面(包含自己在内)# 个字符;“X” 删除光标所在位置前面一个字符;“#X” 删除光标所在位置前面 #个字符;“dd” 删除 光标所在行;“#dd” 从光标所在行开始删除 #行❌。
  • 复制与粘贴:“yw” 将光标所在之处到字尾的字符复制到缓冲区;“#yw” 复制 #个字到缓冲区;“yy” 复制光标所在行到缓冲区;“#yy” 拷贝从光标所在的该行往下数 #行文字。“p” 将缓冲区内的字符贴到光标所在位置📋。
  • 替换与更改“r” 替换光标所在处的字符;“R” 替换光标所到之处的字符,直到按下「ESC」键。“cw” 更改光标所在处的字到字尾处;“c#w” 更改 #个字🔄。
  • 撤销与恢复“u” 撤销上一次操作,多次按可执行多次恢复;“ctrl + r” 撤销的恢复🔙
  • 跳转到指定行:“ctrl + g” 列出光标所在行的行号;“#G” 移动光标至文章的第 #行行首📏。

 

2.5 vim 末行模式命令集

  • 行号操作“set nu” 在文件每一行前面列出行号📃
  • 跳转操作:在冒号后输入数字并回车,可跳到指定行,如输入 “15” 回车,跳到文章第 15 行🚀。
  • 查找操作:“/ 关键字” 向后查找字符,按 “n” 继续向后查找;“? 关键字” 向前查找字符,按 “n” 继续向前查找🔍。
  • 文件操作“w” 保存文件;“q” 退出,“q!” 强制退出;“wq” 保存并退出🚪

2.6 vim 操作总结

vim 主要有正常、插入、底行三种模式,涵盖打开、关闭、查看、查询、插入、删除、替换、撤销、复制等丰富操作。用户可通过不断练习,熟练掌握模式切换与各种操作,提升文本编辑效率💪。

2.7 简单 vim 配置

  • 配置文件位置:系统公共配置文件为 /etc/vimrc,对所有用户有效。每个用户主目录下可创建私有配置文件.vimrc,如 /root 目录下通常有此文件,若不存在可创建📂。
  • 常用配置选项:“syntax on” 设置语法高亮;“set nu” 显示行号;“set shiftwidth = 4” 设置缩进空格数为 4✨。
  • 使用插件可安装插件完善 vim 功能。如安装 TagList 插件,下载解压后,将 doc 内容放至~/.vim/doc,plugin 内容拷贝到~/.vim/plugin,在.vimrc 中添加相关配置。安装 WinManager 插件同理,下载解压后进行相应文件放置与配置🎁。


熟练掌握 yum 和 vim 是 Linux 开发者迈向高效开发的重要一步🎉,后续可进一步探索更多 Linux 开发工具,不断提升开发能力与效率💪 

 如果在学习过程中有任何疑问或建议,欢迎随时交流分享哦😉! 👉【A Charmer】

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/496551.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++--------继承

一、继承的基本概念 继承是 C 中的一个重要特性&#xff0c;它允许一个类&#xff08;派生类或子类&#xff09;继承另一个类&#xff08;基类或父类&#xff09;的属性和方法。这样可以实现代码的重用和建立类之间的层次关系。 #include <iostream>// 基类 class Base…

Doris的SQL原理解析

今天来介绍下Doris的SQL原理解析&#xff0c;主要从语法、解析、分析、执行等几个方面来介绍&#xff0c;可以帮助大家对Doris底层有个清晰的理解~ 一、Doris简介 Apache Doris是一个基于MPP架构的高性能、实时的分析型数据库&#xff0c;能够较好的满足报表分析、即席查询、…

HarmonyOS NEXT 实战之元服务:静态多案例效果(一)

背景&#xff1a; 前几篇学习了元服务&#xff0c;后面几期就让我们开发简单的元服务吧&#xff0c;里面丰富的内容大家自己加&#xff0c;本期案例 仅供参考 先上本期效果图 &#xff0c;里面图片自行替换 效果图1代码案例如下&#xff1a; import { authentication } from…

Elasticsearch:normalizer

一、概述 ‌Elastic normalizer‌是Elasticsearch中用于处理keyword类型字段的一种工具&#xff0c;主要用于对字段进行规范化处理&#xff0c;确保在索引和查询时保持一致性。 Normalizer与analyzer类似&#xff0c;都是对字段进行处理&#xff0c;但normalizer不会对字段进…

零基础微信小程序开发——页面导航之编程式导航(保姆级教程+超详细)

&#x1f3a5; 作者简介&#xff1a; CSDN\阿里云\腾讯云\华为云开发社区优质创作者&#xff0c;专注分享大数据、Python、数据库、人工智能等领域的优质内容 &#x1f338;个人主页&#xff1a; 长风清留杨的博客 &#x1f343;形式准则&#xff1a; 无论成就大小&#xff0c;…

计算机网络 (10)网络层

前言 计算机网络中的网络层&#xff08;Network Layer&#xff09;是OSI&#xff08;开放系统互连&#xff09;模型中的第三层&#xff0c;也是TCP/IP模型中的第二层&#xff0c;它位于数据链路层和传输层之间。网络层的主要任务是负责数据包从源主机到目的主机的路径选择和数据…

云计算时代携程的网络架构变迁

大家觉得有意义和帮助记得及时关注和点赞!!! 前言关于我0 关于携程云 网络演进时间表1 个基于 VLAN 的 L2 网络 1.1 要求1.2 解决方案&#xff1a;OpenStack Provider Network Model1.3 硬件网络拓扑1.4 主机网络拓扑1.5 总结 优势劣势2 个基于 SDN 的大型 L2 网络 2.1 新挑战2…

C#控件开发3—文本显示、文本设值

目录 1.文本设置1&#xff09;定义属性2&#xff09;定义事件 2.本文显示1) 定义属性2&#xff09;定义事件 End 如何绘制一个便捷的文本显示组件、文本设值组件&#xff08;TextShow,TextSet&#xff09;&#xff1f; 绘制此控件的目的就是方便一键搞定标签显示&#xff08;可…

SuperMap iDesktopX填补三维可视化地图海岸地形

kele 前言 在做沿海城市三维可视化地图时&#xff0c;会遇到这样一种现象&#xff1a;DEM数据与国家天地图官网的行政区边界不一致&#xff0c;使得三维可视化地图&#xff0c;出现如下图地形缺失现象&#xff1a; 一、原因分析 这是由于海岸线地区受地形精度、采集时间、沙…

代码随想录Day56 108. 冗余连接,109. 冗余连接II。

1.冗余连接 卡码网题目链接&#xff08;ACM模式&#xff09;(opens new window) 题目描述 有一个图&#xff0c;它是一棵树&#xff0c;他是拥有 n 个节点&#xff08;节点编号1到n&#xff09;和 n - 1 条边的连通无环无向图&#xff08;其实就是一个线形图&#xff09;&am…

MySQL外键类型与应用场景总结:优缺点一目了然

前言&#xff1a; MySQL的外键简介&#xff1a;在 MySQL 中&#xff0c;外键 (Foreign Key) 用于建立和强制表之间的关联&#xff0c;确保数据的一致性和完整性。外键的作用主要是限制和维护引用完整性 (Referential Integrity)。 主要体现在引用操作发生变化时的处理方式&…

双指针——查找总价格为目标值的两个商品

一.题目描述 LCR 179. 查找总价格为目标值的两个商品 - 力扣&#xff08;LeetCode&#xff09; 二.题目解析 这个题目非常简单&#xff0c;其实就是判断有没有两个数加起来等于target。 三.算法解析 1.暴力解法 暴力解法的话我们可以枚举出所有的情况&#xff0c;然后判…

使用 HTML5 Canvas 实现动态蜈蚣动画

使用 HTML5 Canvas 实现动态蜈蚣动画 1. 项目概述 我们将通过 HTML 和 JavaScript 创建一个动态蜈蚣。蜈蚣由多个节段组成&#xff0c;每个节段看起来像一个小圆形&#xff0c;并且每个节段上都附带有“脚”。蜈蚣的头部会在画布上随机移动。 完整代码在底部&#xff01;&…

Unity2021.3.16f1可以正常打开,但是Unity2017.3.0f3却常常打开闪退或者Unity2017编辑器运行起来就闪退掉

遇到问题&#xff1a; 从今年开始&#xff0c;不知道咋回事&#xff0c;电脑上的Unity2017像是变了个人似得&#xff0c;突然特别爱闪退掉&#xff0c;有时候还次次闪退&#xff0c;真是让人无语&#xff0c;一直以来我都怀疑是不是电脑上安装了什么别的软件了&#xff0c;导致…

深度学习中的并行策略概述:2 Data Parallelism

深度学习中的并行策略概述&#xff1a;2 Data Parallelism 数据并行&#xff08;Data Parallelism&#xff09;的核心在于将模型的数据处理过程并行化。具体来说&#xff0c;面对大规模数据批次时&#xff0c;将其拆分为较小的子批次&#xff0c;并在多个计算设备上同时进行处…

如何快速找到合适的科学问题

前面已经讲过 如何快速判断学术论文质量与相关性 如何描述科学问题&#xff1f;从“术”入手&#xff0c;悟出属于自己的“道” 医学图像分割任务中的典型科学问题 如何快速肝论文&#xff1f; 博士论文的写作架构 这些内容分别阐述了 如何找到重要的相关论文 找到科学问…

如何为运行在 PICO 4 Ultra 设备上的项目设置外部文件读写权限?

PICO 4 Ultra 系列设备使用的安卓操作系统为 Android 14。当项目的 Write Permission 为 Externa (SDCard) 且 Android API Level 大于 32 时&#xff0c;Unity 提供的外部文件读取方式在 PICO 4 Ultra 设备上将失效。此问题提供两种解决方法&#xff0c;按实际情况选取。 解决…

MacOS安装Xcode(非App Store)

文章目录 访问官网资源页面 访问官网资源页面 直接访问官网的历史版本下载资源页面地址&#xff1a;https://developer.apple.com/download/more/完成APP ID的登陆&#xff0c;直接找到需要的软件下载即可 解压后&#xff0c;安装将xcode.app移动到应用程序文件夹。

OpenLinkSaas使用手册-Git工具

在OpenLinkSaas的工具箱里面&#xff0c;最基础的一个就是Git仓库管理。Git仓库功能让git使用更加简单和强大&#xff0c;不仅可以使用常规的commit/pull/push/branch等功能外&#xff0c;还连接了Git仓库供应商的能力。 OpenLinkSass支持使用国内主流的Git仓库供应商的账号登录…

.NET平台用C#通过字节流动态操作Excel文件

在.NET开发中&#xff0c;通过字节流动态操作Excel文件提供了一种高效且灵活的方式处理数据。这种方法允许开发者直接在内存中创建、修改和保存Excel文档&#xff0c;无需依赖直接的文件储存、读取操作&#xff0c;从而提高了程序的性能和安全性。使用流技术处理Excel不仅简化了…