Linux环境开发工具【yum与vim】
🌈个人主页:Yui_
🌈Linux专栏:Linux
🌈C语言笔记专栏:C语言笔记
🌈数据结构专栏:数据结构
文章目录
- 1.Linux软件包管理器yum
- 1.1 快速使用yum
- 2. Linux编辑器-vim的使用
- 2.1 vim的基本概念
- 2.2 vim的基本操作
- 2.3 vim命令模式指令集
- 2.4. vim末行模式命令集
1.Linux软件包管理器yum
- 在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序。但是这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成Windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获获取到这个编译好的软件包,直接进行安装
- 软件包和软件包管理器,就好比"App"和"应用商店"的关系
- yum(Yellow dog Updater,Modfied)是Linux下非常常用的一种包管理器,主要应用在Fedora,RedHeat,Centos等发行版上。
Linux中我们也要进行工具/指令/程序。安装,检查和卸载等,需要yum的软件
Linux安装软件的方式:
- 源代码安装 — 交叉编译工作(不适合小白)
- rpm包直接安装(同样不适合小白)
- yum/apt-get(apt-get是Debian 和 Ubuntu 中的软件包管理器)
yum:yum是我们Linux预装的一个指令,可以搜索,下载,安装对应的软件,相当于手机中的应用市场。
1.1 快速使用yum
在前面的文章中,偶尔我们也会使用到yum,利用yum安装了tree,man等指令。
查看yum中的所有软件
yum list
利用这个指令会在屏幕上显示目前yum中的所有软件。
因为软件太多的缘故,屏幕会有几秒短暂的卡顿。
查看yum中的指定的软件
yum list|grep "[command]"
演示:查找yum中的rzsz
简单解释一下rzsz:rzsz是用于Windows机器和Linux机器通过Xshell传输文件。安装完毕后就可以通过拖拽的方式将Windows的文件传输到Linux机器上了。
yum的安装功能
yum install -y [command]
注意:安装软件需要有root权限。
演示:安装rzsz
yum的删除功能:
yum remove -y [command]
演示:删除rzsz
2. Linux编辑器-vim的使用
vim键位图
vi和vim都是多模式编辑器,不同的是vim是vi的升级版本,vim不仅兼容vi的所有指令,而且还有一些新的特性在里面,例如语法高亮,可视化操作不仅可以在终端运行,也可以在x Windows、mac os、Windows。本文以vim来进行讲解。
2.1 vim的基本概念
vim存在多种种模式,本文只讲其中的3种常用的模式:
- 命令模式(command mode)
- 插入模式(insert mode)
- 底行模式(last line mode)
- 命令模式的功能:
控制屏幕光标的移动,字符,字或行的删除,移动复制某区段及进入insert mode下或者到last line mode - 插入模式的功能:
只有在插入模式下,才可以做文字输入,按[ESC]可回到命令模式。该模式是我们使用最频繁的编辑模式。 - 底行模式的功能:
文本保存或退出,也可以进行文件的替换,找字符串列出行号等操作。在命令模式下输入shift + ;
即可进入底行模式。
转化图
2.2 vim的基本操作
进入vim,在系统提示符输入vim及文件名后,就进入vim全屏幕编辑画面了
vim file.c
当你进入进入vim后,是处于命令模式的。如图:
如果你要输入文字就必须切换到插入模式
命令模式切换插入模式
- 输入a
- 输入i
- 输入o
当用户进入插入模式后,底行会出现insert,此时可以输入字符。
插入模式切换到命令模式
- 输入ESC
命令模式切换底行模式 - 输入
shift+;
当用户需要退出vim时就可以进入底行模式输入wq
(保存文件并退出)
2.3 vim命令模式指令集
在命令模式下除了进入插入模式和底行模式外还用着相当多的功能。
移动光标:
- vim可以直接使用键盘上的上下左右来移动光标,还可以通过[h]、[j]、[k]、[l]分别控制光标的左、下、上、右。
- 按[G]:移动到文章的最后
- 按[$]:移动到光标所在行的末尾
- 按[^]:移动到光标所在行的开头
- 按[w]:光标跳到下一字的开头
- 按[e]:光标跳到下个字的字尾
- 按[b]:光标回到上个字的开头
- 按[[n]l]:光标移到该行的第n个位置,如5l,9l
- 按[gg]:进入文本开始
- 按[shift+g]:进入到文本末行
- 按[ctrl]+[b]:屏幕往“后”移动一页
- 按[ctrl]+[f]:屏幕往“前”移动一页
- 按[ctrl]+[u]:屏幕往“后”移动半页
- 按[ctrl]+[d]:屏幕往“前”移动半页
删除文字 - [x]:每按一次,删除光标所在位置的一个字符
- [[n]x]:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
- [X]:大写的X,每按一次,删除光标所在位置的“前面”一个字符
- [[n]X]:例如,「20X」表示删除光标所在位置的“前面”20个字符
- [dd]:删除光标所在行
- [[n]dd]:从光标所在行开始删除#行
复制 - [yw]:将光标所在之处到字尾的字符复制到缓冲区中。
- [[n]yw]:复制n个字到缓冲区
- [yy]:复制光标所在行到缓冲区。
- [[n]yy]:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
- [p]:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完 成复制与粘贴功能。
替换 - [r]:替换光标所在处的字符。
- [R]:替换光标所到之处的字符,直到按下「ESC」键为止。
撤销上一次操作 - [u]:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
- [ctrl + r]: 撤销的恢复
更改 - [cw]:更改光标所在处的字到字尾处
- [c[n]w]:例如,「c3w」表示更改3个字
跳至指定的行 - [ctrl]+[g]列出光标所在行的行号。
- [[n]G]:例如,[15G],表示移动光标至文章的第15行行首。
2.4. vim末行模式命令集
在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。
列出行号
- [set nu]: 输入[set nu]后,会在文件中的每一行前面列出行号。
演示:输入set nu后的效果图
![[Pasted image 20240817134900.png]]
跳到文件中的某一行 - [[n]]:[[n]]号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,
再回车,就会跳到文章的第15行。
查找字符
[/关键字]::先按[/]键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 - [n]会往后寻找到您要的关键字为止。
- [?关键字]:先按[?]键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直
- 按[n]会往前寻找到您要的关键字为止。
问题:/ 和 ?查找有和区别?操作实验一下
答案:区别在于/是从上往下找,?是从下往上找。
保存文件 - [w]: 在冒号输入字母「w」就可以将文件保存起来
离开vim - [q]:按[q]就是退出,如果无法离开vim,可以在[q]后跟一个[!]强制离开vim。
- [wq]:一般建议离开时,搭配[w]一起使用,这样在退出的时候还可以保存文件
想要深入的学习vim,可以看github上的Vim 从入门到精通
相关文章:

Linux环境开发工具【yum与vim】
🌈个人主页:Yui_ 🌈Linux专栏:Linux 🌈C语言笔记专栏:C语言笔记 🌈数据结构专栏:数据结构 文章目录 1.Linux软件包管理器yum1.1 快速使用yum 2. Linux编辑器-vim的使用2.1 vim的基本…...
laravel GuzzleHttp Client 无法获取返回的错误信息
Client发送一些请求,当返回状态不是200的时候,无法获取完整错误信息 $client new Client([base_uri > $this->getUri()./order/aaaaaa,timeout > 30,verify > false]);try {$response $client->request(POST, , [headers > [Lang&g…...
XMOS 多路音频解码器
当谈及高性能音频解码器,XMOS 是一个不容忽视的名字。作为音频解决方案领域的领军者,XMOS 的多路音频解码器在音频处理技术中扮演着至关重要的角色。下面我们一起深入探讨 XMOS 多路音频解码器去了解这一技术的魅力。 设计背景:追求音频极致…...

XSS小游戏(题目+解析)
xss题目练习地址: xss小游戏 游戏界面 一、Ma Spaghet! 我将题目要求进行翻译: 题目的主要要求就是:弹出一个(1337)的弹窗 开始解题: Let’s Go! 首先,传个参数看看 发现参数直接显示在了 < h2 >…...

《Redis核心技术与实战》学习笔记4——AOF日志:宕机了,Redis如何避免数据丢失?
文章目录 AOF 日志是如何实现的?三种写回策略 日志文件太大了怎么办?AOF 重写会阻塞吗?小结 大家好,我是大白。 如果有人问你:“你会把 Redis 用在什么业务场景下?”我想你大概率会说:“我会把它当作缓存使…...

NextJs - 服务端/客户端组件之架构多样性设计
NextJs - 服务端/客户端组件之架构多样性设计 前言一. 架构设计1.1 SSR流式渲染常见错误设计之 - 根页面同步阻塞1.2 架构设计之 - 客户端组件依赖于服务端组件数据① 使用 Redux 完成数据共享 1.3 架构设计之 - 单页内的分步骤跳转① 如何做到服务端组件和客户端组件之间的切换…...
使用 Python 进行 PDF 文件加密
使用 Python 解密加密的 PDF 文件-CSDN博客定义一个名为的函数,该函数接受三个参数:输入的加密 PDF 文件路径input_pdf、输出的解密 PDF 文件路径output_pdf和密码password。https://blog.csdn.net/qq_45519030/article/details/141256661 在数字化时代…...

Spring Boot集成RabbitMQ
目录 1.RabbitMQ简介2.添加依赖3.配置RabbitMQ连接4.DirectExchange4.1 消费者4.2 生产者4.3 测试4.4 一个交换机对多个队列4.5 一个队列对多个消费者 5.FanoutExchange5.1 消费者5.2 生产者5.3 测试 6.TopicExchange6.1 消费者6.2 生产者 1.RabbitMQ简介 RabbitMQ是一个由Erl…...

OLED屏幕制造工艺流程
OLED屏幕制造工艺流程是一个复杂且精细的过程,涉及多个关键步骤以确保最终的显示效果和性能。以下是OLED屏幕制造工艺流程的主要步骤: 1. 衬底制作与准备 材料选择:OLED器件需要一个透明的导电衬底,通常使用玻璃或塑料材料。 清…...
knowLedge-VueCLI项目中环境变量的定义与使用
1. env 1.1简介 在 Vue CLI 创建的项目中,你可以通过 .env 文件来定义环境变量。Vue CLI 支持多种 .env 文件,它们根据文件名中的前缀来决定何时加载和使用这些环境变量。 以下是一些常见的 .env 文件及其用途: .env:在任何环境…...

【C#】 接口 继承
简介 继承是面向对象编程的核心特性之一,它允许我们创建一个类(称为子类)来继承另一个类(称为基类)的属性和方法。 作用 这样,我们可以重用代码,减少重复,并使我们的代码更加模块…...

Self-Supervised Learning(李宏毅老师系列)
自学参考: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding BERT 论文逐段精读 视频课 课件资料 笔记 一、概述 自监督学习模型与芝麻街~ 参数量 ELMO:94MBERT:340MGPT-2:1542MMegatron&…...

8月16日笔记
只有DNS协议出网场景 DNS 协议是一种请求、应答协议,也是一种可用于应用层的隧道技术。DNS 隧道的工作原理很简单,在进行 DNS 查询时,如果查询的域名不在 DNS 服务器本机缓存中,就会访问互联网进行查询,然后返回结果。…...
苹果Mac电脑——装macOS和Windows双系统的方法
一、实验环境 在Windows系统电脑上制作MacOS启动U盘。准备一个大于16G的U盘。 二、实验步骤 2.1 在Windows系统电脑上制作MacOS启动U盘 MacOS镜像下载 在Windows系统电脑上制作MacOS启动U盘的方法 2.2 U盘插上苹果电脑,安装macOS系统 U盘插上苹果电脑…...

【C++ 面试 - 基础题】每日 3 题(十五)
✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…...

数学建模学习笔记
数学建模学习笔记 现学现卖,随缘更新QwQ 主要根据b站大师兄的视频整理而成,有不懂的可以去看原视频 List 数学建模学习笔记一、 层次分析法1.1 矩阵的一致性及其检验1.2 权重计算1.3 具体流程 二、模糊综合评测2.1 隶属函数2.2 隶属函数的确定方法2.3 模…...

个人可识别信息(PII) AI 去除 API 数据接口
个人可识别信息(PII) AI 去除 API 数据接口 ai / 隐私保护 基于 AI 模型自动去除个人识别信息(PII) 个人信息保护 / AI 模型 。 1. 产品功能 基于自有专业模型进行 PII 自动去除高效处理敏感信息全接口支持 HTTPS(TLS v1.0 / v1.1 / v1.2 /…...
【Python-办公自动化】1秒提取PPT文本内容形成目录保存至WORD
欢迎来到"花花 Show Python",一名热爱编程和分享知识的技术博主。在这里,我将与您一同探索Python的奥秘,分享编程技巧、项目实践和学习心得。无论您是编程新手还是资深开发者,都能在这里找到有价值的信息和灵感。 自我介绍: 我热衷于将复杂的技术概念以简单易懂…...

maven介绍与安装
一. maven概述 1. 关于项目依赖的jar包管理 问题描述: 直接在每个项目的lib文件夹中复制jar包会导致多个问题,包括jar包的重复存放、版本冲突以及手动管理带来的不便和错误。 问题分析: 重复存放:每个项目都保存一份相同的jar…...

瑞友科技项目经理认证负责人杨文娟受邀为第四届中国项目经理大会演讲嘉宾︱PMO评论
全国项目经理专业人士年度盛会 北京瑞友科技股份有限公司项目经理认证负责人杨文娟女士受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾,演讲议题为“瑞友科技项目经理人才培养体系落地实践”。大会将于10月26-27日在北京举…...

网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...

WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...

9-Oracle 23 ai Vector Search 特性 知识准备
很多小伙伴是不是参加了 免费认证课程(限时至2025/5/15) Oracle AI Vector Search 1Z0-184-25考试,都顺利拿到certified了没。 各行各业的AI 大模型的到来,传统的数据库中的SQL还能不能打,结构化和非结构的话数据如何和…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...