【Linux基础开发工具】yum生态vim的配置与使用

目录

前言 

1. Linux 软件包管理器 yum

  1.1 什么是yum

 1.2 快速上手yum

 1.3 yum生态

2. Linux编辑器vim

2.1 vim的模式

2.2 vim使用技巧

3. vim编辑器辅助功能配置

3.1 配置

 3.2 用户sudo权限配置

 总结


前言 

        Linux基础指令与权限之后,Linux系统开发工具的使用也至关重要,今天我将分享一些优化Yum生态和Vim配置与使用相关内容,帮助你打造一个高效的Linux开发环境。

在这里插入图片描述

1. Linux 软件包管理器 yum

       在Linux系统的使用中难免需要安装一些软件,安装软件的方式有三种:

  • 源代码安装(下载到程序的源代码, 并进行编译, 得到可执行程序)
  • rpm包直接安装(使用较为复杂,国外资源下载较慢)
  • yum /apt-get

 前两种的安装方式过于复杂,为了解决安装软件麻烦的问题,于是便有了yum。

  1.1 什么是yum

       Yum (Yellowdog Updater Modified)是一个在Linux操作系统上管理软件包的工具,主要应用在Fedora、RedHat、Centos等发行版上 。Yum生态中包含了许多官方和第三方的软件包仓库,用户可以通过Yum来管理这些软件包仓库中的软件包。

yum:yum是Linux预装的一个指令,搜索、下载、安装对应的程序。

也可以理解为:yum就相当于Linux的应用商店

 1.2 快速上手yum

  • yum list

显示配置的仓库中所有可用软件包的列表

还可以使用特定选项来过滤 "yum list" 的输出

比如:

yum list installed 只显示已安装的软件包

  •  yum install [-y] command

它是在 Linux 系统中使用 Yum 软件包管理器安装软件的命令

  • "yum install" 后面跟着要安装的软件包名称或软件包的 URL
  • "-y" 是一个可选的参数,表示在安装软件包时不需要用户确认,直接自动确认安装
  • "command" 是要安装的软件包的名称或 URL。这个命令会让 Yum 软件包管理器自动下载并安装指定的软件包

在安装一些软件包时,如果yum没有,这时可以尝试安装一下yum的扩展包:

yum install -y epel-release
  • yum remove command

 用于卸载已安装的软件包的命令

注意:

它会删除指定的软件包及其相关的依赖项,同时也会删除软件包安装时创建的配置文件和数据文件

 1.3 yum生态

       我们知道yum是 Linux 软件包管理器,那么问题来了,yum从哪里获取软件,软件源又是什么,它又是怎么获取的呢?

 如下图:

 当输入指令时,yum会发送请求给远端仓库,根据指令信息,在远端仓库进行搜索,然后进行反馈。

yum源又是什么?怎么来的呢?

为了方便一些软件的下载,国内的一些组织会将国外的软件提前下载,放在远端的仓库供用户使用,我们也可以在我们的Linux机器上查看我们的远端仓库。

vim /etc/yum.repos.d/CentOS-Base.repo

        这里可以看到我的yum源是阿里云的远端仓库。当然yum源也是可以更改的,这里不再进行详细介绍,yum也是通过这个链接去访问远端仓库下载。

2. Linux编辑器vim

       vim是一个高度可定制的文本编辑器,通常用于在Linux系统上进行编程和文本编辑。它具有许多强大的功能。

 我们在Linux上敲代码几乎都是使用的vim编辑器。

 启动编辑器:

vim + "文件名"

 如果在使用vim指令时出现错误无法使用,那很可能是vim没有安装,安装指令:

sudo yum install vim

 我们启动vim编辑器进入到一个文件后,我们按键盘上的键会没有反应,有的有反应,但不是我们想要的效果等这些情况,这都是由于不熟悉vim编辑器的原因。

2.1 vim的模式

 vim编辑器有好多种模式,这里我们只介绍三种模式,以供我们的基本使用。

 在进行文本编辑操作时,我们做常用的也就三种模式:

  • 命令模式
  • 插入模式
  • 底行模式

 我们使用vim编辑器打开一个文件时,默认是在命令模式

 转换关系如下:

如果在使用vim的过程中遇到这样的情况:

 这是因为vim异常关闭造成的,在底行我们可以看到一行选项,‘R’-->shift +r,可以恢复文件内容,但是下次打开还是这样的页面。

这是因为vim在异常关闭时会产生一个临时文件:

 ‘D’->shift +d选项可以删除这个文件,这时再次使用vim打开code.c就正常了,或者自己手动删除

 注意:以 .(点)开头的文件是隐藏文件(ls -al指令可以查看到隐藏文件)

 命令行常用指令:

  • shift +&:光标定位到当前行最右侧结尾处
  • shift + ^:光标定位到当前行最左侧开头处
  • shift + g:光标定位到文本行最结尾
  • n+shift + g:光标定位到n指定行的开头
  • gg:光标定位到文本最开始
  • h:光标左移
  • j:光标下移
  • k:光标上移
  • l:光标右移
  • w:按照 “ 单词 ” 在行内向后移动
  • b:按照 “ 单词 ” 在行内向前移动
  • n+yy:复制当前行/多行(n指定复制行数,单行操作时可以不加数字n)
  • n+p:在下一行进行粘贴/多行(n指定粘贴次数,(单行操作时可以不加数字n)
  • u:撤销编辑操作(undo)
  • ctrl+r:对撤销进行插销
  • n+dd:剪切(删除)当前行/多行(单行操作时可以不加数字n)
  • shift+`-> ~:大小写进行快速切换
  • n+r:替换当前光标所在的字符
  • shift +r ->R:替换模式
  • n+x:删除光标所在字符(n指定删除的字符个数,向右删除)
  • n+shift+x:删除光标所在字符(向左删除)
  • shift +3 ->#:高亮要查找的函数名
  • n:下一个查找的函数/字符串名

底行模式:

  • w:保存写入
  • q:退出
  • wq:保存并退出
  • wq!:强制保存并退出(!为强制进行,可与上述底行命令结合使用)
  • !command:在底行模式进行命令操作

执行完一次操作后:按enter键或键入命令继续

 在底行模式下还可以创建文件:

 在底行模式创建的文件如果没有w指令,只用:q退出并不会实质性创建文件。

 创建文件后我们发现出现了多个窗口,并且他们是同一个底行,那底行输入到底是哪个窗口的?

光标所在界面就是我们所编辑的页面

  •  ctrl +ww:切换窗口
  • set nu:添加行号
  • set nonu:撤销行号

2.2 vim使用技巧

        我们使用vim主要是用来编写代码,那么批量注释和批量去注释是我们经常用的,那么怎么在Linux的vim模式下批量注释代码呢?

批量注释步骤如下:

  1. ctrl +v(默认命令模式进行)
  2. hjkl区域选择
  3. shift+i->I(此时会进入插入模式)
  4. //
  5. Esc

 批量去注释:

  1. ctrl+v
  2. hjkl区域选择
  3. d

3. vim编辑器辅助功能配置

         在Linux环境下,每个用户都可以配置自己的vim编辑器,示例将会在普通用户下进行

 在每个用户的家目录下一般情况下是没有.vimrc文件的。

         .vimrc文件是用来配置Vim编辑器的用户自定义配置文件。用户可以在这个文件中设置Vim的各种参数、键盘映射、颜色方案、插件等。这样在启动Vim时,会自动加载这个文件中的配置

 每个用户可以在自己的家目录下创建一个.vimrc文件并进行配置

 注意:Linux系统下自带有.vimrc文件的,在ect目录下,这个配置文件是root用户所使用的

3.1 配置

 在用户家目录下创建一个 .vimrc文件(cd ~进入自己的家目录)

 使用vim编辑器打开 .vimrc文件进行编辑(文件默认为空)

以下是一些编程常用指令的配置:

set nu                    " 显示行号
set cursorline            " 突出显示当前行
hi Cursorline cterm=bold ctermbg=black ctermfg=green guibg=green "粗体显示选中行,用黑色框,字体标绿
set autoindent           " 自动缩进
set cindent
set tabstop=4            " Tab键的宽度
set softtabstop=4        " 统一缩进为4
set shiftwidth=4
"括号补齐
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {}<ESC>i
inoremap " ""<ESC>i

 3.2 用户sudo权限配置

 我们已经基本了解了vim,现在可以使用vim编辑器来配置普通用户的sudo权限

  • 切换到root用户下(sudoers文件只有root可以修改),使用vim编辑器打开sudoers文件
vim /etc/sudoers
  •  打开之后向下移动光标找到## Allow root to run any commands anywhere的位置

  •  复制root那一行,粘贴到root的下一行,将root名字改为自己要添加sudo权限的用户名字即可

 总结

        本期的内容操作的内容非常多,向大家分享了许多vim编辑器使用的技巧,大家私下可以实操一下,能够使用好vim编辑器可以让我们更高效的工作学习,好了以上便是本期的全部内容。最后,感谢阅读!

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

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

相关文章

【SparkSQL】DataFrame入门(重点:df代码操作、数据清洗API、通过JDBC读写数据库)

【大家好&#xff0c;我是爱干饭的猿&#xff0c;本文重点介绍DataFrame的组成、DataFrame的代码构建、DataFrame的入门操作、词频统计案例、电影数据分析、SparkSQL Shuffle 分区数目、SparkSQL 数据清洗API、DataFrame数据写出、DataFrame 通过JDBC读写数据库&#xff08;MyS…

DHCP、ARP、FTP、DNS、VRRP、STP、报文交互流程

目录 一、DHCP 1、DHCP终结 1、DHCP discover 2、DHCP offer 3、DHCP request 4、DHCP ack 5、DHCP request 6、DHCP 续租 2、DHCP终结 二、ARP 1、ARP类型 动态ARP 静态ARP ARP代理 ARP代理的分类&#xff1a;路由式代理、VLAN内的ARP代理、VLAN间的ARP代理。 6…

行情分析——加密货币市场大盘走势(11.30)

大饼已经形成了底背离&#xff0c;即MACD往下走&#xff0c;而价格还在往上走&#xff0c;这种往往后续会大跌。我们继续把空单拿好&#xff0c;已经持仓的无需加仓。多次上涨都一直不能突破&#xff0c;也说明多空和空军力量都很强&#xff0c;等待后续出方向&#xff0c;而笔…

HarmonyOS入门开发(三) 持久化存储Preferences

接入鸿蒙几天以来&#xff0c;发现各种和Android不一样的地方&#xff0c;今天来看一下Preferences存储 在Android中比如有ShardPreferences、Mmkv这些持久化存储方式&#xff0c;开发起来很方便&#xff0c;读取速度也很快&#xff0c;在鸿蒙里面也提供了对应的持久化存储方案…

‘tsc‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

最近在用nodejs typescript 某游戏服务器在做一些研究 nodejs-tcs 问题描述&#xff1a; 1.使用命令npm install -g typescript安装typescript后&#xff0c;输入 tsc命令&#xff0c;一直报错 tsc 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。 2.目…

VBA代码解决方案第8讲:用FindPrevious进行重复搜索及利用LIKE查找

《VBA代码解决方案》(版权10028096)这套教程是我最早推出的教程&#xff0c;目前已经是第三版修订了。这套教程定位于入门后的提高&#xff0c;在学习这套教程过程中&#xff0c;侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码…

LeetCode(44)存在重复元素 II【哈希表】【简单】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 存在重复元素 II 1.题目 给你一个整数数组 nums 和一个整数 k &#xff0c;判断数组中是否存在两个 不同的索引 i 和 j &#xff0c;满足 nums[i] nums[j] 且 abs(i - j) < k 。如果存在&#xff0c;返回 true &#xf…

【UE】UEC++委托代理

【UE】UEC委托代理 一、委托的声明与定义 #pragma once#include "CoreMinimal.h" #include "GameFramework/GameModeBase.h" #include "DelegateGameMode.generated.h"// // Declare DECLARE_DELEGATE // DECLARE_DELEGATE(FDeclareDelegate_…

【Linux】:信号(一)产生

信号 一.前台进程和后台进程1.前台进程2。后台进程3.总结 二.自定义信号动作接口三.信号的产生1.键盘组合键2.kill信号进程pid3.系统调用1.kill函数2.raise函数3.abort函数 四.异常五.软件条件六.core文件 一.前台进程和后台进程 1.前台进程 一个简单的代码演示 像这种程序在…

java中反射知识点概念

这里写自定义目录标题 1.什么是反射--动态注入&#xff1f;2.反射的诞生背景3.反射的意义4.反射后可以做些什么5.反射相关的主要API6.反射的优缺点7.反射和不反射基础使用8.工厂模式使用反射8.1首先我们来看看不使用反射的情况&#xff1a;8.2使用反射的情况&#xff1a; 9.Jav…

Cesium.CustomShader颜色值显示错误

官方示例&#xff1a; Cesium Sandcastle 测试过程&#xff1a; 1、修改示例&#xff0c;把customshader中的fragmentShaderText替换为如下代码 void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {//注意&#xff1a;下述颜色的b值是0.1&#x…

智能配电箱监控系统

智能配电箱监控系统是一种用于实时监控配电箱运行状态和电能质量的系统。它通过集成应用物联网技术&#xff0c;实现对配电箱的数据采集、整合和处理&#xff0c;从而让工作人员能够远程了解和掌握配电箱的情况。通过电力设备的数字化&#xff0c;依托电易云-智慧电力物联网&am…

数字孪生3D场景开发工具:弥补不足,开拓全新可能

随着数字化时代的来临&#xff0c;越来越多的企业和行业开始探索数字孪生技术的应用。数字孪生是指通过数字技术将现实世界中的物体、场景等复制到虚拟世界中&#xff0c;以实现实时监测、预测和优化。然而&#xff0c;在数字孪生的发展过程中&#xff0c;一些不足也逐渐浮现。…

如何去选择合适的线缆测试仪?CAT8网线认证测试

如何去选择合适的线缆测试仪? 如果你是第三方检测单位&#xff0c;系统集成商&#xff0c;或者线缆生产厂家&#xff0c;我个人建议选择福禄克DSX系列无疑是比较保险的做法&#xff0c;因为考虑到福禄克在国内耕耘多年所积累起来的品牌知名度和口碑&#xff0c;选择一款大家都…

PHP程序员必备技能:OSS云存储实现教程!

近些年来&#xff0c;云存储的应用越来越广泛&#xff0c;阿里云的OSS云存储服务也在国内市场中占据了一席之地。在此基础上&#xff0c;本文将分享如何使用PHP实现OSS云存储。 首先&#xff0c;我们需要在阿里云官网上注册一个账号并创建一个OSS存储空间。创建步骤在官方文档…

振南技术干货集:各大平台串口调试软件大赏(4)

注解目录 &#xff08;串口的重要性不言而喻。为什么很多平台把串口称为 tty&#xff0c;比如 Linux、MacOS 等等&#xff0c;振南告诉你。&#xff09; 1、各平台上的串口调试软件 1.1Windows 1.1.1 STCISP &#xff08;感谢 STC 姚老板设计出 STCISP 这个软件。&#xf…

相机标定张正友、opencv和halcon对比(1)

本文将从基本标定开始&#xff0c;结合实际工作经验&#xff0c;分析张正友、opencv和halcon三者相机标定的深层原理与不同之处&#xff0c;内容比较多&#xff0c;如果出现错误请指正。 相机光学模型 我们使用的镜头都是由多组镜片组成&#xff0c;它实际上是一种厚透镜模型…

羊大师提问,为什么吃得越咸越容易出现健康问题?

羊大师提问&#xff0c;为什么吃得越咸越容易出现健康问题&#xff1f; 在现代社会中&#xff0c;有一种追求咸味食物的趋势&#xff0c;许多人都钟爱于吃咸味食物。吃咸味食物往往容易导致健康问题&#xff0c;引发各种疾病。那么为什么吃的越咸越容易生病呢&#xff1f; 今…

C++二分查找算法:132 模式枚举3

说明 本篇是视频课程的讲义&#xff0c;可以看直接查看视频。也可以下载源码&#xff0c;包括空源码。 本文涉及的基础知识点 二分查找算法合集 本题不同解法 包括题目及代码C二分查找算法&#xff1a;132 模式解法一枚举3C二分查找算法&#xff1a;132 模式解法二枚举2代码…