yum和vim工具的使用

目录

    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.xdnf.cn/news/141087.html

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

相关文章

The 2023 ICPC Asia Regionals Online Contest (1) E. Magical Pair(数论 欧拉函数)

题目 T(T<10)组样例&#xff0c;每次给出一个n(2<n<1e18)&#xff0c; 询问多少对&#xff0c;满足 答案对998244353取模&#xff0c;保证n-1不是998244353倍数 思路来源 OEIS、SSerxhs、官方题解 2023 ICPC 网络赛 第一场简要题解 - 知乎 题解 官方题解还没有…

相机One Shot标定

1 原理说明 原理部分网上其他文章[1][2]也已经说的比较明白了&#xff0c;这里不再赘述。 2 总体流程 参考论文作者开源的Matlab代码[3]和github上的C代码[4]进行说明&#xff08;不得不说还是Matlab代码更优雅&#xff09; 论文方法总体分两部&#xff0c;第一部是在画面中找…

Vue 使用vue-pdf 显示pdf文件 切换页面 缩放 全屏 自动播放等

<template><div id"container"><!-- 上一页、下一页--><div class"right-btn"><div click"toFullOrExit" class"turn-btn"><span>{{ isFull 1 ? "取消全屏" : "全屏" }}&l…

机器学习第十四课--神经网络

总结起来&#xff0c;对于深度学习的发展跟以下几点是离不开的: 大量的数据(大数据)计算资源(如GPU)训练方法(如预训练) 很多时候&#xff0c;我们也可以认为真正让深度学习爆发起来的是数据和算力&#xff0c;这并不是没道理的。 由于神经网络是深度学习的基础&#xff0c;学…

分类预测 | Matlab实现NGO-CNN-SVM北方苍鹰算法优化卷积支持向量机分类预测

分类预测 | Matlab实现NGO-CNN-SVM北方苍鹰算法优化卷积支持向量机分类预测 目录 分类预测 | Matlab实现NGO-CNN-SVM北方苍鹰算法优化卷积支持向量机分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现NGO-CNN-SVM北方苍鹰算法优化卷积支持向量机分类预…

32 随机链表的复制

随机链表的复制 题解1 哈希表题解2 回溯哈希哈希思路精简 题解3 优化迭代 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点…

操作系统权限提升(二十八)之数据库提权-SQL Server 数据库安装

SQL Server 数据库安装 SQL Server介绍 SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。…

Linux下git安装及使用

Linux下Git使用 1. git的安装 sudo apt install git安装完&#xff0c;使用git --version查看git版本 2. 配置git git config --global user.name "Your Name“ ##配置用户 git config --global user.email emailexample.com ##配置邮箱git config --global --list …

PHP后台实现微信小程序登录

微信小程序官方给了十分详细的登陆时序图&#xff0c;当然为了安全着想&#xff0c;应该加上签名加密。 微信小程序端 1).调用wx.login获取 code 。 2).调用wx.getUserInfo获取签名所需的 rawData , signatrue , encryptData 。 3).发起请求将获取的数据发送的后台。 login: …

面向面试知识-Redis

面向面试知识-Redis 什么是Redis 运行于内存的基于key-value的非关系型数据库。 一款开源的内存数据结构存储&#xff0c;用作数据库、缓存、消息代理等。&#xff08;可以基于Redis实现分布式锁、以及消息队列&#xff09; 发布订阅&#xff1f;&#xff1f; 对数据类型的操…

Jmeter接口测试

前言&#xff1a; 本文主要针对http接口进行测试&#xff0c;使用Jmeter工具实现。 Jmter工具设计之初是用于做性能测试的&#xff0c;它在实现对各种接口的调用方面已经做的比较成熟&#xff0c;因此&#xff0c;本次直接使用Jmeter工具来完成对Http接口的测试。 1.介绍什么是…

利用爬虫技术自动化采集汽车之家的车型参数数据

导语 汽车之家是一个专业的汽车网站&#xff0c;提供了丰富的汽车信息&#xff0c;包括车型参数、图片、视频、评测、报价等。如果我们想要获取这些信息&#xff0c;我们可以通过浏览器手动访问网站&#xff0c;或者利用爬虫技术自动化采集数据。本文将介绍如何使用Python编写…

使用Python做一个微信机器人

介绍 简介 该程序将微信的内部功能提取出来&#xff0c;然后在程序里加载Python&#xff0c;接着将这些功能导出成库函数&#xff0c;就可以在Python里使用这些函数 程序启动的时候会执行py_code目录下的main.py&#xff0c;类似于你在命令行使用python main.py。 现在会以…

011_第一代软件开发(三)

第一代软件开发(三) 文章目录 第一代软件开发(三)项目介绍带下知识点系统日志滤波器陷波滤波器带通滤波器 打印初始化调用打印机打印文件保存到PDF 总结一下 关键字&#xff1a; Qt、 Qml、 日志、 打印、 滤波器 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这…

rom修改----安卓系列机型如何内置app 如何选择so文件内置

系统内置app的需求 在与各工作室对接中操作单中&#xff0c;很多需要内置客户特定的有些app到系统里&#xff0c;这样方便客户刷入固件后直接调用。例如内置apk 去开机引导 去usb调试 默认开启usb安全设置等等。那么很多app内置有不同的反应。有的可以直接内置。有的需要加so…

【三、centOS安装后的基本配置】

Centos的ip地址设定&#xff0c;cmd查看 Windows: ipconfig 再到windows电脑的网络共享中心查看 设置虚拟机的IPv4&#xff0c;锁定本地电脑的ip地址和网关 再重启虚拟机机器&#xff0c;vi /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE"Ethernet" PROXY_MET…

JavaScript学习笔记05

JavaScript笔记05 操作 BOM 对象&#xff08;重点&#xff09; 什么是 BOM BOM&#xff08;Browser Object Model&#xff09;是指浏览器对象模型&#xff0c;是用于描述这种对象与对象之间层次关系的模型。浏览器对象模型&#xff08;BOM&#xff09;提供了独立于内容的、可…

设计模式再探——原型模式

目录 一、背景介绍二、思路&方案三、过程1.原型模式简介2.原型模式的类图3.原型模式代码4.原型模式深度剖析5.原型模式与spring 四、总结五、升华 一、背景介绍 最近在做业务实现的时候&#xff0c;为了通过提升机器来降低开发人员的难度和要求&#xff0c;于是在架构设计…

用Redis做数据排名

1.背景 用Redis做数据缓存用的比较多&#xff0c;大家都能熟练使用String和Hash结构去存储数据&#xff0c;今天讲下如何使用ZSet来做数据排名。 假设场景是需要按天存储全国城市的得分数据&#xff0c;可以查询前十名的城市排名。 这个case可以使用传统关系型数据库做…

【lesson7】git的介绍及使用

文章目录 什么是gitgit的历史git使用在gitee上创建仓库git clone HTTPS地址git add .git add 文件名git commit “日志”git pushgit loggit rm 文件名git statusgit pull 什么是git git是版本控制器&#xff0c;那么什么是版本控制器呢&#xff1f; 下面讲个故事为大家讲解一…