vi是一个命令行界面下的文本编辑工具,最早在1976年由BillJoy开发,当时名字叫做ex。vi支持绝大多数操作系统(最早在BSD上发布),并且功能已经十分强大,一般类UNIX操作系统上都会有。1991年BrmMoolenaar基于vi进行了改进,发布了vim,加入了对GUI的支持。
vim已经不仅仅最为普通意义上的文本编辑器(如windows上的记事本),而被广泛的作为在文本编辑、文本处理、代码开发等等用途。Linu中知名的文本编辑器还有emacs,他的功能比vim还要强大。
vim是vi的增强版本,绝大多数Linux系统上均安装有vim,vim比vi的功能更为强大,所以建议大家使用vim而非vi,两者使用方法相同。
命令vim可以启动vim编辑器,一般我们通过vim+目标文件路径的形式使用vim(#vi abc.txt),如果目标文件存在,则vim打开该文件;如果目标文件不存在,则vim新建并打开该文件。
VIM拥有三种模式:
命令模式(常规模式):vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次)。命令模式下可以通过键入不同的命令完成选择、复制、粘贴、撤销等等操作。
插入模式:在命令模式中按"i"键,即可进入插入模式,在插入模式可以输入编辑文本内容,使用esc键可以返回命令模式。
ex模式:在命令模式中按“:”键可以进入ex模式,光标会移动到底部,在这里可以保存修改或退出vim。
命令模式:
vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次)。命令模式常用命令如下:
i 在光标前插入文本
o 在当前行的下面插入新行
dd 删除整行
yy 将当前行的内容放入缓冲区(复制当前行)
n+yy 将n行的内容放入缓冲区(复制n行)
p 将缓冲区中的文本放入光标后(粘贴)
u 撤销上一个操作,相当于后退
r 替换当前字符
/ 查找关键字
CTRL+r取消撤销操作,相当于前进
在命令模式中按“:”键可以进入ex模式,光标会移动到底部,在这里可以保存修改或退出vim。ex模式下常用命令如下
ex模式常用命令:
:w 保存当前修改
:q 退出
:q! 强制退出,不保存修改
:x 保存并退出,相当于:wq
:set number显示行号,可以直接输入set nu
:! 执行系统命令
:sh 切换到命令行,使用ctrl+d切换回vim
:s/str1/str2/g将当前行中的str1替换成str2
:%s/str1/str2/g将所有行中的str1替换成str2,其中的%表示所有行
:/regexp 搜索指定的字符串,支持正则表达式,按n跳到下一个匹配项,按N跳到上一个匹配项。
想要学好Linux光看是不行的,主要是多练习。就好像学五笔打字一样,要不停的敲这样才会熟悉,前面也写了相关的一些基本操作命令,可以前后贯穿起来多加练习这些命令。