【Linux系列P4】Linux需要什么?编辑器?软件包?一文帮你了解掌握 [yum][vim]———基础开发工具篇

news2024/11/13 14:48:06

前言

大家好,这里是YY的Linux系列part4;本章主要内容面向接触过Linux的老铁,主要内容含【学习yum工具,进行软件安装】【拓展yum源安装】【掌握vim编辑器使用,基本命令】【命令集】【懒人配置文件安装教程

在下一章节【Linux系列part2】中,YY将手把手讲述如何使用Linux的工具第二部分,欢迎订阅YY的Linux专栏!更多干货持续更新!

目录

一.Linux 软件包管理器 yum

1.软件包与软件包管理器yum的概念

2.关于 rzsz

3.查看软件包

4.安装软件包 

5.卸载软件命令

6.安装拓展yum源 

二.Linux 编辑器 vim

1. vi/vim的基本介绍

2.vim的三种模式

3. vim的基本操作/使用

一.进入vim全屏幕编辑画面

二.三种模式关系转化图示 

三.三种模式基本转换 

四.多文件窗口光标切换 

4. vim [正常模式] 命令集(全面)

5.vim [末行模式] 命令集(全面)

三. 简单vim配置

1.配置文件的位置

2.常用配置选项(测试)

3.一套【超全面配置文件】安装教程(懒人必进)


一.Linux 软件包管理器 yum


1.软件包与软件包管理器yum的概念

  • 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
  • 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安 装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.
  • 软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.
  • yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上.

2.关于 rzsz

实现windows系统与Linux的文件交流:

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

3.查看软件包

  通过 yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用  grep 命令 筛选出我们关注的软件包

代码展示:

# yum list | grep lrzsz

结果会出现:

lrzsz.     x86_64      0.12.20-36.    el7        @base 

出现以上的结果,我们可以解读:

  • 软件包名称:   主版本号.  次版本号.  源程序发行号-软件包的发行号.  主机平台.cpu架构.
  • "x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配.
  • "el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.
  • 最后一列, base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念. 

4.安装软件包 

命令:

# sudo yum install lrzsz

注意事项:

  • 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
  • yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外 一个软件, yum会报错.
  • 如果 yum 报错, 请自行百度 

5.卸载软件命令

命令:

# sudo yum remove lrzsz

6.安装拓展yum源 

yum源分为【内置yum源】和【拓展yum源】,其中拓展yum源是需要我们自己去安装的:

  • 拓展yum源安装命令:
#yum install -y epel-realease

安装好拓展yum源后我们就可以下载两个有趣的软件包:

  • 小汽车跑
#yum install -y sl
#sl
  • 牛说
#yum install -y cowsay
#cowsay "yy"

二.Linux 编辑器 vim


1. vi/vim的基本介绍

  • vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且 还有一些新的特性在里面。例如语法加亮,可视化操作.不仅可以在终端运行,也可以运行于x window、 mac os、 windows
  • vim一共有12种总模式分别是:打开,关闭,查看,查询,插入,删除,替换,撤销,复制等等操作。

2.vim的三种模式

    vim有好多模式,基础阶段掌握这3种即可,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

  • 命令模式(Normal mode)———— 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入【插入模式】下,或者到 【底行模式】
  • 插入模式(Insert mode)————只有在Insert mode下,才可以做文字输入在命令模式下,按[ i ]进入插入模式,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式
  • 末行模式(last line mode)————文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入

  vim三种模式关系图一览:


3. vim的基本操作/使用


一.进入vim全屏幕编辑画面

  • 进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:
  • $ vim test.c
  • 不过有一点要特别注意,就是你进入vim之后,是处于[命令模式],你要切换到[插入模式]才能够输入文字。

二.三种模式关系转化图示 

三种模式转换关系图一览:


三.三种模式基本转换 

[正常模式]切换至[插入模式] 

  • 输入a
  • 输入i
  • 输入o

[插入模式]切换至[正常模式]

  • 目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。

[正常模式]切换至[末行模式] 

  • 「shift + ;」, 其实就是输入「:」

退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」,例如:

  • : w (保存当前文件)
  • : wq (输入「wq」,存盘并退出vim)
  • : q!  (输入q!,不存盘强制退出vim)

四.多文件窗口光标切换 

  • 「ctrl」+「ww」:多文件窗口光标切换

4. vim [正常模式] 命令集(全面)

插入模式:

  • 按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
  • 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
  • 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

 从插入模式切换为命令模式:

  • 按「ESC」键。

 移动光标:

  • vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、 「l」,分别控制光标左、下、上、右移一格
  • 按「G」:移动到文章的最后
  • 按「 $ 」:移动到光标所在行的“行尾”
  • 按「^」:移动到光标所在行的“行首”
  • 按「w」:光标跳到下个字的开头
  • 按「e」:光标跳到下个字的字尾
  • 按「b」:光标回到上个字的开头
  • 按「#l」:光标移到该行的第#个位置,如:5l,56l
  • [gg]:进入到文本开始
  • [shift+g]:进入文本末端
  • 按「ctrl」+「b」:屏幕往“后”移动一页 按「ctrl」+「f」:屏幕往“前”移动一页
  • 按「ctrl」+「u」:屏幕往“后”移动半页 按「ctrl」+「d」:屏幕往“前”移动半页
  • 「ctrl」+「ww」:多文件窗口光标切换

删除文字:

  • 「x」:每按一次,删除光标所在位置的一个字符
  • 「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
  • 「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
  • 「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
  • 「dd」:剪切 / 删除光标所在行
  • 「#dd」:从光标所在行开始删除#行

复制:

  • 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
  • 「#yw」:复制#个字到缓冲区
  • 「yy」:复制光标 所在行 到缓冲区。
  • 「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
  • 「p」:将缓冲区内的字符贴到光标所在位置。

注意:所有与【y】有关的复制命令都必须与【p】配合才能完 成复制与粘贴功能。 

替换:

  • 「r」:替换(即覆盖光标所在处的字符。
  • 「R」:替换光标所到之处的字符,直到按下「ESC」键为止。 

PS:「shift」+「R」即进入【第四种模式】: 对内容进行整体替换

撤销上一次操作:

  • 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次恢复。
  • 「ctrl + r」: 撤销的恢复 (撤销 之前的撤销)

更改:

  • 「cw」:更改光标所在处的字到字尾处
  • 「c#w」:例如,「c3w」表示更改3个字 

跳至指定的行:

  • 「ctrl」+「g」:  列出光标所在行的行号。
  • 「#G」:例如,「15G」,表示移动光标至文章的第15行行首。 

大小写转换:

  • 「shift」+「~」: 大小写转换

5.vim [末行模式] 命令集(全面)

注意事项:在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。

列出行号

  • 「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。

 跳到文件中的某一行

  • 「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15, 再回车,就会跳到文章的第15行。

 查找字符

  • 「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 「n」会往后寻找到您要的关键字为止。
  • 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直 按「n」会往前寻找到您要的关键字为止。

 保存文件

  • 「w」: 在冒号输入字母「w」就可以将文件保存起来

 离开vim

  • 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
  • 「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

三. 简单vim配置


1.配置文件的位置

  • 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
  • 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下, 通常已经存在一个.vimrc文件,如果不存在,则创建之。
  • 执行【 su】可以切换用户成为自己 ,执行 【cd ~】可以进入自己的主工作目录
  • 执行 【vim .vimrc】可以打开自己目录下的.vimrc文件
  • 一般都是一个普通用户一个配置文件,不会相互影响;尽量不要给root做配置

2.常用配置选项(测试)

  • 设置语法高亮: syntax on
  • 显示行号: set nu
  • 设置缩进的空格数为4: set shiftwidth=4

3.一套【超全面配置文件】安装教程(懒人必进)

a)百度搜索 ’VimForCpp'

 b)注意不要直接在root下执行!

c )  复制完整,注意【必须是完整一行】

d)出现以下界面时,说明成功

 e)手动复制粘贴

 f)输入vim code.c/其他文件 ;完成!

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

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

相关文章

Java高并发编程—可见性与有序性原理

原子性、可见性和有序性是并发编程所面临的三大问题。 Java通过CAS操作已解决了并发编程中的原子性问题,本章为大家介绍Java如何解决剩余的另外两个问题——可见性和有序性。 CPU物理缓存结构 由于CPU的运算速度比主存(物理内存)的存取速度…

Android系统原理性问题分析 - 多路并发情况下的C/S模型

声明 在Android系统中经常会遇到一些系统原理性的问题,在此专栏中集中来讨论下。Android系统中很多地方都采用了I/O多路复用的机制,为了引出I/O多路复用机制,先来分析多路并发情况下的C/S模型。此篇参考一些博客和书籍,代码基于A…

C++条件变量condition_variable

一、问题 假设没有条件变量,对于一个生产者消费者问题,消费线程在得知队列中没有产品时,将阻塞自己。生产者线程可以给队列中放入产品,但是没有办法激活消费者线程,而消费者线程处于阻塞状态也没有办法自己激活自己。…

RocketMQ 领域模型概述

本文为您介绍 Apache RocketMQ 的领域模型。 Apache RocketMQ 是一款典型的分布式架构下的中间件产品,使用异步通信方式和发布订阅的消息传输模型。通信方式和传输模型的具体说明,请参见下文通信方式介绍和消息传输模型介绍。 Apache RocketMQ 产品具备…

IOS开发指南之自定义TableViewCell使用

演示效果: 1.自定义TableViewCell创建 File->new->File... 在iOS模板中选择Empty来创建一个空的XIB文件,然后点击下一步 输入XIB文件名Cell,然后点击Create创建 创建XIB文件成功后如下: 同时按钮Shift+command+L弹出库,然后输入 table筛选,选择Table View Cell 拖到下…

一文通透spring的初始化

简述 今天重点分析ApplicationContext初始化时做的事情,我们都只到spring是个IOC和AOP容器,那再我们new一个ApplicationContext,spring内部都做了什么?怎么实现的IOC和AOP? 比如说下面这段代码 Configuration Compon…

计组 第二章 数据的表示与运算 2.1 数制与编码 知识点整理

2.1 数制与编码 二进制转八进制:3位一组,高位补0 二进制转十六进制:4位一组,高位补0 任意进制转十进制(按权展开法):数码与权值相乘,再相加 十进制转化为任意进制数(基…

全面接入:ChatGPT杀进10个商业应用,让AI替你打工

ChatGPT狂飙160天,世界已经不是两个月前的样子。 新建了一个网站 https://ai.weoknow.com/ 每天给大家更新可用的国内可用chatGPT资源 ChatGPT API已开放60多天。世界已经不是两个月前的样子了。 微软联合创始人比尔盖茨(BillGates)将GPT称…

一、预约挂号详情

文章目录 一、预约挂号详情1、需求分析 2、api接口2.1 添加service接口2.2 添加service接口实现2.2.1 在ScheduleServiceImpl类实现接口2.2.2 在获取科室信息 2.3 添加controller方法 3、前端3.1封装api请求3.2 页面展示 二、预约确认1、api接口1.1 添加service接口1.2 添加con…

FastRcnn理论合集

FastRcnn理论合集 Rcnn 论文原著 Rich feature hierarchies for accurate object detection and semantic segmentation R-CNN可以说是利用深度学习进行目标检测的开山之作。作者Ross Girshick多次在PASCAL VOC的目标检测竞赛中折桂,曾在2010年带领团队获得终身成就…

【P29】JMeter IF 控制器(If Controller)

文章目录 一、IF 控制器(If Controller)参数说明二、测试计划设计2.1、groovy 写法2.2、javaScript 写法2.3、jexl3 写法 一、IF 控制器(If Controller)参数说明 可以控制其下面的子/后代元素是否执行;如果为 true 则…

CSDN问答机器人

文章目录 前言一、背景二、总体流程三、构建知识库四、粗排五、精排六、Prompt总结相关博客 前言 先看结果: 已经连续很多周获得了第二名(万年老二), 上周终于拿了一回第一, 希望继续保持. 😁 这是今天的榜单, 采纳的数量相对较少, 之前基本上维持在100 重点说明…

数字韧性助力金融科技行稳致远 同创永益亮相2023双态IT武汉樱花论坛

2023年4月7日,由ITSS数据中心运营管理组DCMG指导,双态IT论坛主办的以“分布式架构和云原生时代的运维软件进化”为主题的“双态IT武汉樱花论坛”在武汉成功举办,共有来自银行、保险、证券等行业用户及企业代表近百人参会。 云原生时代下&am…

【Linux】-yum的使用

💖作者:小树苗渴望变成参天大树 ❤️‍🩹作者宣言:认真写好每一篇博客 💨作者gitee:gitee 💞作者专栏:C语言,数据结构初阶,Linux,C 如 果 你 喜 欢 作 者 的 文 章 ,就 给 作 者 点…

某生存游戏玩家属性值分析

0x01 背景 这是一款丧尸生存的多人沙盒类游戏,角色在废墟之城内不断的搜刮,强化自己的装备和建造设施来抵御丧尸的无休止攻击,记住,这是一款团队合作游戏,你面对的丧尸随时可能夺走你的性命! 0x02 玩家结…

【C++ Primer Plus】基础知识

C站的小伙伴们,大家好呀!我最近开始阅读学习《C Primer Plus》这本书,在这里和大家一起分享。 下面是本书的第二章《开始学习C》 开始学习C 进入Cmain()函数C注释C预处理器和iostream文件头文件名名称空间使用count进行…

【Linux专区】 Linux is not unix | Linux发展史 | Linux应用现状

💞💞欢迎来到 Claffic 的博客💞💞 👉 专栏:《Linux专区》👈 前言: 上次提前带大家搭建了Linux的环境,其实之前应该还有一步的,就是向大家介绍Linux发展史&…

HNU-电路与电子学-小班3

第三次讨论 1 、直接用晶体管而不是逻辑门实现异或门,并解释这个电路是如何工作的。 (6个 MOS 管构成) 2 、通信双方约定采用 7 位海明码进行数据传输。请为发送方设计海明码校验位 生成电路,采用功能块和逻辑门为接收方设计海…

SCMA基本原理介绍

SCMA: Sparse Code Multiple Access SCMA基本原理 我们考虑一个同步(synchronous)的SCMA系统, 含1个基站(Base Station, BS); J J J个用户(so called layers);K个OFDM…

算法练习-2:送外卖

n 个小区排成一列,编号为从 0 到 n-1 。一开始,美团外卖员在第0号小区,目标为位于第 n-1 个小区的配送站。 给定两个整数数列 a[0]~a[n-1] 和 b[0]~b[n-1] ,在每个小区 i 里你有两种选择: 1) 选择a:向前 a[…