【Linux修炼】5.vim详解【工具篇】

简介: 【Linux修炼】5.vim详解【工具篇】

Linux-yum&vim工具的使用


本节目标

1. Linux 软件包管理器 yum

1.1 什么是软件包

1.2 关于rzsz

1.3 查看软件包

1.4 如何安装软件

1.5 如何卸载软件

2. Linux编辑器-vim的使用(重点)

2.1 什么是vim?

2.2 vim的三种模式

2.2.1 命令模式:

2.2.2 插入模式:

2.2.3 底行模式:

2.2.4 三种模式的总结:

2.3 vim的配置

3. sudo权限的配置

3.1 sudo配置的步骤

3.2 以普通用户的身份验证sudo

4. 总结


本节目标


  • 1. 学习yum工具,进行软件安装

  • 2. 掌握vim编辑器的使用,学会vim的简单配置

  • 3. 配置sudo的方法



1.Linux 软件包管理器 yum


1.1 什么是软件包


在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.

但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.

软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系.

yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat,Centos等发行版上.


1.2 关于rzsz


这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件.

安装完毕之后可以通过拖拽的方式将文件上传过去.

注意事项

关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!!(云服务器则不用,因为其自动连接网络)


1.3查看软件包


通过 yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用 grep 命令只筛选出我们关注的包

yum list | grep lrzsz

微信图片_20230225135801.png

注意事项:


软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.

“x86_64” 后缀表示64位系统的安装包, “i686” 后缀表示32位系统安装包. 选择包时要和系统匹配.

“el7” 表示操作系统发行版的版本. “el7” 表示的是 centos7/redhat7. “el6” 表示 centos6/redhat6.

最后一列, base 表示的是 “软件源” 的名称, 类似于 “小米应用商店”, “华为应用商店” 这样的概念.


1.4如何安装软件


对于安装软件我们既可以sudo提升用户权限安装,也可以用root身份安装,安装之后的软件所有用户都是共用的,但我自己的sudo尚未提升权限,因袭这里采用root身份安装


通过 yum, 我们可以通过很简单的一条命令完成 gcc 的安装.(root身份)


yum install lrzsz

yum 会自动找到都有哪些软件包需要下载, 这时候敲 “y” 确认安装.

出现 “complete” 字样, 说明安装完成.


注意事项:

  • 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
  • yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错.
  • 如果 yum 报错, 请自行百度.


1.5 如何卸载软件


仍然是一条命令:(和安装一样,需要sudo或者root)


yum remove lrzsz

因此,对于yum,我们最主要的就是了解其安装和删除的指令,即:


  • 安装指令:yum install 文件

  • 删除指令:yum remove 文件


2.Linux编辑器-vim的使用(重点)



2.1 什么是vim?

在说vim之前我们首先需要知道什么是vi:


1. vi概述: vi(visual editor)编辑器通常被简称为vi,它是Linux和Unix系统上最基本的文本编辑器,类似于Windows 系统下的notepad(记事本)编辑器。


2. vim编辑器: Vim(Vi improved)是vi编辑器的加强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用。


3. vim编辑器的安装:


在Linux环境下,通常已经默认安装好了vi或vim文本编辑器,我们只需要通过vim命令就可以使用这个编辑器了:


[root@VM-8-3-centos cfyfile]# touch test1.c
[root@VM-8-3-centos cfyfile]# vim test1.c


创建一个文件,直接通过vim打开:(注:此时先不要打开,不然无法关闭,下面将演示如何退出编辑)

微信图片_20230225140030.png


由于我们未对其进行配置,因此打开时是这样,虽然暂时不能对其操作,但可以说明是默认安装好的。


有些精简版的Linux操作系统,默认并没有安装vim编辑器(可能自带的是vi编辑器)。当我们在终端中输入vim命令时,系统会提示"command not found"。

解决办法:有网的前提下,可以使用yum工具对vim编辑器进行安装


#安装vim且询问是否时自动选择yes
yum install vim -y

2.2 vim的三种模式



vim的模式不止三种(一共有12种模式:six BASIC modes和six ADDITIONAL modes.),目前掌握这三种足矣:


2.2.1 命令模式:


当我们执行vim编辑器进入文件编辑时,默认的模式就是命令模式,在此模式下,我们不能进行输入操作,由于Linux环境下不支持鼠标的移动,只能通过指定的按键对光标进行移动。除了上下左右四个按键移动光标之外,还有其他移动光标的方式。


  • 光标定位:


shift + 4 (也就是$) :直接将光标移动到行的最右面

shift + 6(也就是^):直接将光标移动到行的最右面

shiift + g(也就是G):直接将光标移动到底部

gg(快速按两下g):直接将光标移动到顶部

n+shift+g(也就是行号+G):跳转光标到指定行,n代表的是行号(先按数字不放开,在按住shift+g)


光标移动: 我们知道通过上下左右键可以让其对应的移动,但这里还有一种方式让其移动,这种方式在以后的学习中将会用到,因此在这里交代是必要的。


微信图片_20230225140305.png


这是年代较为久远的键盘,通过这个我们可以就看出通过这四个键就可以做出相应的移动。

h:向左

j: 向下

k:向上

L:向右

  • 除了光标的移动,此模式下还可以进行文本复制相关的操作:


光标所在行:

yy:复制

p:粘贴 (np:对复制的整行内容进行n行的粘贴)

dd:删除光标所在行(ndd:对光标下面的n行整体删除,ndd+p剪切操作)



  • 文本编辑操作:


文本行的大小写切换:shift + ~ (切换之后光标会自动走向下一个字符)


shift + r(也就是R):批量化替换


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


行内删除:x 和 X:向前和向后删除(同样支持nx和nX,支持p)


cw:更改光标所在处的字到字尾处。例如:c3w表示更改三个字(同时会切换到插入模式)


  • 撤销操作:

u : 撤销到上一步

ctrl + r:撤销所撤销的行为(即取消u操作)


命令模式的意义: 提高编辑效率。


2.2.2 插入模式:


对于插入模式,实际上就是正常的文本编辑操作,可以正常的在文件中输入信息。

想要切换到插入模式,我们只需要在命令模式的基础上按:i(a、o等都可以)就可以从命令模式切换到插入模式了。


  • 命令模式:

微信图片_20230225140437.png

插入模式:


微信图片_20230225140507.png


想从插入模式退回命令模式,按esc键即可。


2.2.3 底行模式:


上述说过,当我们打开vim时,默认的是命令模式,因此其他的模式都必须经过命令模式才能进行切换,对于底行模式来说,在命令模式下输入shift + ;(即:)就可以切换到底行模式了。


微信图片_20230225140543.png

在底行模式中,有以下几个功能:


  • 显示行号的切换

显示行号:set nu

微信图片_20230225140546.png

取消行号:set nonu

微信图片_20230225140550.png


  • 写入与退出

在这里,就介绍了如何退出和保存文本编辑

保存文件内容:w

离开vim:q (按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。)

保存并离开vim:wq (w、wq同样支持强制操作)


  • 分屏操作

通过vs copy.c就可以新建copy.c并分屏操作两个文本文件了(不过光标只有一个,光标在哪个文件,就对那个文件进行操作)

这里可以通过命令:ctrl +ww就可以实现光标的跨屏操作。


微信图片_20230225140714.png


即可以通过上面的指令将test.c的内容复制到copy.c中。


  • 在vim的底行模式中执行shell指令

我们不用退出vim就可以执行命令行,只需要在正常命令的前面加上强制执行即可。

  • 在底行模式执行替换命令(演示将printf替换成cout)


格式:%s/需要替换的/替换后的/g

替换前:


微信图片_20230225140750.png

替换后:

微信图片_20230225140753.png


三种模式的总结:


微信图片_20230221232904.png

2.3 vim的配置


上述过程中的vim与记事本差别不大,并没有像vs一样的缩进等功能,因此我们就需要配置vim,一般需要创建.vimrc文件,并在.vimrc文件中插入一系列的命令,这一系列的命令就相当于vim的配置文件。对于这样配置,事实上没多少技术含量,只是非常麻烦,会需要很长时间(因为需要配置的命令多)。对于vim的配置问题,用户之间并不会彼此影响,即在同一台机器下,每一个用户的家目录的.vimrc都是独立的,即便是root也不会影响普通用户。


所谓的vim配置,就是修改自己的.vimrc(没有.vimrc就自己在家目录中touch一个)


因此在这里我们只需要在家目录中执行此命令便可以进行一键配置:


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


配置成功之后,我们再次利用vim进入文件:发现通过这样的配置就变成了这样:


微信图片_20230225140938.png

对于此配置,默认缩进是两个空格,如果想修改里面配置的参数变成4个空格,我们就可以返回到家目录,打开.vimrc并对相应的位置进行修改:(下面就是通过上面命令自动配置的.vimrc中的内容,400行以上)命令:vim .vimrc

微信图片_20230225140942.png

接下来通过/2就可以找到配置默认对齐格式的位置:(如下)直接输入/2

微信图片_20230225140945.png

我们把53/54/55行的2都变成4就可以将缩进的格式从2变成4了:(切换成插入模式再改)

微信图片_20230225140949.png


这样保存并退出,就完成了vim的配置了。

3.sudo权限的配置


步骤1: 切换成root用户


因为需要打开root的白名单并将cfy添加到里面,因此我们需要登陆root账号。


步骤2: 查看是否有/etc/sudoers(一定有,这里只是看一下,实际步骤可省略)


步骤3: 通过vim打开已经存在的sudoers(一定有sudoers)并找到相应位置


微信图片_20230221233016.png

在此位置我们需要添加cfy用户到这里,此时发现只有root和yaozheng两个用户。(root是默认存在的,yaozheng也是和我们描述的一样的步骤添加的)


步骤4: 添加cfy到此位置


微信图片_20230221233104.png

通过上面我们学习的vim的三种模式,我们首先在命令模式中yy一下root整行,再p到root下面,然后切换成插入模式将复制的root改成cfy,最后在底行模式下w! 回车,q!回车。(强制修改)就配置完成了!



4. 总结


对于此篇文章,算是对Linux系统工具的第一篇讲解,对于vim来说,虽然我们已经有了VS2019等编译器,但以后也避免不了会使用vim编辑器,因此我们详细讲解了vim的有关知识和相关配置;对于sudo来说,我们也将我们的普通用户变成·了能够提权的用户,因此这篇文章之后,我们就抛弃root用户本身,只使用此普通用户。最后,希望这篇文章能够帮助到你



相关文章
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
110 8
|
2月前
|
监控 Unix Linux
Linux系统工具
Linux系统工具
53 6
|
2月前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
70 5
Linux系统之安装Ward服务器监控工具
|
2月前
|
JSON JavaScript Linux
Linux系统之安装cook菜谱工具
【10月更文挑战第15天】Linux系统之安装cook菜谱工具
46 2
Linux系统之安装cook菜谱工具
|
1月前
|
开发工具
Vim工具使用
vim是Visual Interface的简称,一个全屏文本编辑器,支持多种文本操作且可定制。vim有三种基本模式:编辑模式、输入模式和命令模式。编辑模式用于执行命令,输入模式用于输入文本,命令模式用于保存和退出。
42 2
|
1月前
|
缓存 监控 Linux
Linux性能分析利器:全面掌握perf工具
【10月更文挑战第18天】 在Linux系统中,性能分析是确保软件运行效率的关键步骤。`perf`工具,作为Linux内核自带的性能分析工具,为开发者提供了强大的性能监控和分析能力。本文将全面介绍`perf`工具的使用,帮助你成为性能优化的高手。
163 1
|
1月前
|
缓存 监控 Linux
掌握Linux性能分析:深入探索perf工具
【10月更文挑战第26天】
71 1
|
2月前
|
存储 运维 搜索推荐
|
2月前
|
Java Unix Linux
Linux vi/vim
Linux vi/vim
32 5
|
2月前
|
机器学习/深度学习 Linux 编译器
Linux入门3——vim的简单使用
Linux入门3——vim的简单使用
64 1