
👻内容专栏: Linux操作系统基础
🐨本文概括: yum软件包管理、vim编辑器的使用。
🐼本文作者: 阿四啊
🐸发布时间:2023.9.12
Linux软件包管理 yum
什么是软件包
- 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序。
 - 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.
 - 软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系。
 - yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat,
Centos等发行版上。 
关于rzsz
这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件。
 安装完毕之后可以通过拖拽的方式将文件上传过去。
 注意事项:
 关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!!
 可以通过 ping 指令验证。
ping www.baidu.com
 
查看软件包
通过 yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用 grep 命令只筛选出我们关注的包. 例如:
yum list | grep lrzsz
 
结果如下:
lrzsz.x86_64 	0.12.20-36.el7 	@base
 
如何安装软件
通过 yum, 我们可以通过很简单的一条命令完成 gcc 的安装
sudo yum install lrzsz
 
yum 会自动找到都有哪些软件包需要下载, 这时候敲 “y” 确认安装。出现 complete 字样, 说明安装完成。
注意事项:
- 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
 - yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外
一个软件, yum会报错。 
如何卸载软件
sudo yum remove lrzsz
 
vim编辑器
vim的基本概念
我们讲解vim的三种模式(其实有好多模式,目前掌握这3种即可,文章后面会介绍到替换模式和视图模式),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
- 命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式下,或者到底行模式。 - 插入模式(Insert mode) 也称编辑模式
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。 - 底行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入。 
vim的基本操作
-  
进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:
[Asi@localhost ~]$ vim test.c⚠️注:进入vim之后,默认是在命令模式下,要切换到插入模式才能输入文字。
 -  
命令模式切换到插入模式
- 输入a、i 、o三种其一即可。
 
 -  
插入模式切换到命令模式
- 目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。
 
 -  
命令模式切换到底行模式
- 按住
shift键 + ;,也就是冒号: 
 - 按住
 -  
退出vim及保存文件,在命令模式下,按下
:进入底行模式。- :w(保存当前文件)
 - :wq(保存并退出)
 - :q!(不保存强制退出)
 
 
📌命令助记图:
 
vim命令模式命令集
-  
插入模式
按「
i」切换进入插入模式,按“i”进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。 -  
从插入模式切换为命令模式
按「
ESC」键 -  
移动光标
vim可以直接用键盘上的方向键来进行上下左右移动,但正规的vim是用小写英文字母「
h」、「j」 「k」、「l」,分别控制光标左、下、上、右移一格
-速记:h在最左边,左移。l在最右边,右移。j可以看做是jump单词,表示下移。k可以看做是king,表示上移
按[gg]:进入到文本开始
按「G」:移动到文本末尾
按「^」:移动到光标所在行的“行首”
按「$」:移动到光标所在行的“行尾”
按「w」:光标跳到下个单词的开头,支持跨行
按「b」:光标回到上个单词的开头,支持跨行
按「e」:光标跳到下个单词的字尾,支持跨行
按「#l」:光标移到该行的第#个位置,如:5l,56l
按 「#G」:光标移动到第#行的位置,如:15G,跳转到15行
按「ctrl」+「b」:屏幕往“后”移动一页
按「ctrl」+「f」:屏幕往“前”移动一页
按「ctrl」+「u」:屏幕往“后”移动半页
按「ctrl」+「d」:屏幕往“前”移动半页 -  
复制
「
yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符粘贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
「#p」执行#次粘贴操作。
「yw」:将光标所在之处到单词尾的字符复制到缓冲区中。
「#yw」:复制#个单词到缓冲区 -  
撤销上一次操作
「
u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次恢复。
「ctrl」+「r」: 撤销的恢复 -  
删除
「
x」:每按一次,删除光标所在位置的一个字符
「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
「dd」:删除光标所在行(配合「p」使用的话,就是剪切功能)
「#dd」:从光标所在行开始删除#行 -  
替换
「
r」:替换光标所在处的字符。比如,输入r,之后输入x,光标处的字符被替换为了x
「#r」:替换光标位置开始的#个字符。比如,5r,之后输入x,光标位置开始的连续5个字符被替换为了x
「~」:即「shift」+ 「`」,可进行字母的大小写转换。「
R」:替换光标所到之处的字符,直到按下「ESC」键为止⚠️注意:当命令模式下输入大写的R,也就是
shift+r,此时,vim会进入替换模式【REPLACE】,可以一直进行替换操作,即将原来的值给覆盖了,如果想要退出替换模式,需要按Esc键退出。 -  
查找
「
#」:即ctrl+3,光标移动到想要查找的单词位置,查找同名单词, 按n进行跳转。 
文本注释
批量化注释:
 ctrl + v进入视图模式【VISUAL BLOCK】,然后根据j和k进行上下选中区域,然后按I键跳转到插入模式下,在文本前面加上//即可,此时选中的区域都被注释掉了,然后可按Esc键退出。
批量化取消注释:
 ctrl + v进入视图模式【VISUAL BLOCK】,然后根据h``j k l选中区域,按d键,取消选中区域的注释。
vim支持多文件编辑
vim编译器下,是支持多文件同时编辑的,在一个文件的底行模式下,输入vs + 文件名,就能打开另一个文件。(这个文件可以不存在,不存在的话,写入保存就会被创建。目前有三种创建文件的方式:1.touch file.c;2.>file.c;3.vim file.c ,一旦vim保存文件,那么文件就会被创建。)
 ⚠️注意:
- 无论你打开多少个文件,光标只有一个!光标在哪个区域,表示正在编辑哪一个文件。利用
ctrl+ww快捷键可进行文件之间的切换操作。 - 底行模式只有一个,那么多个文件,怎么底行模式只有一个呢?一切以光标为主!光标在哪个位置,表示的就是哪个文件的底行模式。
 
小技巧
vim filename +n:用来在 Vim 中打开名为 “test.c” 的文件并将光标定位到第 n 行的命令。
 例如:
[Asi@localhost ~]$ vim test.c +7
 
那么有小伙伴们会问,这条命令有何意义呢?意义就是假设文件编译报错的时候,系统会显示报错在哪一行,此时以上这条命令增加了查找代码Bug的效率!
简单vim配置
vim的基础配置
- 在root用户的
/etc目录下,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。 - 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为
.vimrc - 切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
 - 在家目录下,可以创建私有配置文件,执行
touch .vimrc 
常用配置选项
- 常见配置选项转自CSDN博主「一般市民Young」的原创文章,原文链接:vim基础配置 侵删。
 
 "====== Basic Configuration ======                                                                                                                           
set number             		 " 显示行号
set cursorline             	 " 突出显示当前行
hi Cursorline cterm=bold ctermbg=black ctermfg=green guibg=green "粗体显示选中行,用黑色框,字体标绿
set cursorcolumn             " 设置列高亮 
hi Cursorcolumn cterm=bold ctermbg=black ctermfg=green guibg=green "粗体显示选中列,用黑色框,字体标绿
set autoindent 		         " 自动缩进
set cindent
set tabstop=4 				 " Tab键的宽度
set softtabstop=4 		     " 统一缩进为4
set shiftwidth=4
set noexpandtab 			 " 不要用空格代替制表符 或者使用expandtab将tab保存为space
set smarttab 			     " 在行和段开始处使用制表符
set ignorecase 			     "搜索忽略大小写
set hlsearch 			     "搜索逐字符高亮
set incsearch 				 "增强搜索
set smartindent 			 " 提供自动缩进
syntax on					 " 语法高亮
" 突出显示81列
set textwidth=80
set colorcolumn=+1
 
- 测试:小伙伴们可以根据自己喜欢的选项写自己私有的配置文件,比如,在
.vimrc中写入set nu,那么再打开任何一个文件,系统都会自动添加上行号了! 
vim安装插件
要配置好看的vim,功能更强大的vim,原生的基本配置功能有限,可以选择安装插件来完善配置。下面我们开始:
VimForCpp:
说明:本项目来源于gtiee用户「 HGtz2222 」 详情请跳转:VimForCpp 侵删
项目简介:
本项目主要目标是帮助对vim配置方法不熟悉的新手封装的一键式vim环境安装包. 主要针对终端vim用户, 适合远程ssh连接Linux服务器进行开发的场景(例如使用阿里云服务器或者腾讯云服务器等)
支持环境:
目前只支持 Centos7 x86_64. 后面会考虑 Ubuntu 等发行版的支持.
安装方法
在 shell 中执行指令(想在哪个用户下让vim配置生效, 就在哪个用户下执行这个指令. 强烈 “不推荐” 直接在 root 下执行):
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
 
最后安装提示要求:
手动执行 "source ~/.bashrc" 或者重启终端, 使 vim 配置生效
                


















