Linux软件包管理与Vim编辑器使用指南
目录
一、Linux软件包管理器yum
1.什么是软件包?
2.什么是软件包管理器?
3.查看软件包
4.安装软件
编辑
5.卸载软件
Linux开发工具:
二、Linux编辑器---vim
1.vim的基本概念
(1) 正常/普通模式(Normal mode)
(2) 插入模式(insert mode)
(3) 底行模式(last line mode)
(4) vim三种模式的相互关系
2.vim的简易执行范例
(1) 使用【vim filename】
(2) [正常模式]切换至[插入模式]
(3) [插入模式]切换至[正常模式]
(4) [正常模式]切换至[底行模式]
(5) 退出vim环境
3.vim编辑模式命令集
(1) 移动光标
(2) 查找与替换
(3) 删除、复制与粘贴
4.普通模式切换到编辑模式命令集
5.vim底行模式命令集
6.可视化模式(Visual Mode)
7.总结
8.简单配置vim
(1) 配置文件的位置
(2) 常用配置选项用来测试
(3) 使用插件
9.参考资料
一、Linux软件包管理器yum
1.什么是软件包?
在Linux下安装软件:
(1) 通常的办法是下载到程序的源代码,并对其进行编译,得到可执行程序。
(2) 但是这样太麻烦,于是有人把一些常用的软件提前编译好,做成软件包---rpm(可以理解成Windows上安装程序)放在一个服务器上。(rpm是一种以数据库记录的方式将所需要的软件安装到Linux系统的一套软件管理机制 => 需要满足软件的依赖属性需求,满足版本兼容性需求)
(3) 通过包管理器 --- yum(Centos) / apt / apt-get(ubuntu)可以很方便的获取到这个编译好的软件包,直接进行安装(本质就是拷贝 => 必须使用root权限 => 安装到系统里,只要安装一次,所有人都能使用)。
2.什么是软件包管理器?
yum是Linux下非常常用的一种包管理器。软件包和软件包管理器,就好比“App”和“应用商店”的关系。主要应用于Fedora,RedHat,Centos等发行版上。
由于Linux发行版必须要先发布软件,然后软件放置于yum服务器上,以提供客户端来安装与升级之用。因此我们要使用yum功能时,必须要先找到合适的yum服务器才行。而每个人yum服务器可能都会提供许多不同的软件功能,因此,我们必须要前往yum服务器查询到想换的软件源网址后,再继续处理后续的设置事宜。但Centos在发布软件时已经制作出多个镜像站(国内知名的有阿里云、清华大学、163),提供全世界的软件更新之用。所以理论上我们不需要处理任何设置值,只要能连上网就可以使用yum(操作系统内部内置链接)。也就是说包管理器会自动解决软件的依赖关系。
3.查看软件包
通过yum list命令可以罗列出当前一共有哪些软件包。由于包的数目可能非常之多,这里我们需要使用grep命令只筛选出我们关注的包。
yum list | grep sl
4.安装软件
用 yum 完成 sl 的安装,yum会自动找到都有哪些软件包需要下载,这是敲 "y" 确认安装,出现“complete”说明安装成功。
sudo yum install sl
注意:
• 关于yum的所有操作必须保证主机(虚拟机)网络畅通!!!可以用ping指令验证:如果能够收到响应,说明主机可以访问互联网。
ping www.baidu.com
• 安装软件时由于需要向系统目录中写入内容,一般需要sudo或者切到root用户下才能完成。
• yum安装软件只能一个装完了再装另外一个。正在yum安装一个软件的过程中,如果在尝试用yum安装另外一个软件,yum会报错。
• /etc/yum.repos.d/*里面的文件称之为yum源。也就是我们开头所提到的yum服务器。更新yum源也就是更新里面的文件。Base 是稳定软件源,epel 是扩展软件源(新软件)。
[zyt@iZ2vcf9wvlgcetfeub9f11Z ~]$ cd /etc/yum.repos.d/
[zyt@iZ2vcf9wvlgcetfeub9f11Z yum.repos.d]$ ll
total 16
-rw-r--r-- 1 root root 675 Nov 11 17:01 CentOS-Base.repo
-rw-r--r-- 1 root root 230 Nov 11 17:01 epel.repo
-rw-r--r-- 1 root root 1358 Sep 5 2021 epel.repo.rpmnew
-rw-r--r-- 1 root root 1457 Sep 5 2021 epel-testing.repo
5.卸载软件
sudo yum remove sl
下面这些命令通常一起使用,以确保软件包管理器的缓存是最新的,并且软件包是最新版本的。首先移除软件包,然后清理缓存,接着更新缓存,最后重新安装软件包。
sudo yum remove sl #移除软件包
sudo yum clean all #清除软件包缓存
sudo yum makecache #生成元数据缓存
sudo yum install sl #安装软件包
Linux开发工具:
二、Linux编辑器---vim
前面的学习,我们一直都是使用命令行模式来处理Linux系统的设置问题。但在Linux的系统中使用文本编辑器来编辑你的Linux参数配置文件,可是一件很重要的事情,也因此,系统管理员至少应该熟悉一种文本处理工具。在Linux命令行模式下的常听的文本编辑器就有emacs、pico、nano、joe和vim等。之前我们已经介绍的简单好用的nano,为什么还要学vim?
因为,所有的 UNIX-like 系统都会内置vi文本编译器,其他的文本编译器则不一定会存在;很多软件的编辑接口都是主动调用vi(之后会讲的crontab,visudo,edquota等命令)等优点。
那什么是vim?vi/vim的区别简单来说,它们都是多模式编译器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x windows、mac os、windows。
1.vim的基本概念
讲解vim的三种模式(其实有好多种模式,目前掌握这三种即可)分别是普通模式(command mode)、插入模式(insert mode)和 底行模式(last line mode)。
(1) 正常/普通模式(Normal mode)
以vim打开一个文件就直接默认是普通模式。在这个模式中,可以控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入insert mode模式下,或者last line mode。(帮助我们快速编辑)
(2) 插入模式(insert mode)
在普通模式下可以进行删除、复制、粘贴等操作,但是却无法编辑文件的内容,作文字的输入。要等到按下【i,I,o,O,a,A,r,R】等任何一个字母才能后才能进入编辑模式。通常在Linux中,界面左下方会出现【INSERT】或【REPLACE】等字样,才可以进行编辑。而要回到普通模式要按下【Esc】。
(3) 底行模式(last line mode)
在命令模式中输入【: / ?】三个中的任何一个按钮,就可以将光标移动到最下面那一行。该模式下,文件保存(w)或退出(q),也可以进行文件替换,找字符串,列出行号等操作。
(4) vim三种模式的相互关系
2.vim的简易执行范例
(1) 使用【vim filename】
【vim filename】进入vim全屏幕编辑画面,进入后,是处于[普通模式],要切换到[插入模式]才能够输入内容。整个界面分为两部分,上半部分与最下面一行可以视为独立的。上半部分展示的是文件的实际内容,最下面一行则是状态显示行,或命令执行行。
● 用vim创建一个新文件node.c
vim node.c
● 用vim打开一个已有文件
man printf > code.c
vim code.c
●【vim filename + num】
执行命令时加上数字,进入vim后光标位置就在所输数字行。
●【!v】
自动匹配上次执行过的v开头的命令
●【ctrl + r】
输入要查找的历史命令
(2) [正常模式]切换至[插入模式]
按下a,i,o等字符就可以从普通模式进入插入模式,在插入模式中,左下角会出现-INSERT-字样,键盘上出来【ESC】按键之外其他的按键都可以视为一般的输入按键,所以你可以进行任何编辑。
(3) [插入模式]切换至[正常模式]
按左上角的【ESC】即可。
(4) [正常模式]切换至[底行模式]
「shift + ;」, 其实就是输入「:」
(5) 退出vim环境
在 [普通模式下] 按「:」进入底行模式后,再输入下面所需要的命令:
w:保存当前文件
wq:存盘并退出vim
q!:不存盘强制退出vim
3.vim编辑模式命令集
(1) 移动光标
h 或 ← | 光标左移一个字符 |
j 或 ↓ | 光标下移一个字符 |
k 或 ↑ | 光标上移一个字符 |
l 或 → | 光标右移一个字符 |
[ctrl] + [f] | 屏幕【向下】移动一页,相当于【pgdn】按键(常用) |
[ctrl] + [b] | 屏幕【向上】移动一页,相当于【pgup】按键(常用) |
[ctrl] + [d] | 屏幕【向下】移动半页 |
[ctrl] + [u] | 屏幕【向上】移动半页 |
0 或 ^ 或 [Home] | 移动到这一行的最前字符串处(常用) |
$ 或 [End] | 移动到这一行的最后字符(常用) |
G | 移动到这个文件的最后一行(常用) |
nG | n为数字,移动到这个文件的第n行 |
gg | 移动到这个文件的第一行,相当于1G(常用) |
w | 以单词为单位右移 |
b | 以单词为单位左移 |
n<Enter> | n为数字,光标向下移动n行(常用) |
(2) 查找与替换
~ | 切换光标位置大小写 |
# | 选中单词 |
n | n是英文按键,代表【重复上一个查找的操作】,向下查找 |
N | N是英文按键,与n刚好相反,是【反向】查找 |
/word | 向光标之下找一个名为word的字符串 |
?word | 向光标之上找一个名为word的字符串 |
#选中word(或/word)配合n及N是非常有帮助的,可重复的查找的关键单词
(3) 删除、复制与粘贴
x 与 X | 在一行中,x为向后删除一个字符(相当于[del]),X为向后删除一个字符(相当于[Backspace])(常用) |
nx | n为数字,连续向后删除n个字符 |
dd | 剪切光标所在的那一整行(常用) |
ndd | n为数字,剪切光标所在的向下n行(常用) |
yy | 复制光标所在的那一行(常用) |
nyy | n为数字,复制光标所在的向下n行(常用) |
p 与 P | p为将已复制的数据在光标下一行粘贴,P为粘贴在光标的上一行(常用) |
u | 撤销历史操作(常用) |
[Ctrl] + r | 撤销u的操作(常用) |
. | 小数点,重复上一个操作的含义(常用) |
注意:u 和 [Ctrl] + r 这两个操作一旦退出文件编辑就无法再撤销,但如果只是保存过没有退出文件就还能使用。
4.普通模式切换到编辑模式命令集
i 与 I | 进入插入模式(Insert mode) i 为【从目前光标所在处插入】,I 为【在目前所在行的第一个非空空格符开始插入】(常用) |
a 与 A | 进入插入模式(Insert mode) a 为【从目前光标所在的下一个字符处开始插入】,A 为【从光标所在行的最后一个字符处开始插入】(常用) |
o 与 O | 进入插入模式(Insert mode) 这是英文字母的小写o,o 为【在目前光标所在的下一行处插入新的一行】,O 为【在目前光标所在处的上一行插入新的一行】(常用) |
r 与 R | 进入替换模式(Replace mode) r 会【替换光标所在的那一个字符一次】,R 会【一直替换光标所在的文字(可移动)】,直到按下[Esc]为止(常用) |
[Ctrl] + v | 进入可视化模式(Visual Block) 【可视区块,可以用矩形的方式选择数据】,光标移动过的位置就会反白(只能用hjkl移动光标)(常用) |
[Esc] | 退出编辑模式,回到普通模式(常用) |
可视化模式举例:批量注释:
先【Ctrl + r】进入可视化模式,移动光标选择要注释的部分,再按【Ctrl + i】也就是【I】进入插入模式,输入【//】注释符,最后按【Esc】退出插入模式就实现了。
批量去掉注释:【Ctrl + r】进入可视化模式,选中注释符【//】,再按 d(删除)就完成去注释。
使用上面这些按键,再vim界面的左下角会出现【--INSERT--】,【--REPLACE--】,【--VISUAL-BLOCK--】的字样。
5.vim底行模式命令集
:w | 将编辑的数据写入硬盘文件中 |
:w! | 若文件属性是【只读】时,强制写入该文件。到底能不能写入,跟你对该文件的文件权限有关 |
:q | 退出vim(常用) |
:q! | 若曾修改过文件,又不想保存使用 ! 为强制退出不保存 |
:wq | 保存后退出,若为 :wq! 则为强制保存后退出(常用) |
ZZ | 快捷键,若文件没有被修改,则不保存退出;若文件已经被修改过,则保存退出 |
:!command | 执行command命令,显示结果。 |
:%s/x/y/ | 用 x 批量化替换 y |
:vs dst.c | 纵向屏幕创建一个新窗口,打开的是名为dst.c的文件(可能是新建的)。([Ctrl] + ww 可以切换窗口) |
:set nu | 显示行号,设置之后会在每一行的前缀显示该行的行号 |
:set nonu | 与 set nu 相反,为取消行号 |
6.可视化模式(Visual Mode)
当我们按下v或V或[Ctrl] + v时,光标移动过的地方会反白
v | 进入字符可视化模式(Character Visual Mode) 字符选择,会将光标经过过的地方会反白选择 |
V | 进入行可视化模式(Line Visual Mode) 会将光标经过过的地方会反白选择 |
[Ctrl] + v | 进入区块可视化模式(Block Visual Mode) 可以用矩形的方式选择数据(只能用hjkl控制移动) |
y | 将反白的部分复制 |
d | 将反白的地方删除 |
p | 将刚刚复制的区块,在光标所在处粘贴 |
7.总结
8.简单配置vim
(1) 配置文件的位置
• 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。• 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如 /root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。
下面是Vim 编辑器的配置文件和相关路径,这些文件和变量共同定义了 Vim 的行为和外观。用户可以通过修改 .vimrc
和 .exrc
文件来定制自己的 Vim 环境,而系统管理员可以通过修改 /etc/vimrc
文件来为所有用户提供统一的配置。
系统 vimrc 文件: "/etc/vimrc"
用户 vimrc 文件: "$HOME/.vimrc"
第二用户 vimrc 文件: "~/.vim/vimrc"
用户 exrc 文件: "$HOME/.exrc"
defaults file: "$VIMRUNTIME/defaults.vim"
$VIM 预设值: "/etc"
$VIMRUNTIME 预设值: "/usr/share/vim/vim81"
• 切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~• 打开自己目录下的.vimrc文件,执行 vim .vimrc(此时还是空文件)
(2) 常用配置选项用来测试
我们写入常用配置项,测试一下:
set nu "显示行号
syntax on "语法检验,颜色显示
set shiftwidth=4 "缩进空格数为4
set tabstop=4
set expandtab
set autoindent "自动缩进
set showmode "显示左下角那一行状态
(3) 使用插件
要配置好看的vim,原生的配置可能功能不全,可以选择安装插件来完成配置,保证用户是你要配置的用户,然后:
安装 TagList 插件
- 下载
taglist_xx.zip
文件。- 解压该文件。
- 将解压出来的
doc
目录下的内容放到~/.vim/doc
目录中。- 将解压出来的
plugin
目录下的内容拷贝到~/.vim/plugin
目录中。- 在
~/.vimrc
文件中添加以下配置:vimlet Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Use_Right_Window=1
- 重启 Vim。
安装 WinManager 插件
- 下载
winmanager.zip
文件,确保是 2.X 版本以上。- 解压该文件。
- 将解压出来的
doc
目录下的内容放到~/.vim/doc
目录中。- 将解压出来的
plugin
目录下的内容拷贝到~/.vim/plugin
目录中。- 在
~/.vimrc
文件中添加以下配置:vimlet g:winManagerWindowLayout=‘FileExplorer|TagList' nmap wm :WMToggle<cr>
- 重启 Vim。
使用方法
- 打开
~/XXX.c
或~/XXX.cpp
文件。- 在普通模式(Normal mode)下输入
wm
,你将看到下面文件浏览器和标签列表的效果。- 手把手教你把Vim改装成一个IDE编程环境(图文)_vim 打造成 ide-CSDN博客
其他手册
- 要查看更多手册信息,请执行
vimtutor
命令。请注意,上述步骤假设你已经有一定的 Vim 插件安装经验,并且你的 Vim 环境已经配置好了相应的路径。如果你在执行这些步骤时遇到任何问题,可能需要检查文件路径和权限设置是否正确。
(4) 一键式配置vim
目前只支持 Centos7 x86_64. 具体操作查看文档
VimForCpp: 快速将vim打造成c++ IDE
9.参考资料
GitHub - wsdjeg/vim-galore-zh_cn: Vim 从入门到精通