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键盘功能表:
末行模式中可用的命令:
命令 | 作用 |
---|---|
: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 | [root@localhost ~]# vim .vimrc |
快速清空文档
我们新建并编辑一个文档,里面随便敲几行字母,如下:
1 | [root@localhost ~]# vim test.txt |
接下来vim打开test.txt,打开后默认是在命令行模式
1 | [root@localhost ~]# vim test.txt |
此时在文档尾部还能看到文件名,如果是插入模式,那就会显示“插入”两个字
此时按下gg,可以看到光标跳到了首行
此时按下dG,可以看到文档内容被瞬间清空
然后按下i,可以看到变成了插入模式,输入hello world
保存退出,再次查看文档内容,可以看到修改成功
利用可视块去除文本前面的行号
有时候,我们会从网上粘贴一些代码,但是由于一些配置文件修改时为了方便找到修改的内容在哪一行,许多作者都是习惯将行号也写出来的。那么,如何快速去除文本前面的行号呢?
我们新建一个文本来演示一下,里面放5行,接下来尝试删掉11~15这5个行号
1 | [root@localhost ~]# vim hello.txt |
用vim打开这个文件,此时默认就是命令行模式,底部还可以看到文件名
1 | [root@localhost ~]# vim hello.txt |
按下ctrl+v,可以看到底部文字变成了“可视块”。
接下来按右方向键和上方向键,选中你要删除的部分内容块
接下来按下小写的x键,可以看到你选中的那些内容块直接被你删除了
接下来照常保存退出,再次查看hello.txt的内容,可以看到修改成功
撤销与恢复撤销
在使用VIM的时候,难免会有输错的情况,这个时候我们应该如何撤销,然后回到输错之前的状态呢?答案:使用u(小写,且在命令模式下)命令。
但如果有时我们一不小心在命令模式下输入了u,然后刚输入的一大片代码都不见了,这个时候我们应该如何恢复刚才的撤销操作呢?答案:使用Ctrl + r命令。
总结:
撤销:u
恢复撤销:Ctrl + r
现在来演示一遍
继续以上一个文档为例,我们在
1 | [root@localhost ~]# cat hello.txt |
首先用vim打开这个文件,按i进入插入模式,然后在文档底部随便加上一行字母
然后按Esc键,切换到命令行模式
此时,按下小写字母u,可以看到我们刚刚加上去的一大串字母不见了,这说明我们成功撤销掉了刚刚对文档的编辑修改。
现在再按下ctrl+r,可以看到,我们撤销掉的内容又回来了,说明恢复撤销成功了
然后保存退出即可。