VI与VIM的区别?
两者之间没有具体的区别,我们可以把VIM看作VI的升级版,VI没有语法检测,语法高亮,这些VIM都有。
系统默认最小化安装没有VIM,所以我们要安装:yum install vim -y
VIM总共有四种模式,每种模式能执行的操作也是不同的。用VIM默认打开文件处于普通模式,从普通模式到编辑模式需要a i o A I O 。编辑模式退回普通模式需要使用Esc键来实现。在普通模式输入“:” 或者“/” ,来进入命令模式,在这个模式下我们能对文件执行 保存,退出 ,强制保存,强制退出,强制保存并退出。
注意:在VIM中,无法直接从编辑模式转换到命令模式。比较繁琐。咱们就上图来说。
vim普通模式
1,命令光标跳转
G #光标跳转至文件末端
gg #光标跳转至文件顶端
Ngg #光标跳转至当前文件内的N行
$ #光标跳转至当前光标所在行的尾部
^|0 #光标跳转至当前光标所在行的尾部
2.文件内容较多的时候
ctrl +f #往下翻页
ctrl +b #往上翻页
3.复制与粘贴
yy #复制当前光标所在的行
5yy #复制当前光标以及光标向下4行
p(小写)#粘贴至当前光标下一行
P(大写) #粘贴至当前光标上一行
4.删除,剪贴,撤销
dd #删除当前光标所在的行
4dd #删除当前光标所在的行以及往下的3行
dG #删除当前光标以后的所有行
D #删除当前光标及光标以后的内容
x #删除当前光标标记往后的字符 删行,删除行中的一部分,删除单个字符
u #撤销上一次的操作
dd& p #剪贴,先删除dd ,后粘贴p
5.替换
r #替换当前光标标记的单个字符
VIM编辑模式
编辑模式
i #进入编辑模式,光标不做任何操作
a #进入编辑模式,将当前光标往后一位。
o #进入编辑模式,并在当前光标下添加一行空白内容
I(大写) #进入编辑模式,并且光标跳转至本行的头部
A #进入编辑模式,将光标移动至本行的尾部
O #进入编辑模式,并在当前光标上添加一行空白内容
VIM命令模式
主要用来搜索,保存,退出文件。
文件保存与退出
:w #保存当前状态
:q #退出当前文档(文档必须保存才能退出)
:wq #保存并退出
:w! #强制保存当前状态
:q! #强制退出文档,不会修改文档,
:wq! #强制保存并退出
:x #先保存,在退出
ZZ 保存退出,shift+ZZ
:number 跳至对应的行号
2,文件内容查找
/string #需要搜索的内容
n #按搜索到的内容依次往下进行查找
N #按搜索到的内容依次往上查找
3,文件内容替换
:1,5s#sbin#test#g #替换1-5行中包含sbin的内容为test
:%s#sbin#test#g #替换整个文本文件中包含sbin的替换为test
4.文件内容另存
:w /root/test.txt #将所有内容另存为/root/rest.txt文件中
VIM视图模式
4,视图模式(从普通模式进入视图模式),主要进行批量操作
ctrl+v 进入可视块模式,选中需要注释的行
1.插入:按shift+i进入编辑模式,输入#,结束按ESC键
2.删除:选中内容后,按d键删除
3.替换:选中需要替换的内容, 按下r键,然后输入替换后的内容
shift+v进入可视模式,选中整行内容
1.复制:选中行内容后按y键及可复制。 2.删除:选中行内容后按d键删除。
VIM扩展知识
1,环境变量临时生效
:set nu #显示行号
:set ic #忽略大小写, 在搜索的时候有用
:set ai #自动缩进
:set list #显示制表符(空行、tab键)
:set no[nu|ic|ai…] #取消临时设定的变量
2.环境变量永久生效。~/.vimrc 个人环境变量(优先级高) /etc/vimrc 全 局环境变量
如果个人vim环境没有配置, 则使用全局vim环境变量配置。
如果个人vim环境和全局环境变量产生冲突, 优先使用个人vim环境变量。
如何同时编辑多个文件
vim -o file1 file2 #水平分割
vim -O file1 file2 #垂直分割
ctrl+ww 文件间切换
相同文件之间差异对比,通常用于对比修改前后差异
diff #文件对比
vimdiff #以vim方式打开两个文件对比,高亮显示不同的内容
如果VIM非正常退出 (ctrl+z)挂起或强制退出终端没关闭VIM后