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.rhkb.cn/news/140714.html

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

相关文章

云服务部署:AWS、Azure和GCP比较

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

游戏扫码登录+多功能工具箱 微信小程序源码

一个集合了多种实用功能的微信小程序,这个微信小程序源码不仅具备美观的界面设计,还拥有许多实用的功能,而且最重要的是,它无需服务器和域名,所有功能都无需API接口,因此不用担心功能失效的问题。这意味着&…

利用PPT导出一张高清图的方法,office与WPS只需要使用一个即可,我使用的是office。

利用PPT导出一张高清图的方法,office与WPS只需要使用一个即可,我使用的是office。 1,PPT的功能拓展来解决导出高清图片方法1.1,PPT功能拓展—>安装插件: 2,各种方法导出图片效果显示:2.1&…

Linux下git安装及使用

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

NLP BigModel

NLP 基础 建议看 [CS224N 2023]打基础 【NLP入门】1. n元语法模型 / 循环神经网络 【NLP入门】3. Word2Vec / GloVe Language Model:语言模型的马尔可夫假设(每个词出现的概率仅依赖前面出现的词),是一个自回归模型(…

docker部署nginx下日志自动切割方法

前言:nginx采用docker部署,简单方便,但出现一个问题,就是日志没有自动切割,导致access.log 无限增大。如果非docker安装,则nginx的日志默认有切割的,那docker为何没有呢,最后发现&am…

git | 合并merge、衍合rebase与同步更新cherry-pick

git | 合并merge、衍合rebase与同步更新cherry-pick 文章目录 git | 合并merge、衍合rebase与同步更新cherry-pickgit meregegit rebasegit rebase和git merge的区别总结 cherry-pick 把别的分支的改动内容同步更新到自己的分支Example: Reference 欢迎关注公众号“三戒纪元” …

第 4 章 串(文本行编辑实现)

1. 背景说明 该文本编辑器利用串的堆实现,其中对串的原始存储方式基本不作修改(有部分修改之处),优化之处在于在串的末尾加上了一个空字符,目的是区分字符串结尾,便于将串保存在文件中,且该优化…

K8S:Pod容器中的存储方式及PV、PVC

文章目录 Pod容器中的存储方式一.emptyDir存储卷1.emptyDir存储卷概念2.emptyDir存储卷示例 二.hostPath存储卷1.hostPath存储卷概念2.hostPath存储卷示例 三.nfs共享存储卷1.nfs共享存储卷示例 四.PV和PVC1.PV、PVC概念2.PVC 的使用逻辑及数据流向3.storageclass插…

公众号迁移多久可以完成?

公众号账号迁移的作用是什么?只能变更主体吗?长期以来,由于部分公众号在注册时,主体不准确的历史原因,或者公众号主体发生合并、分立或业务调整等现实状况,在公众号登记主体不能对应实际运营人的情况下&…

c#:System.Text.Json 的使用三(从Newtonsoft迁移)

环境: .net 6.0vs2022 系列篇: 《c#:System.Text.Json 的使用一》 《c#:System.Text.Json 的使用二》 《c#:System.Text.Json 的使用三(从Newtonsoft迁移)》 参考: 《MSDN: 从 Newt…

【GO】LGTM_Grafana_gozero_配置trace(4)_代码实操及追踪

最近在尝试用 LGTM 来实现 Go 微服务的可观测性,就顺便整理一下文档。 Tempo 会分为 4 篇文章: Tempo 的架构官网测试实操跑通gin 框架发送 trace 数据到 tempogo-zero 微服务框架发送数据到 tempo 本文就是写一下如何在 go-zero 微服务框架里面配置 t…

C++ list容器的实现及讲解

所需要的基础知识 对C类的基本了解 默认构造函数 操作符重载 this指针 引用 模板等知识具有一定的了解&#xff0c;阅读该文章会很轻松。 链表节点 template<class T>struct list_node{T _data;list_node<T>* _next;list_node<T>* _prev;list_node(const T&…

顺序表的实现和练习

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

关于地址存放的例题

unsigned int a 0x1234; unsigned char b *(unsigned char*)&a; 上面代码大端存储和小端存储的值分别是多少&#xff1f; 大端存储的是把高位地址存放在低位地址处&#xff0c;低位存放到高位。小端是高位存放在高位&#xff0c;低位在低位。因为a是整型&#xff0c;所…

Kafka的消息存储机制

前面咱们简单讲了K啊开发入门相关的概念、架构、特点以及安装启动。 今天咱们来说一下它的消息存储机制。 前言&#xff1a; Kafka通过将消息持久化到磁盘上的日志文件来实现高吞吐量的消息传递。 这种存储机制使得Kafka能够处理大量的消息&#xff0c;并保证消息的可靠性。 1…

vue重修003

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

ChatGPT批量写作文章软件

什么是ChatGPT批量写作文章。简单来说&#xff0c;它是一种使用ChatGPT技术的方法&#xff0c;可以帮助您批量生成各种类型的文章和内容。无论您是需要新闻报道、博客文章、产品描述、社交媒体帖子还是其他类型的内容&#xff0c;ChatGPT都能满足您的需求。它可以在极短的时间内…

探索 GO 项目依赖包管理与Go Module常规操作

探索 GO 项目依赖包管理与Go Module常规操作 文章目录 探索 GO 项目依赖包管理与Go Module常规操作一.Go 构建模式的演变1.1 GOPATH &#xff08;初版&#xff09;1.1.1 go get 1.2 vendor 机制&#xff08;中版&#xff09;1.3 Go Module&#xff08;最新版&#xff09; 二.创…

C语言 cortex-A7核UART总线实验

一、C 1&#xff09;uart4.h #ifndef __UART4_H__ #define __UART4_H__ #include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_uart.h&quo…