【Linux03-基本工具之VIM】Linux下的强大编辑器(附软件生态与yum)

news2024/11/23 16:46:57

前言

本期分享6个Linux中常用的基本工具,以确保后续的学习能够进行。

零、软件生态与yum

抛出一个问题:软件的下载?

具体拆分

  1. 软件从哪里下?
  2. 软件由谁提供?
  3. 怎么下载?

软件,肯定不在本地(自己的电脑),要不也不用下载了;那软件一定在远端(别人的服务器)。

谁的服务器呢?开源开发者,为自我价值实现提供免费的软件;企业,为了钱提供付费软件,或为了流量变现提供免费软件。

怎么提供到我们手上呢?电脑上下载某软件通常在某软件的官网找下载链接,下载本质上就是通过链接找到别人服务器上的数据,下载到本地。而手机上的软件商店也是这个道理,不过封装起来了。

既然我们学Linux,当然也要落于其上,谈谈它的软件生态又是如何。

同样的问题

  1. 软件从哪里下?
  2. 软件由谁提供?
  3. 怎么下载?

一样是远端,Linux的软件都放在Linux社区的服务器上。

Linux是伟大的开源项目,软件自然是伟大的开源开发者们提供。

通过yum指令(软件包管理工具)找到其源配置文件内的下载链接,再下载。而国内这样访问自然比较慢,Linux软件生态在中国慢慢本地化。大企业或高校,把国外的Linux软件镜像到他们自己的服务器上,再将其中软件的链接组成yum源配置文件。这样一来,我们使用yum来下载Linux软件的时候就能直接访问国内的服务器并下载数据。

嗯……我大概了解软件生态是怎么回事了,你说讲些工具,但我还是没法在Linux下载这些工具/软件啊。


一、yum

是什么

Linux下的软件包管理工具。

怎么用

  • 查看软件包

    yum list | grep [sl.x86_64]
    

    yum list 列出所有yum内置的软件下载链接,用grep过滤出我们想找的:sl.x86_64。是一个在命令行打印动态火车的小程序。

  • 安装软件包

    [sudo] yum install  [-y] [sl.x86_64]
    

    yum install 表示下载,-y :“是的我要下载,别问了。”

    跑跑看:在这里插入图片描述

    能发现安装软件需要root权限,为什么?

    安装的本质其实就是拷贝数据到本地的某个位置。而这个位置只有root能写,但所有人都能执行。

  • 卸载软件

    yum remove [-y] [sl]
    

拓展

【云服务器和本地间的数据传输】

rz --上传(执行rz会在Xshell弹窗,选择要上传的文件)
sz [filename] --下载(同样弹窗,选择要保存到的地方)

*Xshell还支持拖拽文件进行上传

【看看国内提供的镜像的地儿】

在这里插入图片描述

所谓yum的源配置文件,不过就是一堆链接,对应着这里面的各个软件。

【非官方软件集合】

epel,非官方软件集合。刚刚的小火车就是这里面的。

由于收录到OS的软件集合要经过层层严格测试,所以有些软件会选择加入epel的阵容。

【yum解耦】

下载多个软件后,软件之间会有耦合性,而yum会很聪明的帮我们解决这种耦合。


二、vim

是什么

一款功能强大的编辑器。(仅能用键盘操作)

为什么

为什么有vim?为了提高编辑效率。为什么只能用键盘操作?vim诞生的年代并无鼠标。

怎么用

yum install -y vim
touch test.c
vim test.c

有三种模式供使用:命令模式、底行模式、插入模式。

命令模式

是进入vim后的默认模式,其他模式只需无脑esc即可退到命令模式。

此模式主要进行两部分操作:光标移动和文本操作。

【光标移动】

指令名作用
ctrl + 4 ($)跳到行左
ctrl + 6 (^)跳到行右
shift + g (G)跳到底部
n + G跳到第n行
h逐字符左移(hjkl中的最左边)
j下移(jump下悬崖)
k上移动(king是“皇上”)
l逐字符右移(hjkl中的最右边)
w / b逐词左移/右移

【文本操作】

指令名作用
(n) yy复制当前行(开始向下n行)到缓冲区
(n) dd剪切当前行(开始向下n行)到缓冲区
p粘贴
u撤销
ctrl + r重做
shift + r当前字符开始向后逐个替换成当前字符
(n) r当前字符开始向后批量替换成当前字符
shift + `(~)当前字符开始向后逐个替换大小写
c(n)w替换从光标位置到单词结尾的字符, 并转为Insert模式

插入模式

是真正编辑文件的模式。在命令行模式下按 i/a/o 等进入,esc退出为命令模式。

底行模式

用于保存/退出文件,或设置编辑环境。在命令行模式下按 shift + ; (😃 进入,esc退出为命令模式。

指令名作用
w保存
q退出
! + [command]强制执行命令
nu显示行号
nonu不显示行号
vs [filename]与另一文件分屏
%s/[XXX]/[YYY]/g将所有XXX替换成YYY

#注释

  1. ctrl + v:V-BLOCK
  2. 光标操作 [h/j/k/l] 选中
  3. shift + i
  4. 输入要插入的字符(要注释就//,要缩进就tab)
  5. esc

其实是插入字符,注释是它能实现的一个功能。

其他模式

vim还有许多其他模式,但已讲的三种够用了,不增加学习成本。

配置

原始的vim不太好用,语法缩进、自动补齐等等都没有。所以我们常自己配置,加上想要的功能。

【创建配置文件】

在路径 /home 下,创建 .vimrc 文件

【配置】

在网上找vim功能配置大全,自己烹饪。

sudoers

之前遗留的sudoers问题可以解决了。我们只需要用root进入“白名单文件”,加上想添加的sudoers就可以啦。

vim 打开 /etc/sudoers

在这里插入图片描述

按照root的格式,仅改动名字即可~


今天的分享就到这里啦

这里是培根的blog,期待与你共同进步,下期见!

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

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

相关文章

RabbitMQ死信队列、延时队列

介绍: 消息被消费⽅否定确认,使⽤ channel.basicNack 或 channel.basicReject ,并且此时 requeue 属性被设置为 false 。消息在队列的存活时间超过设置的TTL时间。消息队列的消息数量已经超过最⼤队列⻓度。那么该消息将成为“死信”。“死信…

Espresso Sequencer:去中心化Rollups

1. 引言 前序博客有: HyperPlonk——实现zkEVM的一种zk-proof system Espresso Systems团队致力于为Web3世界开发工具和基础设施。 Espresso Sequencer:为在不牺牲扩展性和速度的情况下,实现的去中心化rollups系统,兼具Web2的性…

[附源码]计算机毕业设计springboot软考刷题小程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

MAC层协议总结

一、现存问题 广播网络存在问题 当信道的使用存在竞争时,如何分配信道的使用权----->如一个人停止讲话,另外可能两个或多个人同时讲话,当只有单个信道时,怎么决定下一个讲话的人?------>为了解决这个问题&#…

JavaCV音视频开发宝典:rtsp转推到rtp(非TS流方式),及使用TS流发送解决sdp缺失问题

《JavaCV音视频开发宝典》专栏目录导航 《JavaCV音视频开发宝典》专栏介绍和目录 前言 在之前的文章中,由于忘记介绍使用的rtp推流方式都是TS流方式,RTP方式推流没讲,本章作为之前文章(JavaCV音视频开发宝典:rtsp拉流并使用转码方式转推到rtp)的补充。 注意:本文不需要…

Spring MVC Formatter(数据格式化)详解

Spring MVC 框架的 Formatter 与 Converter 一样,也是一个可以将一种数据类型转换成另一种数据类型的接口。不同的是,Formatter 的源数据类型必须是 String 类型,而 Converter 的源数据类型是任意数据类型。 在 Web 应用中由 HTTP 发送的请求…

keychron矮轴无线机械键盘简直就是yyds

一、背景 日常生活中,我们都离不开键盘,游戏党打游戏要键盘, 工作人员无论使用台式电脑还是笔记本操作都离不开键盘,尤其程序员这一族,键盘简直就是敲代码的灵魂。随着经济和科技飞速发展,我们早已不在像从…

[附源码]Python计算机毕业设计Django电子相册管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

公共建筑节能大数据应用进展

3月26日|清华大学建筑节能学术周——公共建筑节能—工程实践助力实现双碳目标 【3月26日公开论坛】公共建筑节能 – 工程实践助力实现双碳目标 公共建筑节能大数据应用进展 建筑用能负荷受到气象条件、建筑围护结构、设备系统、人行为等多重因素耦合影响&#xff…

C语言 结构体

C语言 结构体一、结构体的声明和初始化1. 结构体声明2. 结构体初始化二、typedef 重定义结构体三、结构体成员的类型四、结构体成员的访问五、结构体传参六、结构体的自引用七、结构体的内存对齐对齐规则程序清单1程序清单2程序清单3程序清单4修改默认对齐数一、结构体的声明和…

nvcc编译器之设备和主机独立编译(chapter 6)

目录 6. CUDA中的独立编译 6.1 单独编译时的代码改动 6.2 nvcc独立编译选项 6.3 库 6.4 示例 6.5 分布编译优化 6.6 独立编译的潜在问题 6. CUDA中的独立编译 在5.0版本之前,CUDA不支持分开编译,因此CUDA代码不能访问跨文件(编译单元&…

挂耳式耳机品牌排行榜,五款目前排行靠前的耳机分享

耳机传声的方式无非就是空气传播以及骨骼传播,而骨传导耳机就属后者,通过骨骼震动来完成声波的传递,在传递的过程无需经过外耳道和鼓膜,在一定程度上缓解了对耳道造成的损伤,减少对于耳道的负担,看到这里如…

OSI参考模型个人总结

附:参考模型 OSI参考模型 基于国际标准化组织ISO的建议,作为各种层上使用的协议国际标准化的第一步发展起来的,被称作ISO开放系统互联参考模型(open system interconnection refertence model),简称为OSI模…

[附源码]Python计算机毕业设计Django高校后勤保障系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

【解决问题】413错误 413 Request Entity Too Large 接口返回413 报413nginx

文章目录问题排查解决方案1、修改nginx配置文件nginx.conf2、更新完成后需要重启nginx3、其他可能性博客背景:JAVA项目,前端想弄个便捷富文本,直接很多图片转base64编码直接存库了。字段为longtext类型。这种问题通常是在使用http请求对象太大…

python实现中缀表达式转后缀表达式

前缀、中缀、后缀表达式(逆波兰表达式) 前缀表达式称为波兰表达式,前缀表达式的运算符位于操作符之前 举例说明:(34)x 5 – 6 对应的前缀表达式就是- X 3 4 5 6 中缀表达式转为后缀表达式: …

概率论与数理统计——事件间的关系

包含 事件A发生必然导致事件B发生。 代数中经常用这种方法证明两个事件相等。 事件的并(和) A与B至少有一个发生 事件的交(积) A与B同时发生 无限可列个:能按某种规律能把他排成一个序列(实变函数…

Typora导出Word

1.Typora导出Word配置 1.访问GitHub: https://github.com/jgm/pandoc/releases/tag/2.11.3.2https://github.com/jgm/pandoc/releases/tag/2.11.3.2 2.下载对应的文件 3.到本地安装Typora目录下解压 4.配置环境变量 我的电脑–属性–高级系统设置–高级–环境变量…

Python数据分析案例12——网飞影视剧数据分析及其可视化

背景介绍 Netflix是最受欢迎的媒体和视频流平台之一。他们的平台上有超过 8000 部电影或电视节目。截至 2021 年年中,他们在全球拥有超过 2 亿订阅者。 博主看美剧也较为多,像《怪奇物语》、《性爱自修室》等高分美剧都是网飞的。 对于网飞的影视剧&a…

【Docker学习系列】Docker学习1-docker安装

从本篇开始,凯哥将和大家一起学学docker。本篇是docker学习系列第一篇:安装docker。 docker安装前提条件:目前,centos发行版中的内核支持Docker.Docker运行在Centos7 64位上,要求系统为64位、linux系统内核版本为3.8以上的。凯哥所…