一、依据个人理解,vi和vim主要有以下几点区别:
1. vim命令编辑脚本时,能够检查出一些基本的语法错误,比如括号匹配等,vi命令不具有这一功能。
2. 一般linux系统安装时都是自带vi命令的,vim一般需要后续自行安装。
二、vi/vim命令模式中的一些功能介绍
1. 移动至文件最后一行:
输入大写字母G即可。
2. 移动至文件第一行:
输入gg即可。
3.删除光标所在的行:
输入dd即可。
4.删除光标所在行及其后续多行:
输入<number>dd即可,
比如10dd,就会删除光标所在行及其后续的9行,共删除10行。
5.将当前行至最后一行之间的所有行删除:
输入dG即可
6.将当前行至第一行之间的所有行删除:
输入d1G即可(如果删除至第二行,输入d2G即可,以此类推)
7.撤销上一步的命令:
输入小写字母u即可
8.替换文件中的某个字符串:
输入:%s/dog/cat/ 然后按下回车即可,此命令会将文件中的dog全都换为cat。
9.保存并退出:
输入: :wq即可
10.直接退出不保存:
输入: :q即可
11.强制退出:
输入: :q!即可
12.为文件标名行号:
输入: :set nu即可
13.替换当前光标所在位置的单个字符:
输入小写字母r后,再输入替换的字符即可
14.替换光标所在位置的字符,直至按下ESC键(这会覆盖光标所在位置的字符):
输入大写字母R后,即可开始输入替换的字符,按下ESC键即结束。
15.删除当前光标所在行的行尾的换行符(拼接行):
输入大写字母J即可。
16.将当前光标位置移动至n行之后:
输入相应数字再按下回车即可
(注:本文中所列命令是最近个人认为比较常用的,将不定期更新。)