Linux开发工具:yum和vim的使用

news2024/11/26 9:40:45

目录

一. Linux下的软件

1.1 软件安装的三种方法

1.2 采用yum安装软件

1.3 yum源的问题

二. vim开发工具的使用

2.1 vim的三种基本模式

2.2 命令模式下vim的常用指令

2.2.1 定位相关指令

2.2.2 光标移动相关指令

2.2.3 插入相关指令

2.2.4 复制粘贴相关指令

2.2.5 替换和更改相关指令

2.2.6 其他指令

2.3 底行模式下vim的常用指令

2.3 vim的多文件操作

2.4 vim编译和运行程序


一. Linux下的软件

1.1 软件安装的三种方法

  • 源代码安装 --  安装困难,不适用于普通用户
  • rpm安装 -- rmp相对于Linux下的安装包,需要用户自身去寻找安装源、安装版本,解决安装依赖问题,安装难度依旧较大。
  • yum安装 -- 解决了安装源、安装版本和安装依赖的问题。

yum,类似于手机上的应用商店。

1.2 采用yum安装软件

以lrzsz软件(完成Windows和Liunx之间的文件传输)为例,演示如何采用yum安装和卸载软件。

  • rz -- 从Winowds向Linux传输文件。
  • sz 文件名 -- 将Windows下的文件传输到Linux。
图1.1 使用rzsz实现Linux和Windows的文件互传

三条命令查找并安装软件:

  • yum list -- 打印所有可安装软件列表。
  • yum list | grep 软件名(部分) -- 查找要安装的软件。
  • yum -y install 软件名 -- 安装软件,这里-y选项是不询问是否安装,直接强制安装。

注意:如果使用yum安装已经存在的软件,那么系统会输出Nothing to do。

图1.2 软件查找和安装
  •  软件删除:yum -y remove 软件名

1.3 yum源的问题

我们在使用yum下载软件时,是通过系统内配置的yum源,去查找软件的下载地址,通过网络从远端服务器拉取下载资源,然后下载相应的软件。

  • yum源:/etc/yum.repos.d/

通过指令 ls -l /etc/yum.repos.d/,可以查看/etc/yum.repos.d/目录下的内容如图1.2所示,其中:

  • CentOS-Base.repo -- 官方yum源。
  • CentOS-Epel.repo -- 扩展yum源。
图1.3 LInux内置的yum源

扩展yum源有时候需要用户自行安装:

  • yum -y install epel-release
图1.4 扩展yum源的安装(已存在)

由于Linux为国外开发的操作系统,因此内置的yum源一般为国外的链接,在国内使用下载速度会比较慢,可以进行替换,将国外yum源替换为国内的镜像。

  • vim /etc/yum.repos.d/CentOS-Base.repo -- 具体yum源的查看(国内镜像/国外)
图1.4 使用vim查看具体yum源

二. vim开发工具的使用

vim既可以进行文本编译,也可以写代码,甚至可以编译和运行代码,是一款多模式的编辑器。

2.1 vim的三种基本模式

  • 命令模式(默认) -- 光标位置的切换、赋值粘贴字符/行、删除和替换字符/行,可以从命令模式进入插入模式和底行模式。
  • 插入模式:进行文本编辑,只有在插入模式下才能使用键盘进行文本输入。
  • 底行模式:文本的保存和退出、编译代码、运行代码、查找文件内容等。

三种基本模式间切换的快捷键: 

  • 命令模式 -> 插入模式:i、I、a、A、O、o
  • 插入模式 -> 命令模式:ESC
  • 命令模式 -> 底行模式:Shift + :
  • 底行模式 -> 命令模式:ESC

注意:无法实现底行模式和插入模式的直接切换,必须以命令模式为中介进行切换。

图2.1 vim的三种基本模式及它们之间的切换

2.2 命令模式下vim的常用指令

2.2.1 定位相关指令

指令功能
gg光标定位到首行
Shift + g光标定位到最后一行
n + Shift + g光标定位到第n行
Shift + $定位到光标所在行的行末
Shift + ^定位到光标所在行的行首

2.2.2 光标移动相关指令

指令功能
h光标左移一个字符
j光标下移一行
k光标上移一行
l光标右移一个字符
w以单词为单位右移或跨行移动
b以单词为单位左移或跨行移动

2.2.3 插入相关指令

在命令模式下输入下标中的指令,实现从命令模式到插入模式的切换。

指令功能
i在光标之前插入
I在光标所在行行首插入
a在光标位置之后插入
A在光标所在行的末尾插入
o在光标下方新建一行插入
O在光标上方新建一行插入

2.2.4 复制粘贴相关指令

指令功能
yy复制光标所在行
(n)yy 复制从光标所在行开始向下的n行内容
p粘贴复制内容
(n)p粘贴n行复制内容
(n)dd剪切(删除)n行内容

2.2.5 替换和更改相关指令

指令功能
(n)r + 字符更改从光标位置开始的连续n个字符
Shift + r进入到替换模式
(n)x删除光标之后的连续n个字符

2.2.6 其他指令

指令功能
Shift + ~快速大小写转换
u撤回刚才的操作
Ctrl + r撤回u撤回的操作

2.3 底行模式下vim的常用指令

命令模式 -> 底行模式:shift + :

  • 保存和退出相关指令:
指令功能
q退出
w保存
wq保存并退出
q!强制退出
w!强制保存
wq!强制保存并退出
  • 搜索和设置相关指令
指令功能
set nu显示行号
set nonu取消行号显示
/ 内容内容搜索
图2.2 在底行模式下查找

2.3 vim的多文件操作

  • 在底行模式下,输入指令:vs 文件名 -- 实现多文件操作
图2.3 vim操作多文件界面
  •  Ctrl + w -- 窗口间的切换
  • 光标在哪个窗口,就对哪个窗口操作

2.4 vim编译和运行程序

  • ! gcc code.c  -- 编译C语言源文件代码
  • ! gcc code.c -std=c99 -- 以c99标准编译C语言源文件代码
  • ! g++ code.cpp -- 编译C++源代码
  • ! g++ code.cpp -std=c++11 -- 以C++11的标准编译C++源代码
  • ! ./a.out(可执行程序文件名) -- 运行代码
图2.4 vim下的代码运行

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

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

相关文章

Tauri应用开发(三):自定义拖拽区域

1. 自定义拖拽:data-tauri-drag-region tauri默认的顶部可拖拽,有时候我们不需要这个拖拽,或者需要自定义拖拽区域时,就需要通过tauri提供的data-tauri-drag-region属性来自定义拖拽区。 ![在这里插入图片描述](https://img-blog…

基于Python的图书信息管理系统

1引言 进入21世纪以来,信息技术从根本上推动了图书馆的飞速发展,计算机和计算机管理系统已成为图书馆进行图书管理的主要设备和系统。虽然目前很多大型的图书馆已经有一整套比较完善的管理系统,但是在一些中小型的图书馆中,大部分…

【Python 虚拟环境创建】解决遇到的问题并在vscode上测试

目录 一、前提准备 二、python虚拟环境创建 解决问题:‘virtualenv’/‘mkvirtualenv‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 解决问题:pycharm终端提示无法加载文件 E:\software\python_pycharm\venv\Scripts\activat…

Kuberntes云原生实战09 Kubernetes高可用安装小结

大家好,我是飘渺。 今天咱们继续更新Kubernetes云原生实战系列,本节文章是我们在安装过程中可能会遇到的问题以及解决方法。(都是我踩过的坑,你们大概率也会遇到~) 1. kubesphere平台无法使用kubectl命令行工具 问题现象 如果你给你的KubeSphere在Nginx上配置了域名访…

【2023 雷泽杯 · Misc】png的秘密

一个关于png结构的题目 一、题目 一张打不开的png文件,唉。 二、解题思路 少了头,就给他加上。我比较笨,还是萌新,采用导出16进制,添加后,010editor导入16进制。 添加之后,顺眼多了。然后用png…

阿里云服务器 之 mqtt服务器搭建及使用

本文主要是对mqtt的学习使用,其中服务器是基于阿里云服务器的mqtt功能,客户端使用的是mqttx软件。 一、服务器部分搭建说明 1、如果是首次使用,则需要经过注册与认证的步骤。 2、找到"产品与服务"-->"物联网平台"&…

DAY 60 mysql的备份与恢复

数据备份的重要性 备份的主要目的是灾难恢复。 在生产环境中,数据的安全性至关重要。 任何数据的丢失都可能产生严重的后果。 造成数据丢失的原因: 程序错误人为操作错误运算错误磁盘故障灾难(如火灾、地震)和盗窃 数据库备份…

redis 高可用与优化

一、Redis高可用 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提…

成绩管理系统

系列文章 任务28 成绩管理系统 文章目录 系列文章一、实践目的与要求1、目的2、要求 二、课题任务三、总体设计1.存储结构及数据类型定义2.程序结构3.所实现的功能函数4、程序流程图 四、小组成员及分工五、 测试读入数据浏览全部信息增加学生信息保存数据删除学生信息修改学生…

加密与解密 基础篇/win API/小端序大端序

1.1加密和解密的概念 是侧重于windows 的加密保护和解密技术 首先我们先要了解 软件逆向工程 可执行程序->反编译->源代码这就是逆向工程 接着 逆向分析技术是什么 静态调试 和动态调试 主要分为这俩类1.通过软件的执行 来分析程序 我们可以通过阅读程序的执行 或…

这个Set接口真牛逼

偶然间看到 java.util 包下的 Set 接口,看着好搞笑哈哈哈哈哈哈哈 包括了如下几个方法: 创建包含0个元素的不可修改的Set集合创建包含1个元素的不可修改的Set集合创建包含2个元素的不可修改的Set集合创建包含3个元素的不可修改的Set集合创建包含4个元素…

ROS:laser激光雷达数据格式、发送laser数据、订阅laser数据

一.激光雷达数据格式 图片来源:ROS-订阅与处理激光雷达scan话题_ros激光雷达数据处理_zhhao1326的博客-CSDN博客 # 测量的激光扫描角度,逆时针为正 # 设备坐标帧的0度面向前(沿着X轴方向) Header header # Header也是一…

Java学习路线(8)——面向对象基础(2)

一、static关键字 概念: static是静态的意思,可以修饰成员变量和成员方法。当修饰成员变量时,在内存中只存储一份,可以被共享访问、修改。当修饰成员方法时,可以被共享访问,也被称为公共方法。 静态成员变…

【linux网络】防火墙规则二:SNAT策略与DNAT策略

防火墙规则 一、SNAT策略1.1SANT的原理与应用1.2SNAT实验 二、DNAT策略2.1DNAT的原理与应用2.2DNAT实验 三、Linux的抓包工具tcpdump3.1补充知识 四、防火墙规则的备份和还原 一、SNAT策略 1.1SANT的原理与应用 SNAT 应用环境:局域网主机共享单个公网IP地址接入In…

2023.05.21 学习周报

文章目录 摘要文献阅读1.题目2.背景3.现存问题和解决方法4.方法4.1 Variational mode decomposition (VMD)4.2 Bidirectional LSTM 5.实验5.1 数据标准化5.2 评价指标5.3 实验过程及结果 6.结论和展望 优劣解距离法有限元1.求解一个简单的传热问题2.有限元如何实现 总结 摘要 …

vscode远程到服务器(包括WSL)进行GDB调试

工欲善其事必先利其器,这句话不容小觑,调试工具做的好,对开发工作可起到事半功倍。 本文主要讲vscode远程到服务器进行在线GDB调试手段,包含对WSL的远程调试,可以轻松对照源码进行应用程序调试。 文章目录 一、vscode…

【SpringCloud】一、认识微服务

文章目录 1、学习提纲2、和单体架构的比较3、认识微服务4、微服务技术常用框架5、SprigCloud6、服务拆分7、微服务远程调用 1、学习提纲 相比传统单体架构,微服务的整体架构如下图: 再引入日志、监控、持续集成、持续部署,就成了下面这个图&…

RocketMQ 的介绍和基本使用

介绍 在 RabbitMQ 的基本概念和五种模式使用示例 前半部分介绍了 MQ 的应用场景,以及多个 MQ 产品的对比,那时说到 RocketMQ 的客户端版本只有 Java , 现在 Apache RocketMQ 社区中也增加了 C NodeJS Python Go 的客户端。 RocketMQ 是阿里巴巴开源的一…

iOS正确获取图片参数深入探究及CGImageRef的使用(附源码)

一 图片参数的正确获取 先拿一张图片作为测试使用 图片参数如下: 图片的尺寸为: -宽1236个像素点 -高748个像素点 -色彩空间为RGB -描述文件为彩色LCD -带有Alpha通道 请记住这几个参数,待会儿我们演示如何正确获取。 将这张图片分别放在…

从零开始 Spring Boot 32:AOP II

从零开始 Spring Boot 32:AOP II 图源:简书 (jianshu.com) 之前写过一篇文章从零开始 Spring Boot 26:AOP - 红茶的个人站点 (icexmoon.cn),讨论了AOP的基本用法,但那篇文章相当粗疏,对Spring中的AOP技术讨…