Linux开发工具之【vim】
1. Linux软件包管理器yum
什么是软件包?这里举个例子
我们使用手机时是在应用商店下载软件,应用商店里的看到各种软件是在远端服务器上的,服务器上有对应的软件下载服务,我们下载软件时就是从服务器上下载对应的相关文件,对应在Linux机器中,这里手机上的“APP”就相当于软件包,而应用商店就相当于软件包管理器
在Linux下是如何安装软件的呢?
在Linux
下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序。但是这样太麻烦了,于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装。yum(Yellow dog Updater, Modifified)
是Linux
下非常常用的一种包管理器. 主要应用在Fedora
, RedHat
, Centos
等发行版上
1.1 查看软件
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装
yum [ options] [ command] [ package .. .]
通过 yum list
命令可以罗列出当前一共有哪些软件包,由于包的数目可能非常之多,这里我们需要使用 grep
命令只筛选出我们关注的包
yum list | grep 软件包名
注意:
软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu
架构. "x86_64"
后缀表示64位系统的安装包, "i686"
后缀表示32位系统安装包. 选择包时要和系统匹配."el7"
表示操作系统发行版的版本. "el7"
表示的是 centos7/redhat7
. "el6"
表示 centos6/redhat6
.最后一列, base
表示的是 “软件源” 的名称, 类似于 “小米应用商店”, “华为应用商店” 这样的概念
1.2. 下载软件
下载软件
yum [ 选项] install 软件名(必须是root身份)/ sudo yum install 软件名
常用选项
-y:不会弹出选择
yum
会自动找到都有哪些软件包需要下载, 这时候敲“y”
确认安装.出现 “complete”
字样, 说明安装完成
注意:
安装软件时由于需要向系统目录中写入内容, 一般需要 sudo
或者切到 root
账户下才能完成. yum
安装软件只能一个装完了再装另一个. 正在yum
安装一个软件的过程中, 如果再尝试用yum
安装另外一个软件, yum
会报错.
1.3 卸载软件
卸载软件
yum [ 选项] remove 软件包名(必须是root身份 / sudo yum remove 软件包名
常用选项
-y:不会弹出选择
2. vim编辑器的使用
vim
是多模式编辑器。我们可以在上面进行各种语言的代码编写,vim
的三种模式:命令模式(command mode
)、插入模式(Insert mode
)和底行模式(last line mode
),vim
的使用是有一些门槛的,需要多加练习得以熟练的使用,最后还可以根据自己的习惯自定义出属于自己的独特vim
2.1 vim常用模式
命令模式
命令模式就是我们刚进入vim
时的初始模式,可以控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式下,或者到底行模式下,在vim
中如果不知道在什么模式下可以无脑按ESC
进入命令模式
插入模式
只有在插入模式下,才能进行文字输入,按ESC
键可退回到命令模式
底行模式
底行模式下可以进行文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,输入shift + :
即可进入该模式。要查看你的所有模式:打开vim
,底行模式直接输入help vim-modes
2.2 vim基本操作
首先要保证自己的 Linux
中已经安装好了 vim
,如果没有安装,需要在 root
用户下通过指令 yum install -y vim
进行安装
我这里用于演示的vim
是已经配置过的,会与刚使用的画面有些出入,不过操作是一样的,问题不大,文章末尾我也会提供配置vim的方法
进入vim
vim 文件名
这里使用 vim test.cc
打开文件后就是这个样子,此时我们会发现输入内容并没有被写入,这是因为此时处于命令模式,想要输入内容,需要先单按 i
进入插入模式
退出vim
vim
的退出是有些麻烦的,插入模式下无法直接退出vim
,需要先进入命令模式,然后切换底行模式,输入wq
保存并退出
输入q
表示不保存退出vim
,输入w
表示保存文件内容,输入wq
表示保存并退出vim
,指令后加!
表示强制
命令模式切换插入模式
进入插入模式的方法有很多
按 Insert
键切换 按 i
键切换,切换后是从光标当前位置开始输入文件 按 a
键切换,切换后是从目前光标所在位置的下一个位置开始输入文字 按 o
键切换,切换后是插入新的一行,从行首开始输入文字
一般常用 i
来切换
命令模式切换底行模式
输入shift + :
(按住shift点击:)进入底行模式
2.3 vim命令模式命令集
必须是在命令模式下使用
2.3.1 移动光标
h键、j键、k键、l键:分别控制光标左、下、上、右移一格
G键:光标移动到文本最后
$键:光标移动到所在行行尾
^键:光标移动到所在行行首
w键:光标移动到下个字的开头
e键:光标移动到下个字的结尾
b键:光标移动到上个字的开头
nl键:光标移动到所在行的第n个位置:如:10l、5l
gg键:光标移动到文本开头
shift + g键:光标移动到文本末尾
ctrl + f键:屏幕往前移动一页
ctrl + b键:屏幕往后移动一页
ctrl + d键:屏幕往前移动半页
ctrl + u键:屏幕往后移动半页
2.3.2 删除文字
xx键:删除光标所在位置的一个字符
n + x键:删除光标所在位置后的n个字符,例如5x,删除光标所在位置后的5个字符
X键:删除光标所在的位置的前一个字符
n + X键:删除光标所在位置的前n个字符
dd键:双击d键,剪切所在行
n + dd键:从光标所在行剪切n行,例如3dd键表示从光标所在行剪切3行
2.3.3 复制文本内容
yw键:将光标所在之处到字尾的字符复制到缓冲区中
n + yw键:复制n个字到缓冲区
yy键:双击y键,复制光标所在行到缓冲区
n + yy键:复制从光标所在行往下数n行到缓冲区,例如3yy,表示复制从光标所在行向下的3行文本内容
p键:将缓冲区内的字符贴到光标所在位置(所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能)
2.3.4 替换文本内容
r键:替换光标所在处的字符
R键(shift + r):替换光标所到之处的字符,直到按下「ESC」键为止(连续替换)
2.3.5 撤销操作
u键:回到上一个操作
ctrl + r:撤销的恢复
2.3.6 更改操作
c + w键:先按c键再按w键,更改光标所在处的字到字尾处
c + n + w键:c3w:表示更改3个字
shift + ~:快速大小写切换
2.4 vim底行模式命令集
2.4.1 列出行号
设置行号(底行模式下)
set nu
取消行号(底行模式下)
set nonu
2.4.2 跳到文件中的某一行
n号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字12,再回车,就会跳到文章的第12行。
n:行数
2.4.3 查找字符
先按/
键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按n
会往前寻找到您要的关键字为止
/字符 + n
先按?
键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按n
会往前寻找到您要的关键字为止
?字符 + n
2.4.4 退出并返回
!
配合常规命令和底行指令可以在不退出vim的情况下执行各种指令
例如,在vim中编写了一个test.cc
文件,我们可以在底行模式下输入!g++ test.cc
将文件编译链接生成可执行程序,然后输入!./a.out
执行程序,执行结束后,会返回vim
界面
! +指令:临时退出vim,进行相关信息显示,然后有提示信息:Press ENTER or type command to continue:表示按ENTER键或者其他指令都回退到vim编译器下。
底行模式下的!
还有强制的意思,比如!wq
强制保存并退出
2.4.5 文本替换
在文档中搜索出原内容,并将其替换为替换内容
%s/原内容/替换内容/g
2.4.6 分屏操作
在写程序时,往往会有几个文件,多开窗口就会让我们的编写更加方便,vim
也是支持多开窗口的,指令vs file
,新开一个窗口打开file文件,文件不存在会自动创建,此时光标在哪里就是在编写哪个文件,可以使用指令ctrl + ww
,进行窗口切换
vs file:分屏状态,打开file文件
ctrl + ww:窗口切换
3. vim配置
3.1 自己配置
自己配置vim
需要在自己的家目录~
下创建一个vim
配置文件.vimrc
然后打开.vimrc
文件进行配置编写,如:
这里还可以有很多选择,可以自己到网上搜索,来配置自己独一无二的vim
vim配置的原理就是根据的一个配置文件编写对应的需求来完成的
3.2 自动化配置
vim
的配置想要达到完善是很费时费力的,这里我们也可以通过指令下载大佬已经写好的脚本,来自动化配置一个精美的vim
自动化位置步骤:
复制指令curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
进入自己的账户,粘贴复制的指令,输入root密码进行安装
特别感谢大佬的脚本提供,原文地址
注意:此自动化安装目前只支持Centos7.6
,其他平台可能无法安装
卸载指令
bash ~/.VimForCpp/uninstall.sh
效果展示
Linux开发工具vim,到这里就介绍结束了,本篇文章对你由帮助的话,期待大佬们的三连,你们的支持是我最大的动力!
文章有写的不足或是错误的地方,欢迎评论或私信指出,我会在第一时间改正