【看表情包学Linux】软件包管理器 yum | Vim 编辑器介绍 | Vim 文本批量化操作 | 配置 Vim(一)

简介: 💭 写在前面本章首先介绍 Linux 软件包管理器 yum,学习如何在 Linux 上安装和卸载软件。最后我们讲解一下 vim 编辑器,我采会用实际操作去讲解 vim 的文本操作。对于 vim 的这些操作按键,不需要死记,用的多了自然就会熟。默认的 vim 配置简陋不堪,没有代码提示、没有缩进甚至没有行号,但至少还是有语法高亮的。在这一章我们主要去学习 vim 的基础操作,对于 vim 的配置我打算放到下一章去讲。

💭 写在前面


本章首先介绍 Linux 软件包管理器 yum,学习如何在 Linux 上安装和卸载软件。最后我们讲解一下 vim 编辑器,我采会用实际操作去讲解 vim 的文本操作。对于 vim 的这些操作按键,不需要死记,用的多了自然就会熟。默认的 vim 配置简陋不堪,没有代码提示、没有缩进甚至没有行号,但至少还是有语法高亮的。在这一章我们主要去学习 vim 的基础操作,对于 vim 的配置我打算放到下一章去讲。

Ⅰ.  Linux 软件包管理器 yum


0x00 引入:我想安装个软件

Windows 下我们是如何装软件的?比如说我想下一款高清视频播放器:


我们可以百度上搜索,然后进入官网下载安装包,之后打开安装包进行安装,


我们顶多要做的就是勾勾选选,设置一下安装到哪个盘,总体来说还是非常容易的。

7dca18c64610c5c8be571a247e7bb7bb_615be05d9b3e48a7b36136a1aa8a144b.png

(当然如果你装软件去什么 xx 软件园,当我没说)


那在 Linux 下安装软件,会像 Windows 下这么方便吗?答案是不会!


在 Linux 下安装软件,最通常的方式是去下载程序的源代码并进行编译,从而得到可执行程序。


" 猪吃饲料,我们吃猪,太麻烦!直接吃饲料! "


并且 Linux 没有图形化界面,这不强人所难么,整个安装过程堪比盲人摸象。


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


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


0x01 安装软件的方式

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


💭 源码安装:


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


额,这合理吗?下个 QQ 还要装个 VS 编译才能用?!


这种源码方式安装在 Windows 下是绝对不可能存在的,但是在 Linux 下是有的,


比如我想下载个  ,把源码下载下来自己安装自己编。


💭 rpm 包安装:


你可以理解为 Linux 下的安装包,只是下载好 rpm 包后想安装还需要用 rpm 命令,


比较麻烦,而且 rpm 包安装不会帮你解决依赖关系(有些软件是需要依赖的)。


换句话说就是 —— 你下一个软件,就真的只有一个软件,依赖什么软件完全需要你自己去解决。


啊这,这么实诚的么?这 rpm 包是真的雷人啊……


而我们下载QQ一键就可以安装,那是因为腾讯已经帮你把需要的东西打包好了,


也就不需要你去解决依赖关系了,但是 Linux 下没有人直接做这样得事情。


💭 yum 安装:


我们刚才讲的安装方式都不简单啊。


如果只有源码和 rpm 包这两种安装方式,就连开发者用起来都头大,那更别说用户了。


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


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


0x02 试着安装一款软件

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


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


# yum install sl

a4d0fb90ccbfaf4f80e45837f48449fc_9c9829bcf38343b69bbf9c65c84b41ab.png


显示 Complete! 即安装成功,此时我们输入 sl 看看效果如何:

f550174fdae2b00d6fc0a59443021942_fc4ff7fed28d4c2ca5fb11032ad3173c.png


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


0x03 yum 指令

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


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


② 需要有人将编好的软件,放在用户能下载的地方(官網,應用程式商店)。


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


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


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

29d34800664170d5256298c847fcd94a_245482876c13488fa38ed2bbb56f36af.png

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

73b9e36934b47d401f889c4332a68ac7_de5577b97eb6462e8e3cd367b86170c8.png

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


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


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


yum list

0f0367a0901bbece3c5778f0ec609396_6b10ff346ac54fd28c3fa05537bc6c52.png


0x04 卸载软件 yum remove

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


# yum remove [目标]

c0c3b21b8effe2a44c9733fdd153ac17_ffe68048acb54cea95b09ceef243802b.png

0x05 yum 源

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


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

f93eab815b6382becf9efb80d2e8a70a_ee646b57f076486c953c7f9a7048a1b4.png


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


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


🔍 百度搜索:Centos7 如何设置国内 yum 源。


注意,做任何配置,坚决不要先删除,一定是先备份!


0x06 文件上载工具推荐:lrzsz

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


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

d7c261d623ded4c704422d6514f4cd37_185ea5fe686546ada8eeff8c55e1cdb1.png



Ⅱ. Vim 编辑器


0x00 什么是 Vim?

👈 这是个什么玩意? vim 是什么?


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


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


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


我们之去学习它的一些常用的功能,一些边边角角的功能以后可以慢慢学习。

23238d134ca08dbc26ccc10fdb374824_54c758af5d9b4be5b8d67683983f1521.png


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


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

# yum install -y vim


0x01 vim 的使用

❓ 为什么要学 vim?


vim 是一个用来快速的解决问题、迅速查阅的一个非常好的工具。


有时候,需要我们在生产环境下,需要你快速的定位问题,甚至需要你快速的修改代码!


vim 实际上是非常职业化的工具,你不懂其实也不影响开发,但是你懂,就是个如虎添翼的东西。


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


$ touch mytest.c

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


$ vim mytest.c

e95cc6ebfd908050ec4dce9df3302841_e3202d06059e46978c8abdfd6080b826.png


0x02 默认模式、底行模式和插入模式

进入之后,此时你会发现是输入不了任何东西的,似乎没有反应:

acbeed6d9fb605c3a18778db604c6f4f_1d2109787cad4e518ae364a92bc5027a.png


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


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

84b4012427c2847263dcce276e1cdb56_918d6a589ccd401099a4b3112b72fa1f.png


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


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

4978f649c6256249145a4858d2b936e2_4886176c9d92459c9f4e3881425167b0.png



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


不乏一些新手首次使用时,在不看任何 "攻略" 的情况下,随便按按键,可以 "侥幸" 打出字。


那是因为按到了 i 这个按键,进入了 "插入模式" ,当我们按下 i 按键后左下角会显示    

fcfbd6ebb10e744363a70c8189377a25_af6faccc3873443f97b003d376dd2ca5.png



💭 操作:此时我们就可以正常打字了,我们来写一个经典的 Hello 程序测试一下效果:

c3ed313fd666611ffffb5ded7f274d40_0c0562a11f3f41bd95165f4e30bf3c62.png



写好代码后我们想退出,但是输入冒号却没有效果,而是尴尬的打出了一个冒号。


这是因为我们处在了插入模式下,你任何输入的东西都会以 insert 的形式出现在界面上。

4ade36f52dafb6df8c596a50c5d9c318_88c62769c7854decb9a9db1fe3ccf109.png


📌 注意事项:不仅仅 i 可以进入插入模式,还有 a 和 o ,可以自己去试试。


按 a 进入插入模式后初始光标位置为第二个字符,而 o 进入插入模式后初始光标在第二行。


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

bcd0dc3dba1cb7c10c0bfab14683687d_65fd20551a954733b29c0efa814667d7.png


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


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

be5e3e802759f5d57908ce437f9f7a96_0af32de6c61c42c2af943f61bfea2efb.png



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


0x03 来自程序员的对于 Macbook TouchBar 的吐槽

说到 vim 的 Esc,这里讲一个比较有意思的故事:


Macbook Pro 当年刚退出 Touch Bar 时,键盘第一行的所有按键(Esc、F1~F12……)


都是在 touch bar 内展现的:

c096ef9410ea407578e92d1eb4de4328_e1d4dfb591864681886a6f0c95cef326.png


然而当时有些程序员和专业人士就抱怨 —— 需要经常按 Esc 键,而 Esc 键在 Touch Bar 上:


按上去的手感极差!就像是在敲木地板一样,又要经常按 Esc,就更加地难以忍受了。


这也使其成为了 Touch Bar 最大的缺点之一,苹果听取了顾客的意见并作出了改变。


于是新版的 Macbook Pro 将 Esc 键单独设计为实体的:

af7436d26f2da4ca9657febe59aad7d2_eb2cbd80905f4061bab306e1da9108b4.png


估计苹果的程序员自己用 vim 的时候,自己都不爽了 2333

相关文章
|
1月前
|
Linux 开发工具 数据安全/隐私保护
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
这篇文章介绍了在CentOS 7系统中安装Docker时遇到的两个常见问题及其解决方法:用户不在sudoers文件中导致权限不足,以及yum被锁定的问题。
37 2
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
|
3天前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
25 0
|
1月前
|
缓存 前端开发 Linux
Linux yum 命令
10月更文挑战第1天
45 2
|
1月前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
|
6月前
|
存储 Linux 编译器
vim编辑器和gcc/g++编辑器的使用讲解
vim编辑器和gcc/g++编辑器的使用讲解
152 2
|
4月前
|
开发工具
vi编辑器,现在vi\vim是文本文件进行编辑的最佳选择,Vim是vi的加强的版本,兼容vi的所有指令,vim编辑器有三种工作模式,一开始进入的是命令模式,命令模式i是插入的意思,两下y+p复制内容
vi编辑器,现在vi\vim是文本文件进行编辑的最佳选择,Vim是vi的加强的版本,兼容vi的所有指令,vim编辑器有三种工作模式,一开始进入的是命令模式,命令模式i是插入的意思,两下y+p复制内容
|
5月前
|
开发工具
Vim 编辑器:高效文本编辑的瑞士军刀
**Vim 概览:** Vim 是一个功能丰富的文本编辑器,以其高度可定制性著称。文章介绍了 Vim 的高效使用技巧,包括快捷打开文件、命令行模式下的常用命令、查找与替换、删除和复制文本。还讨论了配置 `.vimrc` 文件以自定义设置,如改变 leader 键、设置缩进和高亮,并展示了安装插件如 vim-airline 和 vim-snazzy 的方法。通过这些技巧,用户能提升 Vim 使用效率。
65 5
|
5月前
|
Ubuntu 搜索推荐 Linux
Linux的Vim编辑器详解
Linux的Vim编辑器详解
|
4月前
|
Linux 开发工具 数据安全/隐私保护
【linux】如何优雅的使用vim编辑器
【linux】如何优雅的使用vim编辑器
|
5月前
|
缓存 人工智能 Linux
【Linux】--- 详解Linux软件包管理器yum和编辑器vim
【Linux】--- 详解Linux软件包管理器yum和编辑器vim
90 0