工具
- 补充
- yum
- yum的位置
- yum的使用
- yum的本质
- vim
- vim的多模式
- vim多个模式的细节
- 命令模式
- 底行模式
- vim的配置
补充
Linux系统
中文件名后缀没有直接的意义
但是不代表
Linux上的软件
不需要后缀, 比如gcc
yum
yum的位置
我们在手机或者Windows上, 一般都有一个东西 应用商店
. 这个东西香的很呢, 我们都会在这里 放心的下载一些有意思的软件. 那么Linux环境下, 我们该如何下载软件?
- Linux安装软件的方式
- 源代码安装(程序员的梦魇, 不够方便且出错率大)
- rpm安装(依赖关系太大, 前置条件多)
- yum安装(解决了安装源, 安装版本, 安装依赖)
这个yum
就类似于Windows下的 应用商店
, 我们就用 yum 来进行Linux的安装.
那yum的位置在那个地方? /etc/yum.repos.d/
这个CentOS-Base.repo 就是官方yum源 ⇒ 官方yum源位置是 /etc/yum.repos.d/CentOS-Base.repo
关于 官方yum源这里面是什么, 后面再说
yum的使用
我们都知道, 手机和电脑都可以进行交互. 那么我们的Linux和Windows也可以进行交互
我们发现: rz 是Window --> Linux 的指令, sz是 Linux --> Windows(补充的)
通过前面的学习, 我们猜想: yum install -y rz 是下载 rz👇👇👇
我们发现, sz 和 rz 不是Linux本平台和本版本所支持的软件, 那么我们如何查看本版本和本平台下支持的所有软件呢? yum list
我们发现 yum list
是 查看本平台和本版本下支持的所有软件
但是这样太多了, 我们该怎么查看一个软件呢? 这个要通过 grep 和 通道
— — yum list | grep lrzsz(软件名)
- 软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
- “x86_64” 后缀表示64位系统的安装包, “i686” 后缀表示32位系统安装包. 选择包时要和系统匹配.
- “el7” 表示操作系统发行版的版本. “el7” 表示的是 centos7/redhat7. “el6” 表示 centos6/redhat6.
- 最后一列, base 表示的是 “软件源” 的名称, 类似于 “小米应用商店”, “华为应用商店” 这样的概念.
那我们来安装一下 rz 和 sz 来进行 Windows 和 Linux之间的交互
- 总结一下yum的操作
- yum list — — 查看本平台和本版本下支持的所有软件
- yum list | grep 软件名 — — 查看单个软件
- yum install -y 软件名 — — 安装
- yum remove -y 软件名 — — 卸载
- yum list — — 查看本平台和本版本下支持的所有软件
yum的本质
我们都知道 yum 类似于手机上的 应用商店
, 那么它是怎么知道在什么位置下载呢?
我们先看看yum源吧
我们发现这上面是一个又一个的网址, 看到这里我们就明白了:
yum下载软件就是通过这些 镜像链接
来确定下载软件的位置的.⇒ yum源就是链接
⇒ yum是软件商店, 把下载软件的链接存放在yum里面, 称为yum源
🗨️如果我们要下载一些不是官方yum源的软件但我们又是很需要这种功能, 那我们该怎么办?
-
我们需要安装扩展源
yum install -y epel-release
我们来看看 yum源发生了什么变化:
我么发现: 安装 扩展源就是把扩展源放在yum源中, 跟官方yum源一样, 也是把一些链接放在扩展源中. -
总结一下:
yum源的位置 — — /etc/yum.repos.d/
yum源包括:- 官方yum源 — — /etc/yum.repos.d/CentOS-Base.repo
- 扩展yum源 — — /etc/yum.repos.d/epel.repo
我们发现: yum源是可以进行配置的
⇒
一般Linux操作系统的默认配置是国外的, 有可能yum源的访问比较慢, 就需要更新yum源 — — 替换成国内的yum源(替换成国内的镜像链接)
vim
vim的多模式
vim是一种多模式的编辑器
- 多模式 — — 命令模式, 插入模式, 底行模式, 替换模式 … …
- 编辑器 — ---- 区别于IDE(集成开发环境), 不能进行调试, 分析等功能, 一般用于写代码
使用方法: vim 文件
- 创建: vim默认是不会创建文件的, 如果文件是不存在的, 那么不保存就不会创建文件, 若保存了就创建了该文件
- 编写: 如果文件是已经存在的, 那么 vim 文件 就是 查看 和 编辑该文件
进入vim, 一开始就是 命令模式 — — 输入的都当做命令来处理 — — 所以命令模式也是 默认模式
然后发现不管我们输入什么都写不了东西, 这时候我们要进入插入模式 --- --- i
才行
我们发现: 默认配置下的vim 没有缩进, 自动补全等等一些便利的功能
我们已经写了一串代码, 那么我们希望 保存并退出
:
首先先进入底行模式, 由插入模式直接切换到底行模式是不建议的.
我们先由插入模式回退到命令模式, 再由命令模式 进入到底行模式 --- --- :(shift + ;)
- 保存 — — w
- 退出 — — q
- 总结
vim多个模式的细节
命令模式
-
光标定位
- 上下定位
gg — — 定位到开始行
(G
) shift + g — — 定位到结尾行
(nG
) n + shift + g — — 定位到n行 - 左右定位
($
) shift + 4 — — 定位在所在行的结尾
(^
) shift + 6 — — 定位到所在行的开头 - 单词定位
w — — 按照单词向后进行 行内(跨行)移动
b — — 按照单词向前进行 行内(跨行)移动 - 字符定位
上下左右箭头
h j k l- h — — 向左移动 (四个字母的最左边的那一个)
- j — — 向下移动 (jump, 向下跳)
- k — — 向上移动 (king, 至高无上的)
- l — — 向右移动(四个字母的最右边的那一个)
- 上下定位
-
复制, 粘贴, 剪切, 删除, 撤销
- n + yy — — 复制从光标所在行的n行
- n + p — — 粘贴n行到光标的下一行
- 先 n + dd
后 p — — 剪切光标所在的n行 , 然后复制到光标所在行的下一行 - n + dd — — 删除光标所在的n行
- u — — 撤销
- ctrl + u — — 撤销之前的撤销
-
修改
- shift + ~ — — 大小写转换
- n + r + 字符 — — 将光标所在行的光标所在位置(包括光标)后面的n个字符转换成 改字符
- (
R
)shift + r — — 进入替换模式 (esc 回退到命令模式) - n + x — — 将光标所在行的光标所在位置(包括光标)后面的n个字符删掉
底行模式
-
! — — 具有强制的意思,
q! --- --- 强制退出, w! --- --- 强制保存
- /xxx — — 查找 xxx
- ! ls — — 查看当前目录下的内容
- ! gcc 文件 — — 编译该文件
- ! gcc ./a.out — — 执行结果
-
显示行号
- set nu — — 显示行号
- set nonu — — 不显示行号
3 . 多文件操作
* vs 文件 — — 多窗口操作
* ctrl + ww — — 窗口切换
在底行模式下输入 vs code1.c👇👇👇
每一个窗口都是独立的, 光标在哪一个窗口, 就对那个窗口进行操作
当我们对 code1.c直接进行 q, 对test.c 进行 wq👇👇👇
- 这从侧面说明了:
- 每个窗口是独立的
- vim默认是不会创建文件的, 除非保存了
vim的配置
- 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
- 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,
通常已经存在一个.vimrc文件,如果不存在,则创建之。- 切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
- 打开自己目录下的.vimrc文件,执行 vim .vimrc
我们发现家目录下, 没有 .vimrc文件
, 没关系我们创建一个, 并对vim配置进行测验
设置语法高亮: syntax on
显示行号: set nu
设置缩进的空格数为4: set shiftwidth=4
⇒
家目录下的 .vimrc文件
就是用来配置vim的
不过, 感觉这样还是很挫的, 有没有更好的配置方案.
这里给大家推荐一波, 感觉下面的vim配置 更好, 更省事, 一键到位
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
只有忍得住寂寞, 才能见明日的繁华