(6)Linux的Vim编辑器以及软件包管理器yum

前言

本章首先介绍 Linux 软件包管理器 yum,学习如何在 Linux 上安装和卸载软件。最后我们讲解一下 vim 编辑器。

Linux 软件包管理器 yum

我想安装个软件

Windows 下我们是如何装软件的?比如说我想下一款高清视频播放器:(我欠他个会员--bushi)

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

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

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

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

yum

 不要觉得yum有多神奇多深奥,yum其实就是一个软件,也可以叫商店,和你手机上的应用商店或app store一样,yum的功能就是搜索并下载需要的软件包。

# yum install sl

 (6)Linux的Vim编辑器以及软件包管理器yum_第1张图片

(6)Linux的Vim编辑器以及软件包管理器yum_第2张图片

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

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

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

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

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

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

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

(6)Linux的Vim编辑器以及软件包管理器yum_第3张图片

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

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

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

yum list

 (6)Linux的Vim编辑器以及软件包管理器yum_第4张图片

当你不知道你想要下载的软件叫什么名字时
可以无脑百度,百度上还有许多好玩的软件包

使用指令: yum remove 想要卸载的软件

这条命令和下载一样,最好使用sudo.或切换到root账号来操作

Vim 编辑器

什么是 Vim?

 vim 是什么?

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

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

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

我们之去学习它的一些常用的功能,一些边边角角的功能以后可以慢慢学习。
(6)Linux的Vim编辑器以及软件包管理器yum_第5张图片

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

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

# yum install -y vim

 vim 的使用

为什么要学 vim?

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

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

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

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

$ touch mytest.c

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

$ vim mytest.c

 

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

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

(6)Linux的Vim编辑器以及软件包管理器yum_第6张图片 

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

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

(6)Linux的Vim编辑器以及软件包管理器yum_第7张图片

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

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

(6)Linux的Vim编辑器以及软件包管理器yum_第8张图片 

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

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

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

(6)Linux的Vim编辑器以及软件包管理器yum_第9张图片

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

 (6)Linux的Vim编辑器以及软件包管理器yum_第10张图片

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

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

 (6)Linux的Vim编辑器以及软件包管理器yum_第11张图片

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

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

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

 (6)Linux的Vim编辑器以及软件包管理器yum_第12张图片

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

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

(6)Linux的Vim编辑器以及软件包管理器yum_第13张图片 

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

Vim 文本批量化操作 

复制和粘贴(yy & p) 

(6)Linux的Vim编辑器以及软件包管理器yum_第14张图片 

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

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

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

(6)Linux的Vim编辑器以及软件包管理器yum_第15张图片

在光标所在行 yy 进行复制,随后你可以把光标移到你想粘贴的位置按 p 进行粘贴,

直接按 p 默认在 yy 复制行的下一行粘贴。你按几次 p 就会粘贴几次。

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

(6)Linux的Vim编辑器以及软件包管理器yum_第16张图片 

思考:如果我想粘贴 100 次,我难道要按100次 p 吗? 

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

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

(6)Linux的Vim编辑器以及软件包管理器yum_第17张图片 

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

(6)Linux的Vim编辑器以及软件包管理器yum_第18张图片 

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

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

剪贴操作(dd & p)

 (6)Linux的Vim编辑器以及软件包管理器yum_第19张图片

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

(6)Linux的Vim编辑器以及软件包管理器yum_第20张图片 

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

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

(6)Linux的Vim编辑器以及软件包管理器yum_第21张图片 

我删着删着后悔了怎么办?也就是我们经常喜欢用的 Ctrl + Z 撤销!vim 下是什么呢?

(6)Linux的Vim编辑器以及软件包管理器yum_第22张图片 

当然,你再 Ctrl + R 就没用了,会显示  Already at newest change 

 

你需要回到刚才的撤销操作,你可以再 u 回去,此时才能 Ctrl + R,

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

光标跳转(gg & shift+gg & n+shift+gg) 

 (6)Linux的Vim编辑器以及软件包管理器yum_第23张图片

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

我想要我的文本扩增到十万行,我们先产出十万行的 "哈哈哈哈哈哈" :

 (6)Linux的Vim编辑器以及软件包管理器yum_第24张图片

在 Windows 下你会怎么做?不断地 CV……不断地 CV?

而在 Linux 中你只需要 yy100000,再 p 一下即可瞬间完成:

(6)Linux的Vim编辑器以及软件包管理器yum_第25张图片 

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

操作演示:

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

(6)Linux的Vim编辑器以及软件包管理器yum_第26张图片

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

(6)Linux的Vim编辑器以及软件包管理器yum_第27张图片

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

(6)Linux的Vim编辑器以及软件包管理器yum_第28张图片 

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

也就是我们在 Windows 下经常使用的 End 键:

(6)Linux的Vim编辑器以及软件包管理器yum_第29张图片

 (6)Linux的Vim编辑器以及软件包管理器yum_第30张图片

 (6)Linux的Vim编辑器以及软件包管理器yum_第31张图片

方向键(HJKL)

玩到这里相信你也发现了,我们是可以通过键盘上的方向键去进行光标移动的。

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

 (6)Linux的Vim编辑器以及软件包管理器yum_第32张图片

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

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

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

(6)Linux的Vim编辑器以及软件包管理器yum_第33张图片

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

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

 (6)Linux的Vim编辑器以及软件包管理器yum_第34张图片

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

(6)Linux的Vim编辑器以及软件包管理器yum_第35张图片 

一直按到结尾

(6)Linux的Vim编辑器以及软件包管理器yum_第36张图片

先输入一个 r,然后再输入你要替换的字符(这里是J),此时就可以做到修改。

我们要把abc换成xyz:

(6)Linux的Vim编辑器以及软件包管理器yum_第37张图片 

输入r之后按下x,光标切换下一i个,再进行更改

(6)Linux的Vim编辑器以及软件包管理器yum_第38张图片

replace 模式 

输入 shift + r 进入 replace 模式: 

(6)Linux的Vim编辑器以及软件包管理器yum_第39张图片 

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

这非常类似于 Windows 中恼人的 Insert 键,一些不知道的人总会莫名其妙按到,然后百度问。

光标所在处就可以修改:我们又改回了abc

(6)Linux的Vim编辑器以及软件包管理器yum_第40张图片 

Esc退出

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

(6)Linux的Vim编辑器以及软件包管理器yum_第41张图片 

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

(6)Linux的Vim编辑器以及软件包管理器yum_第42张图片 

按几下,删除几个

配置 Vim

默认的 Vim 配置

大家有没有发现好像用起来很不方便?这未免也太简陋了吧:

(6)Linux的Vim编辑器以及软件包管理器yum_第43张图片 

默认的 vim 没有配置,没有提示、没有缩进、没有行,这就太恶心了。

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

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

懒人一键配置

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

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh &&bash ./install.sh

(6)Linux的Vim编辑器以及软件包管理器yum_第44张图片

 注意:只支持centos7 x86——63

网址链接: vimforcpp

如果不支持的话只能自己配置了,就像我的就不支持,我哭死。

你可能感兴趣的:(Linux学习之路,linux,编辑器,vim)