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

(5)软件包管理器 yum | Vim 编辑器 | Vim 文本批量化操作 | 配置 Vim

Ⅰ . Linux 软件包管理器 yum

01 安装软件

在 Linux 下安装软件并不像 Windows 下那么方便,最通常的方式是去下载程序的源代码并进行编

译,从而得到可执行程序。

正是因为太麻烦,所以有些人就把一些常用的软件提前编译好并做成软件包,放到服务器上。

你只需要通过包管理器,就可以轻而易举地获取到这个编译好的软件包,直接无脑安装。

02 安装软件的方式

Centos 中安装软件分为三种方式:① 源码安装rpm 包安装yum 安装

源码安装:

源码安装就相当于我把项目源代码交给用户,让用户自己编译

rpm 包安装:

可以理解为 Linux 下的安装包,但下载好 rpm 包后想安装还需要用到 rpm 命令,比较麻烦,而且 rpm 包安装不会帮你解决依赖关系

yum 安装:

我们刚才讲的安装方式都不简单,如果只有源码和 rpm 包这两种安装方式,就连开发者用起来都头大,那更别说用户了。

于是 Linux 就推出了一个简单的集成化安装方案 —— yum 安装。

yum 安装最大的好处显而易见,不用编译源码,且不用解决软件的依赖关系。

03 试着安装一款软件

有一个叫 sl 的小工具,这个工具是可以在命令行跑 "火车头" 的软件。

在大家的系统中默认情况下是没有这个软件的,现在正好可以来试试用 yum 安装:

# yum install sl

此时我们输入 sl 看看效果如何:

由此可见,用 yum 安装软件非常de简单,下面我们来仔细讲解一下 yum 。

04 yum 指令

我们要安装别人的软件,需要做的准备工作:

① 需要别人先把代码给我编译成可执行程序。

② 需要有人将编好的软件,放在用户能下载的地方

在 Linux 也是一样的!以手机应用市场为例:

你手机上的 APP 是属于客户端还是服务器?

手机上的 APP 实际上是客户端,而不是服务器。云服务器相信大家并不陌生,我们所用的 XShell 其实就是一个客户端,我们登陆的是远端的服务器。

总结:yum 就类似于手机上的应用市场。

既然要安装软件,我们得知道软件的名字是什么,如果我们不知道软件叫什么那么自然也没法装。

这就是为什么手机应用市场有应用推荐这个功能,按类别去给你推荐软件供你下载。

然而 Linux 下我们可以通过 yum list 指令去执行类似于手机应用市场的 "软件推荐" 功能:

yum list

05 卸载软件 yum remove

yum 既然能安装软件,自然也是能卸载软件的。

# yum remove [目标]

06 yum 源

yum 在下载时是怎么知道去哪里搜的呢?

因为 /etc/yum.repos.d 目录下存有配置文件:

不是所有人的 Linux 上面的 yum 源都是国内的链接。

如果你不是国内的,或者发现安装软件特别慢,建议大家更新一下 yum 源。

07 文件上载工具:lrzsz

Irzsz:一款可以轻松地将 Window 的文件上载到 Linux 的神器。

如果你想把 Windows 下的东西传到 Linux 下,有了这个工具就可以直接拖拽

Ⅱ . Vim 编辑器

01 什么是 Vim

它是一个编辑器!只能用来写代码,编译 vim 也做不到,有其他工具帮我们做。

既然只能用来写代码,那我们为什么不用 nano 记事本呢,不都一样吗?

当然不一样,Vim 功能强大,是一个多模式的编辑器。因为过于强大,学习成本固然较高。

你可以输入 vim  确认一下你有没有安装过 vim,若显示  bash: vim: command not found ,

那就说明还没有安装 vim,我们用刚刚学习的 yum 安装一下即可

02 vim 的使用

我们先创建一个 code.c 源文件:

$ touch code.c

随后输入 vim 跟上文件名,就可以用 vim 编辑器打开该文件了:

$ vim code.c

03 默认模式、底行模式和插入模式

进入之后,此时你会发现是输入不了任何东西的:

因为第一次打开 vim 时的命令模式为 "默认模式"

如果我们现在什么都没干,想退出 vim,我们可以按下 shift + 冒号 ,此时:

此时该模式我们称之为 "底行模式",此时如果你想退出 vim,在该模式下按一个 q 即可。

由于此时什么都没有写,我们按 q 退出。如果写了东西并且想保存并退出,我们可以按 wq 

我们刚才进去 vim 之后时输入不了任何东西的,这是因为处于默认模式。

当我们按下 i 键(进入了 "插入模式" )后左下角会显示 :

此时我们就可以正常打字了:

如果想退出,我们要输入键盘上的 Esc 按键 ,此时再按冒号就可以回到底行模式:

当然,如果你想从底行模式再回到命令模式,也是使用 Esc 就可以回去。

退出去之后我们来 cat 一下看看我们刚刚写的内容:

总结:任何模式想回到命令模式,无脑 Esc 即可。

Ⅲ . Vim 文本批量化操作

01 复制和粘贴(yy & p)

指令操作
yy复制光标指定的当前行内容
p

粘贴 yy 复制的内容,默认粘贴到当前行后面(可光标指定)

在文本操作的时候我们可能会需要对文本进行批量化操作,比如删除、复制粘贴等功能,

这些在插入模式下是比较难做到的,我们一般会在命令模式下进行文本批量化操作。

操作演示:文本的复制和粘贴,如果我们想复制下面的 printf 代码,我们可以:

在光标所在行 yy 进行复制,随后你可以把光标移到你想粘贴的位置按 p 进行粘贴,直接按 p 默认在 yy 复制行的下一行粘贴。你按几次 p 就会粘贴几次。

02 批量化复制和粘贴(nyy & np)

指令操作
[n] yy复制光标指定的当前行(包括当前行以内的)n 行内容
[n] p

粘贴 n 份 yy 复制的内容,默认粘贴到当前行后面(可光标指定)

如果我想粘贴 50 次,我难道要按 50次 p 吗?

当然不用,我们可以使用 批量化粘贴 的功能:

操作演示:此时输入如果想粘贴 50 份,我们可以输入 50p :

对应的,还有 批量化复制 的功能,如果我们想让这两行复制:

我们可以光标选中第一个 printf 并输入 2yy,此时就复制了包括它本身以内的 2 行内容。

此时我们在 p 一下,我们就可以把这两行粘贴出来了:

03 剪贴操作(dd & p)

指令操作
dd剪贴光标指定行内容
[n] dd

剪贴光标指定行(包括当前行)的 n 行内容

 操作演示:将 printf 剪贴到 return 0 后面

dd 也可以当删除去使用,只要不 p 就等于是删除的效果了。

04 撤销操作和收回撤销(u & Ctrl + R)

指令操作
u撤销刚刚的操作
Ctrl + R

对撤销进行撤销(收回 u 撤销操作)

操作演示:按 u 撤销

我想收回刚才的 u 撤销,怎么办? Ctrl + R!

对于你的最近两次的误操作,你可以使用 u 和 Ctrl + R 在两个操作之间来回跳转。

05 光标跳转(gg & Shift + gg & n + Shift + gg)

指令操作

shift + g

光标快速定位到文本末尾
gg光标快速定位到文本的最开始
[n] shift + g将光标快速定位到文本的任意 (n) 行

为了方便我们讲解,我们先创建一个大文本的场景。

当文本一旦大了,我想让光标快速定位到文本的最尾部,该如何操作?

操作演示:

① shift + g 跳转至文本最后一行

②  gg 跳转至文本第一行首位置

③ 如果我想定位到第 123 行呢?123 + shift + g 即可!

如果想让光标跳到当前所在的文本行开头呢?

指令操作
shift + $光标快速定位到文本行的末尾(我们称 $ 为 "锚点" )
shift + ^光标快速定位到文本行的开始
w / b以单词为单位移动(warp 与 back)

 操作演示:

06 方向键(HJKL)

我们是可以通过键盘上的方向键去进行光标移动的。

但是我们是不太推荐用上下左右键去进行光标移动的,我们建议用 "HJKL" 

指令操作
h
j
k
l

为什么建议使用 HJKL 而不使用我们一直习惯的 ↑ ↓ ← → 呢?

 因为我们会学一些组合命令,比如批量化注释,它只能支持用 HJKL。

至于为什么 vim 它的上下左右是这几个按键呢?

老式键盘是没有上下左右键的,以前就是那 HJKL 充当 上下左右键的

07 一些修改和替换操作(Shift ~ & r & nr)

指令操作
shift + ~大小写快速切换
r替换光标所在位置的字符
[n] r替换光标所在位置开始的 n 个字符

我们现在想让这些字母大小写互换:

按住 shift 不动 + 波浪号 ~  即可将光标位置字符进行大小写的转换。

在想要替换的光标处,先输入一个 r,然后再输入你要替换的字符,此时就可以做到修改。

我们甚至还可以批量化修改,在 r 前加上数字。

08 replace 模式

输入 shift + r 进入 replace 模式:

进入 replace 模式后,光标所在处直接输入即可替换,你的所有输入的都会直接替换。

09 删除和批量化删除(x & nx)

指令操作
x删除当前光标位置字符
[n] x删除当前光标位置开始的后n个字符

如果我们要删除,我们可以按 X,如果要批量删除可以输入 nX(底行模式下)

Ⅳ . 配置 Vim

01 默认的 Vim 配置

大家有没有发现好像用起来很不方便

默认的 vim 没有配置,没有提示、没有缩进、没有行

我们先这里提供一个能够直接输入指令一键配置的方法,让大家先能用起来,

至于具体的 vim 配置学习我们会放到后面去讲解。

02 一键配置

直接复制下面的文字,shift+insert 粘贴到命令行:

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh &&bash ./install.sh
http://www.dtcms.com/a/340283.html

相关文章:

  • 深度解析:RESTful API中的404错误 - 不是所有404都是Bug
  • Vue 3项目中的路由管理和状态管理系统
  • 【Day 31】Linux-LNMP
  • MySQL基础操作
  • SpringBoot + MyBatis-Plus 使用 listObjs 报 ClassCastException 的原因与解决办法
  • Rabbit 实战指南-学习笔记
  • HTML+CSS:浮动详解
  • 3D文档控件Aspose.3D实用教程:使用 C# 构建 OBJ 到 U3D 转换器
  • awk 基础用法示例
  • 测试DuckDB插件对不同格式xlsx文件的读写效率
  • MyCAT分库分表
  • Go特有的安全漏洞及渗透测试利用方法(通俗易懂)
  • 次短路P2865 [USACO06NOV] Roadblocks G题解
  • SLAM文献之-Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping
  • RESP协议
  • React响应式链路
  • SCAU学习笔记 - 自科三面前端方向实战演示
  • 157-基于Python的懂车帝汽车数据爬虫分析与可视化系统
  • NVIDIA Isaac Sim
  • Ubuntu 主机名:精通配置与管理
  • 全球首款 8K 全景无人机影翎 A1 发布解读:航拍进入“先飞行后取景”时代
  • 从 “模仿” 到 “创造”:AI 大模型的 “思维进化” 背后,技术突破在哪?
  • 沪深股指期货指数「IF000」期货行情怎么看?
  • 利用无事务方式插入数据库解决并发插入问题(最小主键id思路)
  • 海外短剧app、h5、独立站、国内短剧看广告app,短剧小程序、源码交付开发
  • java17学习笔记
  • RK android14 Setting一级菜单IR遥控器无法聚焦问题解决方法
  • VPS海外节点性能监控全攻略:从基础配置到高级优化
  • 02-docker相关知识
  • Java 学习笔记(基础篇6)