当前位置: 首页 > news >正文

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安装软件的方式:
  1. 源代码安装 — 交叉编译工作(不适合小白)
  2. rpm包直接安装(同样不适合小白)
  3. 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
查找yum中的rzsz

简单解释一下rzsz:rzsz是用于Windows机器和Linux机器通过Xshell传输文件。安装完毕后就可以通过拖拽的方式将Windows的文件传输到Linux机器上了。
yum的安装功能

yum install -y [command]

注意:安装软件需要有root权限。
演示:安装rzsz
安装rzsz

yum的删除功能

yum remove -y [command]

演示:删除rzsz
删除rzsz

2. Linux编辑器-vim的使用

vim键位图
vim键位图

vi和vim都是多模式编辑器,不同的是vim是vi的升级版本,vim不仅兼容vi的所有指令,而且还有一些新的特性在里面,例如语法高亮,可视化操作不仅可以在终端运行,也可以在x Windows、mac os、Windows。本文以vim来进行讲解。

2.1 vim的基本概念

vim存在多种种模式,本文只讲其中的3种常用的模式:

  1. 命令模式(command mode)
  2. 插入模式(insert mode)
  3. 底行模式(last line mode)
  • 命令模式的功能:
    控制屏幕光标的移动,字符,字或行的删除,移动复制某区段及进入insert mode下或者到last line mode
  • 插入模式的功能:
    只有在插入模式下,才可以做文字输入,按[ESC]可回到命令模式。该模式是我们使用最频繁的编辑模式。
  • 底行模式的功能:
    文本保存或退出,也可以进行文件的替换,找字符串列出行号等操作。在命令模式下输入shift + ;即可进入底行模式。
    转化图
    转化图

2.2 vim的基本操作

进入vim,在系统提示符输入vim及文件名后,就进入vim全屏幕编辑画面了

vim file.c

当你进入进入vim后,是处于命令模式的。如图:
命令模式

如果你要输入文字就必须切换到插入模式
命令模式切换插入模式

  • 输入a
  • 输入i
  • 输入o
    当用户进入插入模式后,底行会出现insert,此时可以输入字符。
    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题目练习地址&#xff1a; xss小游戏 游戏界面 一、Ma Spaghet! 我将题目要求进行翻译: 题目的主要要求就是&#xff1a;弹出一个&#xff08;1337&#xff09;的弹窗 开始解题&#xff1a; Let’s Go! 首先&#xff0c;传个参数看看 发现参数直接显示在了 < h2 >…...

《Redis核心技术与实战》学习笔记4——AOF日志:宕机了,Redis如何避免数据丢失?

文章目录 AOF 日志是如何实现的&#xff1f;三种写回策略 日志文件太大了怎么办&#xff1f;AOF 重写会阻塞吗?小结 大家好&#xff0c;我是大白。 如果有人问你&#xff1a;“你会把 Redis 用在什么业务场景下&#xff1f;”我想你大概率会说&#xff1a;“我会把它当作缓存使…...

NextJs - 服务端/客户端组件之架构多样性设计

NextJs - 服务端/客户端组件之架构多样性设计 前言一. 架构设计1.1 SSR流式渲染常见错误设计之 - 根页面同步阻塞1.2 架构设计之 - 客户端组件依赖于服务端组件数据① 使用 Redux 完成数据共享 1.3 架构设计之 - 单页内的分步骤跳转① 如何做到服务端组件和客户端组件之间的切换…...

使用 Python 进行 PDF 文件加密

使用 Python 解密加密的 PDF 文件-CSDN博客定义一个名为的函数&#xff0c;该函数接受三个参数&#xff1a;输入的加密 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屏幕制造工艺流程是一个复杂且精细的过程&#xff0c;涉及多个关键步骤以确保最终的显示效果和性能。以下是OLED屏幕制造工艺流程的主要步骤&#xff1a; 1. 衬底制作与准备 材料选择&#xff1a;OLED器件需要一个透明的导电衬底&#xff0c;通常使用玻璃或塑料材料。 清…...

knowLedge-VueCLI项目中环境变量的定义与使用

1. env 1.1简介 在 Vue CLI 创建的项目中&#xff0c;你可以通过 .env 文件来定义环境变量。Vue CLI 支持多种 .env 文件&#xff0c;它们根据文件名中的前缀来决定何时加载和使用这些环境变量。 以下是一些常见的 .env 文件及其用途&#xff1a; .env&#xff1a;在任何环境…...

【C#】 接口 继承

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

Self-Supervised Learning(李宏毅老师系列)

自学参考&#xff1a; BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding BERT 论文逐段精读 视频课 课件资料 笔记 一、概述 自监督学习模型与芝麻街~ 参数量 ELMO&#xff1a;94MBERT&#xff1a;340MGPT-2&#xff1a;1542MMegatron&…...

8月16日笔记

只有DNS协议出网场景 DNS 协议是一种请求、应答协议&#xff0c;也是一种可用于应用层的隧道技术。DNS 隧道的工作原理很简单&#xff0c;在进行 DNS 查询时&#xff0c;如果查询的域名不在 DNS 服务器本机缓存中&#xff0c;就会访问互联网进行查询&#xff0c;然后返回结果。…...

苹果Mac电脑——装macOS和Windows双系统的方法

一、实验环境 在Windows系统电脑上制作MacOS启动U盘。准备一个大于16G的U盘。 二、实验步骤 2.1 在Windows系统电脑上制作MacOS启动U盘 MacOS镜像下载 在Windows系统电脑上制作MacOS启动U盘的方法 2.2 U盘插上苹果电脑&#xff0c;安装macOS系统 U盘插上苹果电脑&#xf…...

【C++ 面试 - 基础题】每日 3 题(十五)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…...

数学建模学习笔记

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

个人可识别信息(PII) AI 去除 API 数据接口

个人可识别信息(PII) AI 去除 API 数据接口 ai / 隐私保护 基于 AI 模型自动去除个人识别信息&#xff08;PII&#xff09; 个人信息保护 / AI 模型 。 1. 产品功能 基于自有专业模型进行 PII 自动去除高效处理敏感信息全接口支持 HTTPS&#xff08;TLS v1.0 / v1.1 / v1.2 /…...

【Python-办公自动化】1秒提取PPT文本内容形成目录保存至WORD

欢迎来到"花花 Show Python",一名热爱编程和分享知识的技术博主。在这里,我将与您一同探索Python的奥秘,分享编程技巧、项目实践和学习心得。无论您是编程新手还是资深开发者,都能在这里找到有价值的信息和灵感。 自我介绍: 我热衷于将复杂的技术概念以简单易懂…...

maven介绍与安装

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

瑞友科技项目经理认证负责人杨文娟受邀为第四届中国项目经理大会演讲嘉宾︱PMO评论

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

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天&#xff0c;通信网络的角色正变得愈发关键。 2025年6月6日&#xff0c;为期三天的华南国际工业博览会在深圳国际会展中心&#xff08;宝安&#xff09;圆满落幕。作为国内工业通信领域的技术型企业&#xff0c;光路科技&#xff08;Fiberroad&…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三&#xff0c;HubSpot宣布已构建与ChatGPT的深度集成&#xff0c;这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋&#xff0c;但同时也存在一些关于数据安全的担忧。 许多网络声音声称&#xff0c;这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

LOOI机器人的技术实现解析:从手势识别到边缘检测

LOOI机器人作为一款创新的AI硬件产品&#xff0c;通过将智能手机转变为具有情感交互能力的桌面机器人&#xff0c;展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家&#xff0c;我将全面解析LOOI的技术实现架构&#xff0c;特别是其手势识别、物体识别和环境…...