yum和vim工具的使用

news2024/12/28 18:24:54

目录

    yum工具的使用

    yum下载原理

    软件的查找&下载&删除操作

     查找lrzsz软件(文件上传或者下载软件)

    下载lrzsz软件

    删除lrzsz软件

  vim工具的使用

    vim命令模式

  命令模式与光标相关的快捷键:

   插入模式

     底行模式

  在本次的博客当中我们主要来认识一下yum和vim工具的使用,其中以vim工具的使用介绍为主。

    yum工具的使用

  在Linux系统当中我们要想安装文件其实并不简单,我们可以安装一个源码的文件,通过执行x权限运行这个程序。但是这样有点麻烦我们需要找到源码之后进行编译才可以使用。我们肯定会想有没有一种像是软件商店一样的工具,让我们下载指定的软件之后就可以运行使用了呢?

  当然有,这个工具指的就是yum。yum的作用其实等价于我们的应用商店,我们可以通过yum下载一系列软件。

    yum下载原理

  yum看起来就是一个很简单的命令,怎么会起到软件商店的功能呢?

  其实yum的就是一个管理着许多软件下载地址的文件。下载软件也并不是直接在yum当中下载的,而是通过yum找到指定软件的下载地址,之后通过这个地址进行下载的。我们将这个步骤叫做映射。

  根据我们的生活常识可以知道:想要下载一个软件肯定需要联网,使用yum进行下载也需要满足这个条件。yum在通过一定的地址找到指定的软件之后相当于访问特定的网站下载的软件。我们可以通过ping命令检查Linux机器的联网情况:

  当我们的界面显示是这样的,就代表我们已经联网。在Linux正常使用的情况下,使用云服务器的用户可以省略对网络的检查,需要着重检查的是使用虚拟机的用户。 

  需要提出的是:yum其中的映射的网站最多的是国外的网站,所以下载的时候可能会很慢,要想加快我们的下载速度,我们可以更改我们的yum的映射源。

    软件的查找&下载&删除操作

  想要下载软件的第一步肯定是找到指定的软件,所以我们要通过指定的命令查找到我们想要下载的软件。举一个简单的例子:

     查找lrzsz软件(文件上传或者下载软件)

   我们需要通过yum list | grep lrzsz 指令进行查找。其中list可以将yum当中存储的所有的软件都显示出来,之后通过管道符进行进一步的处理,找到指定的软件全程,就比如下图的:lrzsz.x86_64

    下载lrzsz软件

  之后我们需要通过下载指令,执行下载操作。   指令为yum install -y lrzsz 。需要注意的是在下载软件的时候我们需要使用root权限,因此尽量使用root用户执行上述操作。其中的-y选项表示不需要询问是否下载。当我们的软件已经被安装完毕之后就会显示:already installed and latest version Nothing to do 的显示。我们可以尝试lrzsz软件向Linux服务器当中上传一个文件。

 

   我们可以使用直接拖拽的方式将文件直接拉到Linux窗口当中,也可以通过指令的形式使用 rz 指令选择指定的文件进行传输,也可以使用 sz 指令将Linux当中的文件传输到我们经常使用的Windows系统当中。

    删除lrzsz软件

  有下载软件就一定会有删除软件,我们可以使用 yum remove -y lrzsz 进行删除我们之前下载的软件。

  运行完成指令之后,我们会发现其中有removed的显示,最后complete表示卸载完成。之后重新运行rz指令,我们会发现指令已经无法运行。

  我们可以使用上述yum相关的命令,执行对软件的安装和删除操作。

  vim工具的使用

  vim作为Linux当中的文件编辑工具,我们可以使用vim对文本文件或者对代码进行编写。

  vim工具分为三种模式:命令模式,插入模式,底行模式。

  在命令模式当中我们可以对文本进行快速的修改,比如文本删除,文本复制,文本粘贴等操作。在插入模式当中我们可以对文本进行快速的编写,相当于一个记事本。在底行模式当中我们可以对vim进行一定的配置,以及修改等操作。比如为vim工具加上行号,以及提示符等操作。

  首先我们刚进入vim的时候,默认打开的都是命令模式,之后输入i,o,a三个键当中的任意一个键就可以从命令模式进去到插入模式当中。进入插入模式之后我们就可以开始编写对应的内容了,当内容编写完毕之后,按Esc就会退出插入模式。如果我们想要进入底行模式的话,只需要先返回命令模式,之后再输入:就可以执行我们想要的内容了。

    在初步了解了vim工具之后我们就可以来一步步认识vim工具的使用方法了。

    vim命令模式

  在vim的命令模式当中,我们最主要需要进行的就是对文本文件进行更改操作。

  命令模式与光标相关的快捷键:

  因为在Linux平台之下我们不能够向Windows平台当中使用鼠标进行点击来移动输入的位置,所以对于一个长文本文件,如果只使用上下左右来改变光标的位置的话就会显得很繁琐。所以为了简化我们对文本文件的使用,我们会使用一些快捷键来辅助我们工作。

h(光标左移)l(光标右移)
j(光标下移)l(光标上移)
shift+^(光标移到行首)shift+$(光标移到行尾)
gg(光标移动到起始行)shift+g(光标移动到结束行)
n+shift+g(光标跳到指定行)b/w(按照单词为单位向前,后移动光标位置)

  灵活的使用快捷键可以帮助我们快速的移动光标进行文件的编辑。

  除了对光标位置进行调节的快捷键,还有对文本进行快捷操作的方式(同样是采用快捷键对文本快速修改): 

yy(复制光标所在的当前行)n+yy(复制光标所在的后面n行)
dd(删除光标所在的当前行)n+dd(删除光标所在的后面n行)
p(粘贴之前复制的文本内容)n+p(粘贴n次复制的内容)
dd+p(相当于剪切功能)shift+~(对文本进行大小写转换)
r(对文本内容进行替换)n+r(对文本后面n个字符进行文本替换)
shift+r(替换模式,可无限长度对后面内容进行替换)x(对光标之后的内容进行删除,一字符为单位)
u(对之前进行的操作进行删除)ctrl+r(撤销之前的撤销操作,即返回之前的文本)

  在命令模式使用快捷键可以帮助我们快速修改我们的文本文件。我们需要多加练习,熟练掌握。

   插入模式

  至于插入模式就简单多了,我们进行的操作也以编写文件内容为主。就像正常在一个记事本当中编写文件时一样,直接书写进入指定的内容即可。

  需要注意的是想要从命令模式转入到插入模式当中,需要按 i 或 o 或 a 这三个按键当中的任意一个。当右下角显示 insert 标志即可。

  当我们按动Esc按键之后就会重新从插入模式退出到命令模式当中。

     底行模式

  底行模式的主要作用就是配置vim的编辑风格。比如说在编辑的时候为我们的文本文件加上行号,提供我们写代码时候的必要的提示,提供缩进等功能。我们只要配置好了vim之后可以很大程度上为我们代码的编写提供便利。

  没有经过配置的文本编辑器是这样的,看起来很突兀,就是一个简单的黑框框。

  我们可以在命令模式当中按:切换到底行模式。通过指令进行vim工具的配置。

  其中设置行号的当时为:set nu 

  设置完行号的文本文件样式为:

  如果我们想要取消行号可以通过:set nonu进行取消。

  在我们正常的代码编写当中,只有一个行号似乎并不能为我们提供多少便利,所以我们还需要进行其他vim相关功能的配置。由于一项一项功能的配置有点麻烦,所以可以通过其他人编写好的配置文件进行简便的配置。其中最简便的方式为:

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

  我们只需要在底行模式当中,输入这行内容系统就会自动为我们的vim工具进行相应的配置,配置之后的效果如下:

  当我们在编写代码的时候会产生相应的配色,以及行号的标记。

   以及相应的语言提示符,这样的功能就很符合我们日常使用的编译器了。每个用户只需要进行依次配置即可。每个用户的配置都不相互影响,由于root用户具有极大的权限。为了对Linux系统产生一系列不必要的修改,我们不建议对root用户进行上述配置,只需要对我们创建的普通用户进行修改即可。

  在底行模式当中虽然对vim工具的配置工作很重要,但是最主要的使用方式并不是这样的。我们对vim工具的配置只需要进行一次即可。

  其中最重要的是vim的退出,以及多文件的打开。如果我们想要退出vim工具的话,就需要进入我们的底行模式,也就是在我们的命令行模式当中输入:之后我们可以选择我们的退出方式。

  其中w表示保存,q表示退出,!表示强制进行上述操作。例如:w!表示强制保存,q!表示强制退出,wq!表示强制保存并退出等等。

  如果我们想要在vim工具当中同时打开多个文件,也需要在底行模式执行相应的操作。我们需要在底行模式输入vs加上文件名,之后就可以打开一个新的文件。例如:

  同时,按住ctrl+w+w可以在打开的多个文件当中进行转换,光标所处的位置就是我们更改文件的位置,使用这个方法我们可以做到同时编辑多个文件。

  其中在底行模式还有很多简单的操作功能可以使用,比如:

  skill1:如果我们想要直接跳转到指定行的位置,我们可以先输入一个#,之后输入:后面输入我们想要跳转的行数就可以了。

  输入的#可能不会显示的表现出来,但是我们可以看到效果确实跳转到了我们想要查找的位置。

  skill2:我们还可以输入特定的指令,用于查找指定的文本内容。例如我们可以先输入一个/后面跟我们想要查找的内容就会直接跳转到和我们查找内容相同的位置,假如该目标并不是我们想要查找的对象还可以按 n 进一步跳转选择,知道找到目标为止。

  同样的也是发挥查找功能的还有?,在?后面同样需要添加我们想要查找的指定的内容,同样可以通过n进行进一步选择。但是?和 / 查找的不同就在于:?是从光标的位置开始从后向前查找,但是 / 的作用是从光标的位置开始从前向后查找。

  那么我们本次博客的内容也就到此结束了,感谢您的观看。

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

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

相关文章

C#/Unity3D 单例模板(单例属性模板)

C# 单例单例属性 不做过多解释&#xff0c;非面向大众 using System; namespace EasyAVG {public static class SingletonProperty<T> where T : class{private static readonly object locker new object();private volatile static T instance null;public static…

一篇文章成为递归大神:MySQL递归查询(with recursive)

理论原理 1、MySQL with Recursive是什么&#xff1f; MySQL with Recursive是一种基于递归思想的MySQL查询方式&#xff0c;可以实现对数据的递归查询和处理&#xff0c;返回符合条件的数据。在MySQL 8.0版本中&#xff0c;该功能被正式引入。 2、MySQL with Recursive有什么…

【100天精通Python】Day65:Python可视化_Matplotlib3D绘图mplot3d,绘制3D散点图、3D线图和3D条形图,示例+代码

1 mpl_toolkits.mplot3d 功能介绍 mpl_toolkits.mplot3d 是 Matplotlib 库中的一个子模块&#xff0c;用于绘制和可视化三维图形&#xff0c;包括三维散点图、曲面图、线图等。它提供了丰富的功能来创建和定制三维图形。以下是 mpl_toolkits.mplot3d 的主要功能和功能简介&am…

xxe攻击(XML外部实体)

1.定义 XML用于标记电子文件使其具有结构性的标记语言&#xff0c;可以用来标记数据、定义数据类型&#xff0c;是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义&#xff08;可选&#xff09;、文档元素。 http://www.w3school.com.…

Spring学习笔记9 SpringIOC注解式开发

Spring学习笔记8 Bean的循环依赖问题_biubiubiu0706的博客-CSDN博客 注解的存在主要是为了简化XML的配置.Spring6倡导全注解式开发 回顾下 注解怎么定义,注解中的属性怎么定义 注解怎么使用 通过反射机制怎么读取注解 注解的自定义 注解的使用 通过反射机制怎么读取注解 I…

顺序表的实现和练习

杂谈&#xff1a; 有些数据结构&#xff08;C语言实现&#xff09;的教材/教程中会使用C中引用的语法&#xff0c;引用确实在形式上比指针简洁&#xff0c;这样做无非是为了避免后续对二级指针的使用。 我认为既然使用C语言实现数据结构&#xff0c;那么指针就不应该是门槛。…

【动手学深度学习-Pytorch版】序列到序列的学习(包含NLP常用的Mask技巧)

序言 这一节是对于“编码器-解码器”模型的实际应用&#xff0c;编码器和解码器架构可以使用长度可变的序列作为输入&#xff0c;并将其转换为固定形状的隐状态&#xff08;编码器实现&#xff09;。本小节将使用“fra-eng”数据集&#xff08;这也是《动手学习深度学习-Pytor…

[论文分享] How to Better Utilize Code Graphs in Semantic Code Search?

How to Better Utilize Code Graphs in Semantic Code Search? [ESEC/FSE 2022] 语义代码搜索极大地促进了软件的重用&#xff0c;使用户能够找到与用户指定的自然语言查询高度匹配的代码片段。由于代码图(如控制流图和程序依赖图)丰富的表达能力&#xff0c;两种主流的研究工…

【Gradle-9】Gradle插件发布指南

1、前言 不管是在公司内部&#xff0c;还是开源&#xff0c;Gradle插件发布都是一项必备的技能&#xff0c;本文主要介绍本地发布和远端发布两种方式。 2、本地发布 2.1、添加依赖 在plugin>build.gradle文件中&#xff08;插件的项目&#xff09;先依赖一个maven发布的…

分布式搜索引擎Elasticsearch

一、Elasticsearch介绍 1.Elasticsearch产生背景 大数据量的检索NoSql: not only sql,泛指非关系型的数据库Nginx的7层负载均衡和4层负载均衡2.Elasticsearch是什么 一个基于Lucene的分布式搜索和分析引擎,一个开源的高扩展的分布式全文检索引擎 Elasticsearch使用Java开发…

零基础也能制作小说推文视频,输入文案就能制作推文短视频

小说推文视频一直是各类写手们追捧的创作方式之一&#xff0c;而如何制作出优质、吸引人的小说推文视频成了许多人关注的焦点。幸运的是&#xff0c;现在有了一款名为推文视频制作神器&#xff0c;让制作小说推文视频变得轻松简单。 这款小说推文视频神器的功能十分强大&#…

山西电力市场日前价格预测【2023-09-25】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-09-25&#xff09;山西电力市场全天平均日前电价为442.30元/MWh。其中&#xff0c;最高日前电价为720.46元/MWh&#xff0c;预计出现在19: 00。最低日前电价为276.06元/MWh&#xff0c;预计…

AUTOSAR 多核操作系统时序监控系统设计

AUTOSAR 多核操作系统时序监控系统设计 0 引言1 AUTOSAR 介绍1.1 AUTOSAR 诞生1.3 AUTOSAR 架构 2 时序监控系统软硬件介绍2.1 硬件部分2.2 软件部分 3 时序监控系统设计3.1 监控系统整体设计3.2 监控数据获取3.3 监控数据存储3.4 监控数据处理 3.5 还原运行时序5 推动 5G工业互…

3D点云目标检测:Centerformer训练waymo数据集

一、环境准备 项目地址:centerformer 1.0、基础环境 python 3.8.0 torch 1.9.1cu111 waymo-open-dataset-tf-2-6-0 1.4.9 spconv 1.2.1 其余按照requirement.txt里安装就行 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt由于我本人是在…

uniapp、vue实现滑动拼图验证码

uniapp、vue实现滑动拼图验证码 实际开发工作中&#xff0c;在登陆的时候需要短信验证码&#xff0c;但容易引起爬虫行为&#xff0c;需要用到反爬虫验证码&#xff0c;今天介绍一下拼图验证码&#xff0c;解决验证码反爬虫中的滑动验证码反爬虫。滑动拼图验证码是在滑块验证码…

QLineEdit设置数据的输入范围QIntValidator和QDoubleValidator

在日常开发过程中QLineEdit作为输入框&#xff0c;有时要限制输入的内容&#xff0c;比哪&#xff0c;考试分数为0-100&#xff0c;这个时候就使用QIntValidator作为限制范围&#xff0c;而如何输入的是带小数的呢&#xff0c;那么使用QDoubleValidator可以吗&#xff0c;下面请…

ipad触控笔有必要买原装吗?ipad2023手写笔推荐

目前&#xff0c;在无纸教学、无纸办公的大背景下&#xff0c;电容笔得到了广泛的关注。只是&#xff0c;对于这两支电容笔的不同之处&#xff0c;不少人并不是很清楚。其实这两种电容笔都很好区分&#xff0c;第一种是主动电容笔&#xff0c;也就是我们常用的电容式屏幕&#…

安全生产一张图 安全生产三维地理信息平台

一、 建设目标 易图讯科技是一家专业从事大数据、移动互联网、物联网、三维GIS、AI系统研发&#xff0c;开发了三维电子沙盘、AI三维电子沙盘、WEB三维地球、移动端三维地球、数字武装三维电子沙盘、智慧动员三维电子沙盘、智慧公安三维电子沙盘、智慧安监三维电子沙盘、森林防…

vue重修003

文章目录 版权声明day03一、今日目标1.生命周期2.综合案例-小黑记账清单3.工程化开发入门4.综合案例-小兔仙首页 二、Vue生命周期三、Vue生命周期钩子四、生命周期钩子小案例1.在created中发送数据2.在mounted中获取焦点 五、案例-小黑记账清单1.需求图示&#xff1a;2.需求分析…

Maven项目在pom.xml里配置远程仓库

如图:作用 在项目的 pom.xml 文件中配置了 <repositories> 元素&#xff0c;Maven会优先使用项目级别的仓库配置&#xff0c;而不会查找全局设置文件中的仓库配置。换句话说&#xff0c;项目级别的配置会覆盖全局设置文件中的仓库配置。 这意味着当在项目的 pom.xml 文…