【Linux】软件包管理器yum和编辑器vim(部分动图演示)_软件安装管理器配置编辑器

把文件下载Windows下:sz

当然,也可以直接进行拖拽。


3.yum的扩展
复制代码
ls /etc/yum.repos.d/

这个路径下配置的就是yum源的配置文件

云服务器就不需要自己yum源配置了。

  • 下载阿里yum源配置文件

    wget https://mirrors.aliyun.com/repo/Centos-7.repo

  • 备份原始yum源

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_tmp

  • 使用该yum源

    下载好的阿里yum源重命名为CentOS-Base.repo

镜像源如果是国内的了,那就不用管了。

有些软件,没有被纳入centos,Ubuntu,kail等相关生态平台的官方集合中,在非官方的软件集合列表,yum源一般称为epel

  • epel-release的安装(非官方扩展源)

    yum install -y epel-release

如果在安装软件的时候,没有在CentOS-Base.repo(官方)中找到官方的下载链接,那么yum会自动去epel-release指向的链接处去查找,相当于epel-release(非官方)给yum提供了更多的下载渠道.


二、Linux编辑器-vim使用

1.vim的基本概念

vim编辑器功能强大,是具有多模式的编辑器。vim的三种模式(其实有好多模式,我们先了解这3种即可),分别是命令行模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下

  • 命令行模式(Normal mode)
    控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
  • 插入模式(Insert mode)
    只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
  • 底行模式(last line mode)
    文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入:help vim-modes

对于这些模式的关系之间的理解,我们用一张图便能清楚的理解了:

2.vim的基本操作
  • 进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面: (这里值得说的是,进入之后是处于[命令模式],你要切换到[插入模式]才能够输入文字 )
  • [正常模式]切换至[插入模式]
    输入a
    输入i
    输入o
  • [插入模式]切换至[正常模式]
    目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。
  • [正常模式]切换至[末行模式]
    「shift + ;」, 其实就是输入「:」
  • 退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」,例如:

w (保存当前文件)

wq (输入「wq」,存盘并退出vim)

q! (输入q!,不存盘强制退出vim)

其实也就是上面的那张关系图啦

利用vim创建hello world程序

3.命令行模式

命令行的意义在于👇

各种命令,能够提高我们的编辑效率

vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格(这里自己可以试一试)

下面我们用动图对一些命令做出演示:

  • 光标定位

shift+4($):行右

shift+6(^):行左

shift+g:底部

gg:顶部

好了,其他具体的动图演示这里就不在展开了😥。

n+shift+g跳转到指定行,n代表的是行号

对于h:左 j:下(假想为jump) k:上(假想为king) l:右

  • 复制文本相关

光标所在行:

yy:复制(nyy)支持对光标所在行,进行多行复制

p:粘贴(n p)支持多行粘贴

dd:删除光标所在行(ndd)支持多行删除

dd+p:剪切操作

u:撤销

ctrl+r:取消u操作

  • 文本编辑

文本行的大小写切换 shif+~

shift+r替换模式:批量化替换

r:替换光标所在的一个字符(支持nr)

x:向后删,shift+x:向前删(行内删除,支持n+x进行删除)

  • 补充

w:向后按单词移动

b:先前按单词移动

4.插入模式

从命令到插入:

按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件;

按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

按「o」进入插入模式后,是插入新的一行,从行首开始输入文字

5.底行模式

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

  • 调用和取消行号

set nu/nonu调出和取消行号(一张动图解决这两个指令)

  • 分屏

无论分多少屏,光标都只有一个。光标的意义在于选中的行或者屏幕。

比如:vs copy.c

光标跨屏:ctrl+ww(动图演示,注意后面光标的闪动)

保持退出后,我们仍然可以看到copy.c:

  • 底行!执行shell指令

在底行模式中,不需要退出vim,只需要加上!强制执行即可执行shell指令

  • 底行替换命令

我们只需要:%s/需要替换/替换后的/g

执行前:

执行后(我们以动图来演示):

6.vim的配置

没有配置的vim用起来其实和记事本并没有多大的区别,都不能自动补齐缩进,所以问题来了我们需要对vim进行配置。

我们需要了解配置vim的原理:

vim的配置是一人一份的,一个用户配置的是自己的并不影响别人。每个人虽然用的是同一个vim程序,但是大家用的是vim不同的配置(每个用户在自己的家目录下都有属于自己的配置文件)

我们需要创建.vimrc文件,并在自己的.vimrc文件中添加一系列的命令,充当于vim的配置文件。所谓的vim的基本配置,就是修改自己的vimrc!

但是接下来的问题是配置vim比较麻烦,配置的东西比较多,我们并不知道需要配置哪些,所以我们直接在家目录下执行一键配置的命令即可:

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

至此,配置完成。

默认缩进是两个空格,想改变的话可以打开.vimrc对其进行修改

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0
image-20221022210503374

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

外链图片转存中...(img-0bNDpFyF-1725758334016)

给大家整理的电子书资料:

外链图片转存中...(img-0KogwGSH-1725758334017)

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0

相关推荐
zz_nj2 小时前
工作的环境
linux·运维·服务器
极客先躯2 小时前
如何自动提取Git指定时间段的修改文件?Win/Linux双平台解决方案
linux·git·elasticsearch
suijishengchengde3 小时前
****LINUX时间同步配置*****
linux·运维
qiuqyue3 小时前
基于虹软Linux Pro SDK的多路RTSP流并发接入、解码与帧级处理实践
linux·运维·网络
切糕师学AI3 小时前
Linux 操作系统简介
linux
sun03223 小时前
【VSCode基础】VSCode快捷键总结、工程导入配置等
ide·vscode·编辑器
南烟斋..4 小时前
GDB调试核心指南
linux·服务器
爱跑马的程序员4 小时前
Linux 如何查看文件夹的大小(du、df、ls、find)
linux·运维·ubuntu
oMcLin6 小时前
如何在 Ubuntu 22.04 LTS 上部署并优化 Magento 电商平台,提升高并发请求的响应速度与稳定性?
linux·运维·ubuntu
Qinti_mm7 小时前
Linux io_uring:高性能异步I/O革命
linux·i/o·io_uring