【Linux基础】Linux中的开发工具(1)--yum和vim

news2024/11/13 22:37:14

目录

  • ✈️前言
  • 一,Linux 软件包管理器 yum
    • 1. 什么是软件包
    • 2. 如何安装软件
    • 3. 如何卸载软件
  • 二,Linux编辑器-vim使用
    • 1. vim的基本概念
      • 1.1 命令/正常/普通模式
      • 1.2 插入模式
      • 1.3 底行模式
  • 三,vim命令模式命令集
    • 1. 移动光标
    • 2. 删除字符
    • 3. 复制
    • 4. 替换
    • 5. 撤销上一次操作
    • 6. 跳至指定的行
    • 7. 更改
  • 四,vim底行模式命令集
    • 1. 列出行号
    • 2. 查找字符
    • 3. 保存文件
    • 4. 离开vim
    • 5. 不退出vim,对代码进行编译执行
    • 6. 分屏
  • 五,vim插入模式命令集

点击跳转至文章: 【Linux基础】对Linux权限的理解与管理

✈️前言

前面我们已经介绍了Linux的基本指令和文件,目录权限的管理。本篇文件我们介绍Linux中的基础开发工具—yum与vim,重点是要熟练的使用vim的操作命令

一,Linux 软件包管理器 yum

在Linux中常见的软件安装方式有:yum/apt,rpm安装包安装,源码安装其中,centos默认是用yum,ubuntu默认是用apt

1. 什么是软件包

在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译, 得到可执行程序。

但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装。

软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系

yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器。 主要应用在Fedora,RedHat,Centos等发行版上

2. 如何安装软件

通过 yum,我们可以通过很简单的一条命令完成 gcc 的安装

sudo yum install -y lrzsz

(1) yum 会自动找到都有哪些软件包需要下载
(2) -y 可以避免在下载安装过程中每次询问我们是否安装
(3) lrzsz这个工具用于windows机器和远端的 Linux 机器通过 XShell 传输文件,安装完毕之后可以通过拖拽的方式将文件上传过去

注意事项:

1、安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成
2、yum安装软件只能一个装完了再装另一个。正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错。
3、如果 yum 报错, 请自行百度

3. 如何卸载软件

仍然是一条命令:

sudo yum remove lrzsz

二,Linux编辑器-vim使用

1. vim的基本概念

vim是一个多模式的编辑器。我们目前使用vim能接触到的有五种模式:命令/正常/普通模式,插入模式,底行模式,visual block模式但是重点掌握前三种模式

1.1 命令/正常/普通模式

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式下,或者到底行模式

1.2 插入模式

只有在插入模式下,才可以做文字输入,按「Esc」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式

1.3 底行模式

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作在命令模式下,shift+: 即可进入该模式要查看你的所有模式:打开vim,底行模式直接输入 :help vim-modes

五种模式的切换如下图:

在这里插入图片描述

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

$ vim test.c

不过有一点要特别注意就是你进入vim之后,是处于[正常模式],你要切换到[插入模式]才能够输入文字

(2) [正常模式]切换至[插入模式]

输入a:是从光标当前位置开始输入文字。
输入i:光标所在位置的下一个位置开始输入文字。
输入o:是插入新的一行,从行首开始输入文字。

(3) [插入模式]切换至[正常模式]

目前处于[插入模式],就只能一直输入文字如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除

(4) [正常模式]切换至[底行模式]

「shift + ;」, 其实就是输入「:」

(5) 退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「底行模式」,例如

: w (保存当前文件)
: wq (输入「wq」,存盘并退出vim)
: q! (输入q!,不存盘强制退出vim)

所以,在任何模式下想要回命令模式,直接无脑 [Esc]

三,vim命令模式命令集

1. 移动光标

  • vim可以直接用键盘上的按键来上下左右移动,但正规的vim是用小写英文字母 [h],[j],[k],[l],分别控制光标左,下,上,右移一格
  • [shift+g = G]:定位到文本的末尾
  • [n+shift+g]:定位到文本的第n行
  • [gg]:定位到文本的最开始
  • [$]:移动到光标所在行的"行尾"
    -[ ^]:移动到光标所在行的"行首"
  • [w]:以单词为单位,向后跳
  • [e] :以单词为单位,向前跳
  • [ctrl + b]:屏幕往"后"移动一页
  • [ctrl + f] :屏幕往"前"移动一页

2. 删除字符

  • [x]:每按一次,删除光标所在位置的一个字符
  • [n+x]:删除n个字符例如,[6x]表示删除光标所在位置的"后面(包含自己在内)"6个字符
  • [dd]:删除光标所在行
  • [n+dd]:从光标所在行开始删除n行
  • [X]:大写的X,每按一次,删除光标所在位置的“前面”一个字符
  • [n+X]:例如,[20X]表示删除光标所在位置的“前面”20个字符

3. 复制

  • [yy]:复制光标所在行到缓冲区
  • [n+yy]:复制n行例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字
  • [p]:将缓冲区内的字符贴到光标所在位置注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能
  • [yw]:将光标所在之处到字尾的字符复制到缓冲区中
  • [n+yw]:复制n个字到缓冲区

4. 替换

  • [r]:替换光标所在处的字符
  • [R]:批量替换。替换光标所到之处的字符,直到按下[ESC]键为止

5. 撤销上一次操作

  • [u]:如果您误执行一个命令,可以马上按下[u],回到上一个操作按多次“u”可以执行多次回复
  • [ctrl + r] :撤销的恢复

6. 跳至指定的行

  • [ctrl + g]:列出光标所在行的行号
  • [n+G]:例如,[15G],表示移动光标至文章的第15行行首

7. 更改

  • [cw]:更改光标所在处的字到字尾处
  • [c+n+w]:例如,[c3w]表示更改3个字

四,vim底行模式命令集

在使用底行模式之前,请记住先按[ESC]键确定您已经处于命令模式,再按[:]冒号即可进入底行模式

1. 列出行号

  • [set nu/set nonu]:设置/取消行号

2. 查找字符

  • [ / + 关键字]: 先按 [/] 键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以==一直按 [n]==会往后寻找到您要的关键字为止。
  • [? + 关键字]:先按 [?] 键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 [n] 会往前寻找到您要的关键字为止。

3. 保存文件

  • [w]: 在冒号后输入字母[w]就可以将文件保存起来

4. 离开vim

  • [q]:按[q]就是退出,如果无法离开vim,可以在[q]后跟一个 [!] 强制离开vim

  • [wq]:一般建议离开时,搭配 [w] 一起使用,这样在退出的时候还可以保存文件

  • [!ls],[!ll],[!pwd]:直接跳回目录并执行该命令

5. 不退出vim,对代码进行编译执行

!gcc code.c -o hello.txt
! ./hello.txt

6. 分屏

  • [vs + 文件名]:在vim中分屏打开指定文件。看光标判断字在哪个文件里
  • [ctrl + ww]:分屏时光标跳到另一个屏幕

五,vim插入模式命令集

  • 注释:ctrl+v --> hjkl(光标定位) -->shift+i --> //(双斜杠) --> Esc
  • 去注释:ctrl+v --> hjkl --> d

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

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

相关文章

后端调优——分布式锁选型——入门

文章目录 引言正文分布式锁的定义分布式锁的具体应用场景如何实现分布式锁主动轮询型分布式锁实现思路一、MySQL分布式锁二、Redis分布式锁 监听回调型分布式锁Etcd分布式锁Zookeeper分布式锁 锁的对比 总结 引言 最近面试,一直被问到分布式锁,然后仅仅…

基于Martin实现MapboxGL自定义底图

概述 本文分享基于Martin实现MapboxGL底图的自定义。 实现后效果 Martin简介 Martin 是一个瓦片服务器,它能够从 PostGIS 数据库、PMTiles(本地或远程)以及 [MBTiles] (https://github.com/mapbox/mbtiles-spec) 文件中快速生成并提供矢量瓦…

七人共享拼团:社交电商的裂变新引擎

在当今电商市场中,七人共享拼团模式以其独特的社交属性和裂变机制,正成为一股不可忽视的力量。这一模式巧妙融合了社交电商的互动性与拼购的实惠性,通过平台利润回馈用户的方式,构建了一个既人性化又高效的奖励体系,旨…

QT 添加程序图标

1. 使用免费网站将其他图片格式转化成ico格式 Ico转换器 : https://cn.free-converter.com/ico-converter 2.qmake项目添加程序图标 在.pro文件内添加语句,如下图 RC_ICONS favicon.ico2.1 程序图标文件添加到项目目录内 2.2 通过windeployqt xxx.exe构建生成的…

动手研发实时口译系统

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…

一文通晓 AI 框架

首先深度学习是机器学习研究领域中的一种范式,而深度学习的概念源于对人工神经网络的研究,很多深度学习算法都使用神经网络进行表示,因为神经网络的性能精度和通用效果都非常好,于是业界习惯性地把深度学习算法等同于 AI。 深度学…

GNSS位移监测站:高精度、高稳定性、高安全性

在现代工程与自然灾害监测领域,GNSS位移监测站以其卓越的功能优势,正逐步成为守护安全、预防灾害的重要工具。其采用的直径114mm加强型立杆,不仅坚固耐用,更严格遵循《地质灾害专群结合监测领警技术指南(试行&#xff…

企业建设零信任体系的核心思路

根据安全牛的调查研究发现,零信任安全理念已经较广泛得到国内各类型企业用户的认可,组织对应用零信任进行网络安全建设已经初具信心,零信任理念对网络安全防护工作的价值开始多方面的展现。 企业开展零信任网络建设的需求和驱动因素 本次调…

86.SAP ME工艺路线打开错误

目录 1.SAP ME工艺路线维护界面 2.错误情况 3.解决方法 1.SAP ME工艺路线维护界面 这个功能设计采用jnlp的方式打开,JNLP(Java Network Launching Protocol )是java提供的一种可以通过浏览器直接执行java应用程序的途径,它使你…

图论------如何使用矩阵来存储图的信息(邻接矩阵表示法)。

文章概述: 刚开始图论我们先不急于解决实际的问题,先去搞明白如何存储图的信息。实际上我们早就接触过类似的内容,比如上一篇文章的开灯关灯游戏中,我们使用一维数组来表示一排灯的状态,但是如果要表示更加复杂的内容怎…

【STM32】ADC模拟数字转换(规则组单通道)

本篇博客重点在于标准库函数的理解与使用,搭建一个框架便于快速开发 目录 ADC简介 ADC时钟配置 引脚模拟输入模式 规则组通道选择 ADC初始化 工作模式 数据对齐 触发转换方式 连续与单次转换模式 扫描模式 组内的通道个数 ADC初始化框架 ADC上电 ADC校…

高质量翻译对高质量内容和用户体验的影响

在当今全球化的数字环境中,高质量翻译在塑造高质量内容和用户体验方面的重要性怎么强调都不为过。随着公司和开发人员在不同地区和文化中扩大影响力,有效地翻译成为确保内容与不同受众产生共鸣的关键因素。高质量的翻译不仅保留了原始内容的完整性&#…

【网络层】上

目录 一. 网络层功能概述二. SDN的基本功能2.1 数据平面2.2 控制平面(传统方法/每路由器法)2.3 控制平面(SDN方法) 三. 路由算法与路由协议四. IP数据报4.1 IP数据报格式4.2 IP数据报分片4.3 IP地址 (IPV4)…

2024年华为认证H12-811题库(超级好用的刷题软件)

某个ACL规则如下:则下列哪些IP地址可以被permit规则匹配: rule 5 permit ip source 10.0.2.0 0.0.254.255 A、10.0.4.5 B、10.0.5.6 C、10.0.6.7 D、10.0.2.1 试题答案:A;C;D 试题解析: 10.0.2.000001010.00000000.00000010.0000000…

php 匿名类

https://andi.cn/page/621667.html

TMGM原油返佣是多少

在全球金融市场中,原油交易一直是投资者的重要选择之一。其中,交易平台的选择更是关系到投资者盈利的关键因素。TMGM,作为一家全球领先的在线交易提供商,以其公正、透明的交易环境和优质的服务赢得了广大投资者的信赖。那么&#…

【python小脚本】摄像头rtsp流转hls m3u8 格式web端播放

写在前面 工作需要,简单整理实际上这种方式延迟太高了,后来前端直接接的海康的的插件博文内容为 摄像头 rtsp 实时流转 hls m3u8 的一个 Python 脚本理解不足小伙伴帮忙指正 😃,生活加油 99%的焦虑都来自于虚度时间和没有好好做事&#xff0c…

【TiDB】07-tiup工具安装及使用

目录 1、在线安装 1.2、脚本代码如下 2、离线安装 2.1、下载安装包 2.2、安装脚本 3、卸载 4、常用命令 TiDB 提供了丰富的工具,可以帮助你进行部署运维、数据管理(例如,数据迁移、备份恢复、数据校验)、在 TiKV 上运行 S…

意大利Panel触摸屏维修显示屏EBP419 EMBEDDED

意大利Panel触摸屏维修显示屏维修EBP400系列EMBEDDED PC EBP419 panel维修产品主要包括:操作面板,触摸屏,终端机,触摸面板等。应用于包装、食品饮料、纺织与各种工业自动化领域。 panel触摸屏无论是机械工程、装置或单个应用,HMI几乎都可以简化操作,并且通过HMI,还…

大数据技术——DolphinScheduler的集群部署

目录 第1章 DolphinScheduler简介 1.1 DolphinScheduler概述 1.2 DolphinScheduler核心架构 第2章 DolphinScheduler部署说明 2.1 软硬件环境要求 2.1.1 操作系统版本要求 2.1.2 服务器硬件要求 2.2 部署模式 2.2.1 单机模式 2.2.2 伪集群模式 2.2.3 集群模式 第3章…