vi编辑器是所有Unix及Linux系统下标准的编辑器,对Unix及Linux系统的任何版本,vi编辑器是完全相同的。vim是vi的升级版,增加了一些功能,对vi命令是完全兼容的。在一些基本命令上两者应该是一样的。
一.Vim编辑器介绍
- 在linux下我们编辑一个文本,可以使用emacs,pico,nano,joe等。但是我们最常用的就是
vim
编辑器,因为所有的 Unix Like 系统都会内置vi
或者vim
编辑器,其他的编辑器则不一定会存在;vim
具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计;设计简洁,功能强大。 vim
是vi
的升级版本,它不仅兼容vi
的所有指令,而且还有一些新的特性在里面,例如,按u
进行多级撤销,在vi
中只可以撤销上次操作,语法高亮等- 基于以上原因,我们系统的梳理一下
vim
编辑器的方方面面。
二.Vim编辑器三种模式介绍
一般指令模式(command mode)
- 当我们使用
vim
指令打开一个文本的时候,就直接进入了一般指令模式,在这个模式下我们可以使用 “上下左右” 键来移动光标,进行定位;也可以使用命令来粘贴,复制,删除行,字符等操作 。
编辑模式(insert mode)
- 当我们在一般指令的模式下是无法随意进行编辑的,例如按下
dd
就删除了整行,而不是在文本中输入的dd字符!所以这个时候我们就需要进入编辑模式,按下i, I, o, O, a, A, r, R
任意的字母,都可以进入编辑模式。当我们编辑完成后,使用Esc来返回一般模式
命令行模式(command-line mode)
- 在一般模式当中,输入: /? 三个中的任何一个按钮都可以进入到命令行模式。此模式下提供了快捷搜索定位字符,存盘,批量替代字符,退出
vim
编辑器等功能。
三. 模式之前关系
- 注意:编辑模式和命令行模式之间是不可以直接切换的,都需要通过一般指令模式进入
四.范例
- 我们使用
vim
编辑器编辑一个文档并写入 Hello World!
注意:vim test.txt
vim
命令打开一个文件,若存在则是编辑此文件,不存在则新建一个文件
可见左下角显示 [New File]告诉用户,新建了test.txt的文档文件[root@iz8vb7sribf5t1bdc956nxz vim_test]# vim test.txt ~ ~ ~ "test.txt" [New File]
- 此时是一般指令模式,我们使用i,进入编辑模式
可见左下角显示INSERT提示进入编辑模式,输入Hello World!Hello World! ~ -- INSERT --
- 使用Esc返回一般指令模式,然后使用:,进入命令行模式,输入wq(表示保存并退出)
Hello World! ~ :wq
- 此时我们编写的文档中就写入了Hello World!