它们都是多模式编辑器 不同的是vim是vi的升级版本
它不仅兼容vi的所有指令而且还有一些新的特性在里面
vim的这些优势主要体现在以下几个方面
多级撤消 在vi里 按u只能撤消上次命令 而在vim里可以无限制的撤消
易用性 vi只能运行于unix中 而vim不仅可以运行于unix windows mac等多操作平台
语法加亮 vim可以用不同的颜色来加亮你的代码
可视化操作 vim不仅可以在终端运行 也可以运行于x window mac windows
完全兼容vi 某些情况下 你可以把vim当成vi来使用
vim主要模式介绍确认是否安装了vim工具
[root@ /]# rpm -qf `which vim` vim-enhanced-7.4.160-1.el7.x86_64如果没有安装使用yum在线安装即可
[root@ /]# yum -y install vim 三种模式vim编辑器三种模式:命令模式、插入模式、末行模式
从上图可以看出:末行模式切换到插入模式需要先切换到命令模式
按键说明 光标移动 按键说明h或← 光标向左移动一个字符
j或↓ 光标向下移动一个字符
k或↑ 光标向上移动一个字符
l或→ 光标向右移动一个字符
Ctrl+f或PageDown 向下翻一页
Ctrl+b或PageUp 向上翻一页
+ 光标移动到非空白字符的下一列
- 光标移动到非空白字符的上一列
n+space 光标移动到本行第n个字符处
0或home 光标所在行行首
$或end 光标所在行行尾
H 移动光标到屏幕第一行行首
M 移动光标到屏幕中央那一行的行首
L 移动光标到屏幕最后一行行首
G 移动光标到当前文件的末尾
n+G 移动光标到这个文件的第n行
gg 移动光标到这个文件的第一列 相当于1+G
:n 移动光标到这到这个文件的第n行 相当于nG
n+Enter 向下移动n行
查找 按键说明
/word 向光标之下寻找一个名称为word的字符串
?word 想光标之上寻找一个名称为word的字符串
n 重复前一个寻找动作
如果执行/vim去向下寻找vim字符串
按n会向下继续寻找下一个vim字符串
如果执行?vim按n则会向上寻找vim字符串
N 与n相反,进行反向搜索
:n1,n2s/word1/word2/g 在n1与n2行之间寻找word1字符串并替换为word2字符串
:1,$s/word1/word2/gc 从首行到末行寻找word1字符串并替换为word2字符串
并且在取代前提示是否确认替换
:% s/a/b 将每行的第一个a替换为b
:% s/a/b/g 将所有的a替换为b
% 表示所有内容
g 全部
c confirm提示确认
x 向后删除一个字符
X 向前删除一个字符
BackSpace 向前删除一个字符
nx 连续向后删除n个字符
dd 删除光标所在行
ndd 删除包含光标所在行在内的向下n行
d1G 删除首行到光标所在行的所有数据
dG 删除光标所在行到最后一行的所有数据
d$ 删除光标所在行光标位置到该行行尾的所有数据
d0 删除光标所在行光标位置到该行行首的所有数据
yy 复制光标所在的整行
nyy 复制光标所在的向下n行
y1G 复制首行到光标所在行的所有数据
yG 复制光标所在行到末行的所有数据
y0 复制光标所在位置到光标所在行行首的所有数据
y$ 复制光标所在位置到光标所在行行尾的所有数据
p 将已复制的数据粘贴到光标下一行
P 将已复制的数据粘贴到光标上一行
J 将光标所在行与下一行的数据合并为一行
c 重复删除多个数据
u 撤销
Ctrl+r 反撤销
. 重复前一个动作
插入和修改 按键说明
i 从光标所在位置插入
I 从光标所在行第一个非空字符位置插入
a 从光标所在的下一个字符位置插入
A 从光标所在行的最后一个字符处开始插入
o 从光标所在位置向下插入新的一行
O 从光标所在位置向上插入新的一行
r 替换光标所在位置的一个字符
R 替换光标所在位置的所有字符直到按ESC结束
ESC 退出插入模式回到命令模式
末行模式