它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
vim的这些优势主要体现在以下几个方面:
1、多级撤消
我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。
2、易用性
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。
3、语法加亮
vim可以用不同的颜色来加亮你的代码。
4、可视化操作
就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。
5、对vi的完全兼容
除此之外vim更适合coding
Vim编辑器基本上可以分为3种模式,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
命令模式:可以控制光标的移动,进行文本的删除,复制等文字编辑工作;
插入模式:在这个模式下可以输入文字;
底行模式:可以保存文件或者推出Vim,同时也可以设置编程环境和一些编译工作,如列出行号.寻找字符串等;
下面这个图是三种模式的转换操作(打开文件首先进入的是命令模式)
下面是三种模式中的一些简单的操作:
命令模式:
命令模式主要使用方向键移动光标位置进行文字的编辑,下面列出了常用的操作命令及含义
上、下、左、右键盘和 h、j、k、l键分别都是移动光标方面的。
$ -------------移至行尾
0(零) -----移至行首
H ----------移至屏幕上端
M ----------移至屏幕中央
L ----------移至屏幕下端
gg ---------到文件第一行
G ----------到文件末尾
PageDn ---------- 向下移动一页
PageUp ---------- 向上移动一页
d+方向键 ----------删除文字
dd ---------删除整行
pp ---------整行复制
r ----------修改光标所在的字符
S ----------删除光标所在的列,并进入输入模式
插入模式:
可以通过以下命令由“命令模式”进入“插入模式”
a------------在当标后附加文本
A------------在本行行末附加文本
i-------------在光标前插入文本
I-------------在本行开始插入文本
o------------在光标下插入新行
O-----------在光标上插入新行
ESC--------退出“插入模式”
编辑模式:
编辑模式主要进行一些文字编辑辅助功能,比如字串搜索、替代、保存文件等操作。
:q -----结束Vi程序,如果文件有过修改,先保存文件
:q! -----强制退出Vi程序
:wq -----保存修改并退出程序
:set nu -----使文本每一行前出现行号
:set nonu ------取消每一行前的行号
:n ------------到第n行
vim编辑的文件恢复:
当我们使用vim编辑时,vim会在被编辑的文件的目录下建立一个.filename.swap文件,
你对filename文件的动作会被记录在.filename.swap文件中,如果你的系统因为某些
原因断线了,导致你编辑的文件还没有存储,可以从.filename.swap文件中恢复.
当我们使用vim编辑时,vim会在被编辑的文件的目录下建立一个.filename.swap文件,
你对filename文件的动作会被记录在.filename.swap文件中,如果你的系统因为某些
原因断线了,导致你编辑的文件还没有存储,可以从.filename.swap文件中恢复.