👻内容专栏: 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进行跳转。
vim末行模式命令集
在使用末行模式之前,请记住先按「ESC
」键确定您已经处于正常模式,再按「:
」冒号即可进入末行模式。
-
列出行号
「
set nu
」: 输入「set nu
」后,会在文件中的每一行前面列出行号。 -
跳到文件中的某一行
「
#
」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。 -
查找字符
「
/关键字
」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一 直按「n」会往后寻找到您要的关键字为止。
「?关键字
」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。问题:/ 和 ?查找有和区别?操作实验一下
-
保存文件
「
w
」: 在冒号输入字母「w」就可以将文件保存起来 -
离开vim
「
q
」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
「wq
」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件.
文本注释
批量化注释:
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 配置生效