linux-基础学习-04 Vim编辑器

linux-基础学习-04 Vim编辑器

  Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。

系统里面会自带vi编辑器,但VIM是VI的扩展版本,所以需要手动安装

1
[root@localhost ~]# yum install vim -y

VIM编辑器三大模式:

普通模式(命令模式):进入VIM编辑器后默认的模式是普通模式(此时无法对文本进行改动)

输入模式(插入模式):在普通模式下按insert键、a、i、o、O进入到输入模式,用Esc键可以从插入模式返回到普通模式

末行模式(底行命令模式):在普通模式下按“:”进入末行模式,末行模式主要是各种搜索替换以及保存退出功能

搜索模式:在普通模式下按“/”,然后输入想要搜索的内容,按回车;在搜索模式下向下搜索直接按“/”回车,也可以在普通模式下用“n”向下搜索,大写的“N”为向上搜索

命令 作用
dd 删除(剪切)光标所在整行
5dd 删除(剪切)从光标处开始的5行
yy 复制光标所在整行
5yy 复制从光标处开始的5行
n 显示搜索命令定位到的下一个字符串
N 显示搜索命令定位到的上一个字符串
u 撤销上一步的操作
p 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面
x 删除光标所在位置的字符
[n]x 删除光标所在位置以及之后的n个字符
G 快速到达文档尾部

Vim键盘功能表:

1VX1Ln.png

末行模式中可用的命令:

命令 作用
:w 保存
:q 退出
:q! 强制退出(放弃对文档的修改内容)
:wq! 强制保存退出
:set nu 显示行号
:set nonu 不显示行号
:命令 执行该命令
:s/one/two 将当前光标所在行的第一个one替换成two
:s/one/two/g 将当前光标所在行的所有one替换成two
:%s/one/two/g 将全文中的所有one替换成two
?字符串 在文本中从下至上搜索该字符串
/字符串 在文本中从上至下搜索该字符串

使末行模式下配置的VIM环境永久生效

1.修改/etc/vimrc让VIM配置对所有用户永久生效

2.修改~/.vimrc 用户家目录下的vimrc对当前用户永久生效

隐藏文件以”.”开头

1
2
3
4
[root@localhost ~]# vim .vimrc
[root@localhost ~]# cat .vimrc
set nu
set ts=4

快速清空文档

我们新建并编辑一个文档,里面随便敲几行字母,如下:

1
2
3
4
5
6
7
8
[root@localhost ~]# vim test.txt
[root@localhost ~]# cat test.txt
osifhisudf
sdufhisud
sidfhisud
sudhfisudhf
sudhfsudfi
[root@localhost ~]#

接下来vim打开test.txt,打开后默认是在命令行模式

1
[root@localhost ~]# vim test.txt

1VXNJU.png

此时在文档尾部还能看到文件名,如果是插入模式,那就会显示“插入”两个字

此时按下gg,可以看到光标跳到了首行

1VXUWF.png

此时按下dG,可以看到文档内容被瞬间清空

1VXaz4.png

然后按下i,可以看到变成了插入模式,输入hello world

1VXwQJ.png

保存退出,再次查看文档内容,可以看到修改成功

1VX0y9.png

1VXBLR.png

利用可视块去除文本前面的行号

  有时候,我们会从网上粘贴一些代码,但是由于一些配置文件修改时为了方便找到修改的内容在哪一行,许多作者都是习惯将行号也写出来的。那么,如何快速去除文本前面的行号呢?

  我们新建一个文本来演示一下,里面放5行,接下来尝试删掉11~15这5个行号

1
2
3
4
5
6
7
[root@localhost ~]# vim hello.txt
[root@localhost ~]# cat hello.txt
11 hello
12 hello
13 hello
14 hello
15 hello

用vim打开这个文件,此时默认就是命令行模式,底部还可以看到文件名

1
[root@localhost ~]# vim hello.txt

1VXsdx.png

按下ctrl+v,可以看到底部文字变成了“可视块”。

1VXyo6.png

接下来按右方向键和上方向键,选中你要删除的部分内容块

1VXcFK.png

接下来按下小写的x键,可以看到你选中的那些内容块直接被你删除了

1VX2WD.png

接下来照常保存退出,再次查看hello.txt的内容,可以看到修改成功

1VXWSe.png

撤销与恢复撤销

  在使用VIM的时候,难免会有输错的情况,这个时候我们应该如何撤销,然后回到输错之前的状态呢?答案:使用u(小写,且在命令模式下)命令。

  但如果有时我们一不小心在命令模式下输入了u,然后刚输入的一大片代码都不见了,这个时候我们应该如何恢复刚才的撤销操作呢?答案:使用Ctrl + r命令。

总结:

撤销:u

恢复撤销:Ctrl + r

现在来演示一遍

继续以上一个文档为例,我们在

1
2
3
4
5
6
7
[root@localhost ~]# cat hello.txt 
aaa
bbb
ccc
ddd
eee
[root@localhost ~]#

首先用vim打开这个文件,按i进入插入模式,然后在文档底部随便加上一行字母

1VXhyd.png

然后按Esc键,切换到命令行模式

1VX4OA.png

此时,按下小写字母u,可以看到我们刚刚加上去的一大串字母不见了,这说明我们成功撤销掉了刚刚对文档的编辑修改。

1VXIeI.png

现在再按下ctrl+r,可以看到,我们撤销掉的内容又回来了,说明恢复撤销成功了

1VXowt.png

然后保存退出即可。

欢迎打赏,谢谢
------ 本文结束------
0%