Linux环境开发工具【yum与vim】

news2024/12/23 17:38:43

🌈个人主页: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 从入门到精通

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

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

相关文章

机器学习——XGBoost

目录 一、初识XGBoost 1. 介绍 2. 使用 XGBoost 的方法 (1)直接使用xgboost库自己的建模流程 (2)使用xgboost库中的sklearn的API 3. XGBoost的三大板块 4. 提升集成算法 5. 建模流程 二、模型常用参数 1. n_estimators …

Leetcode每日刷题之611.有效三角形的个数(C++)

1. 思路解析 根据题意我们可知,我们需要在指定数组中找出任意三个数并判断是否可以组成一个三角形,即任意两数之和大于第三个数,任意两数之差小于第三个数,如果有数组元素相同的数组,由于取出的元素只是数值相同而实际…

Final Cut Pro Mac(fcpx专业视频剪辑软件) 10.8 中文版安装

Final Cut Pro 是苹果公司为专业视频编辑人士量身打造的非线性编辑软件,以其卓越的性能和深度定制的工具集,在影视制作、电视广播、广告创意等多个领域占据了重要地位。凭借其对高分辨率视频的无缝支持和实时剪辑的流畅体验,Final Cut Pro 成…

3.3 关系模型与关系代数

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

链表专题.

Leetcode 160. 相交链表 解题思路: 代码实现:时间复杂度O(nm) 空间复杂度O(1) 我的实现方式 class Solution { public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {ListNode* pa headA, *pb headB;bool f1 false, f2 fals…

数学建模预测类—【多元线性回归】

每日名言:成名每在穷苦日,败事多因得意时 目录 文章目录 前言 二、参数估计 三、多元线性回归模型和回归系数的检验 四、预测 总结 前言 本文将根据回归建模过程来讲解多元线性回归模型,有关回归分析的知识以及一元线性回归的内容可以戳…

[C++][opencv]基于opencv实现photoshop算法图像旋转

【测试环境】 vs2019 opencv4.8.0 【效果演示】 【核心实现代码】 //图像旋转: src为原图像, dst为新图像, angle为旋转角度, isClip表示是采取缩小图片的方式 int imageRotate4(InputArray src, OutputArray dst, double angle, bool isClip) {Mat input src.…

大模型应用开发基础知识

一、LangChain介绍 背景 一个应用程序通常需要多次对大语言模型写提示并对它输出的结果进行解析。因此,需要写很多胶水代码。而LangChain的目的使这个开发过程变得更容易。目的 LangChain是一个构建大语言模型应用的开源框架。当有人在开发LLM的复杂应用&#xff0…

ModuleNotFoundError: No module named ‘transformers_modules.chatglm-6b-v1‘

ModuleNotFoundError: No module named transformers_modules.chatglm-6b-v1 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,…

基于Java语言的充电桩平台 包含(充电桩系统 汽车充电桩云快充协议 电动自行车充电桩协议 中电联充电桩互联互通协议)

介绍 SpringBoot 框架,充电桩平台充电桩系统充电平台充电桩互联互通协议云快充协议1.5-1.6协议新能源汽车二轮车公交车二轮车充电-四轮车充电充电源代码充电平台源码Java源码 软件架构 软件架构说明 软件功能 小程序端:城市切换、附近电站、电桩详情…

【RAG实战】基于TextIn打造上市公司财务报表智能问答系统

今天介绍一个项目案例,利用大语言模型打造上市公司财务报表智能问答系统。 在当今竞争激烈的市场环境中,企业和投资者对财务信息的获取与分析要求越来越高。上市公司财务报表作为评估公司财务健康和未来发展的重要依据,提供了大量关键信息。 然而,传统的财务报表分析技术…

尚品汇-前端调用搜索实现(三十二)

目录&#xff1a; &#xff08;1&#xff09;修改web-all模块 &#xff08;2&#xff09;配置网关 &#xff08;3&#xff09;页面渲染 &#xff08;4&#xff09;面包屑处理 &#xff08;1&#xff09;修改web-all模块 修改pom.xml文件 <dependencies><depende…

QT串口通信

查看详情http://100bcw.com/qt6.htm 前言&#xff1a;如果用qt写程序作为上位机&#xff0c;然后通过和usb和下位机通信的时候&#xff0c;就需要用到qt中的串口通信了。 使用qt中的串口通信的时候需要用到的两个头文件分别为&#xff1a; #include <QtSerialPort/QSeria…

MYSQL----表的创建

1.创建表 create table 表名&#xff08; field1 datetype, field2 datetype, field3 datetype &#xff09; 1.field字段名&#xff0c;也就是属性&#xff0c;相当于java类里面的成员属性 2.datetype 数据类型 3.最后一个字段的定义&#xff0c;结束没有逗号 4.字段的定义在…

政策驱动,科技引领,漫途信息化监测方案守护农村饮水安全!

近日&#xff0c;山西省人民政府正式发布《山西省农村供水高质量发展规划》&#xff0c;明确到2030年&#xff0c;全面实现农村24小时供水&#xff0c;县域农村饮水安全标准化建设达标率力争达到80%&#xff0c;基本实现农村供水城市化、城乡供水均等化。 现阶段部分地区受…

基于VS2022+Qt5+C++的串口助手开发

目录 一、前言 二、环境准备 三、创建QT串口项目 ​编辑 四、串口项目实现 1.ui界面设计 2.添加QT串口模块 3.功能实现 ①串口扫描 ②波特率、停止位等设置 ③接收数据 ④发送数据 五、最终效果 六、总结 一、前言 如果有人之前看过我文章的话应该知道&#xf…

C# 窗体通过调用webapi往U9C系统创建请购单

C# 窗体通过调用webapi往U9C系统创建请购单 窗体图片 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; using System…

Java面试题———分布式篇

目录 1、什么是分布式事务 2、什么是CAP理论 3、为什么分布式系统中无法同时AC 4、什么是BASE理论 5、分布式事务的解决方案有哪些 6、Seata的架构是什么 7、XA模式的工作流程是什么 8、AT模型的工作原理是什么 9、TCC模型的工作原理是什么 1、什么是分布式事务 在分…

Aix 清理 iscsi 残留盘

目录 一、前提概要 二、解决方法 一、前提概要 Aix 环境下挂载 ISCSI 盘&#xff0c;需要结合 LVM 进行挂盘。这个过程比较复杂&#xff0c;在使用过程中极易出现残留。 本篇博客介绍的就是如何清理 Aix 下 ISCSI 的残留。 二、解决方法 主要步骤和需要执行的命令如下面的流…

ModuleNotFoundError: No module named ‘pywin32_bootstrap

ModuleNotFoundError: No module named ‘pywin32_bootstrap 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&#xff0c;热衷分享知识&#xff0c;武汉城市开发者社…