引言
在CentOS中,常用的文本编译器是vi编译器和它的升级版本vim编译器。在所有系统管理和服务器配置的时候,会大量的用到vi这种文本编译器。
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此可以在其他任何介绍vi的地方进一步了解它。vi也是Linux中最基本的文本编辑器,学会它后,将在Linux的世界里畅行无阻。
一、vi的三种模式及各个模式之间的转换关系
1) 命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
2) 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
3) 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。
二、vi的基本操作
1、vim a.cfg 回车以后,打开a.cfg文件,并且是不可编辑状态;
2、如果想要编辑内容,按 i ,然后可以发现打开文档的最下面出现”Insert“的提示,表示可以进行内容的编辑了;
3、如何返回到不可编辑状态呢?敲 Esc ;
4、如果想删除光标所在的一行,则首先返回不可编辑状态,然后连敲2次 d ;
如果想删除光标所在行的两行,则敲 2 + dd ;
如果想删除光标所在行的四行,则敲 4 + dd ;以此类推......
5、如果想复制光标所在的一行,则敲 yy 复制,p 粘贴;
如果像复制光标所在的三行,则敲 3yy 复制,p 粘贴;
6、在不可编辑状态下,敲 x ,删除光标所在的字符;
7、如果想了解文本文件的行数,则进入不可编辑状态,敲 :set number 或 :set number,回车;
如果想将光标移动到某一目标行数,则可以通过敲 : 行号,回车 ,比如 : 20 回车,将光标移动到目标行数;
8、如果不小心删除了某一行想要恢复回来,则进入不可编辑状态,可以通过敲 u ;
如果不想显示文本文件的行数,则可以敲 :set nonumber 或 :set nonu,回车;
9、如果想对文本文件中的某个字符或字符串进行查找,则敲 /字符或字符串,回车;
这时光标会自动停在第一个符合的字符或字符串上,敲 n 则向下切换,敲 N 则向上切换;
10、如果想对文本文件中的某个字符或字符串进行替换,则敲 :%s/guest/abc,回车;
11、如果编辑完成,想要写入,则敲 :w,回车;
如果写入完成,想要退出,则敲 :q,回车;
如果编辑完成,想要写入并退出,则敲 :wq,回车;
如果编辑完成,不想保存并退出,则敲 :q!,回车;—— ! 代表强制退出
参考视频:https://edu.51cto.com/center/course/lesson/index?id=94962