vi
与vim
的异同它们都是多模式编辑器
,不同的是vim 是vi的升级版本
,它不仅兼容vi的所有指令,而且还有一些新的特性
在里面
在vi里,按u
只能撤消上次命令,而在vim里可以无限制地撤消
vi只能运行于Linux中,而vim可以运行于Linux
、Windows
、Mac OS
等多操作平台
vim可以用不同的颜色来加亮你的代码
vim不仅可以在终端运行,也可以运行于Linux
、Windows
、Mac OS
vi
的完全兼容某些情况下,你可以把vim当成vi来使用
vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本
vi
适用于文本编辑
vim
更适用于coding
vi
是内置的,vim
是要自己安装的
yum install vim -y
任何时候,不管用户处于何种模式,只要按一下ESC
键,即可使Vi进入命令行模式
在shell环境(提示符为$
)下输入启动vi命令,进入编辑器时,也是处于该模式下
在该模式下,用户可以输入各种合法的vi命令,用于管理自己的文档
在命令模式下输入插入命令i
(insert)、附加命令a
(append)、打开命令o
(open)、修改命令c
(change)、取代命令r
或替换命令s
都可以进入文本输入模式
在该模式下,用户输入的任何字符都被vi当做文件内容保存起来,并将其显示在屏幕上
在文本输入过程中,若想回到命令行模式下,按”ESC”键即可
末行模式也称转义模式。
vi和Ex编辑器的功能是相同的,二者主要区别是用户界面
在vi中,命令通常是单个键,例如i、a、o等;而在Ex中,命令是以按回车键结束的正文行
vi有一个专门的“转义”命令,可访问很多面向行的Ex命令
启动vim后默认处于正常模式(即命令行模式)
不论位于什么模式,按下Esc
键(有时需要按两下)都会进入正常模式
在正常模式中按下i, a, o, I,A,O键,会进入插入模式。现在只用记住按i键会进行插入模式
在插入模式中,击键时会写入相应的字符
在正常模式中,按下:(英文冒号)键,会进入命令模式
在命令模式中可以执行一些输入并执行一些vim或插件提供的指令,就像在shell里一样
这些指令包括设置环境、文件操作、调用某个功能等等
在正常模式中按下v
,V
,ctrl+v
,可以进入可视模式
可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便
键位 | 含义 |
---|---|
esc | 切换模式 |
h | 向左 |
j | 向下 |
k | 向上 |
l | 向右 |
gg | 回到第一行 |
shift + g | 回到最后一行(无论是否是空白行) |
yy | 复制当前行 |
p | 粘贴 |
shft+v | 选择行,可以用jk来选择多行 |
v | 选择字符,可以用hjkl来选择多个 |
dd | 删除当前行 |
i | 在光标前开始输入 |
a | 在光标后开始输入 |
I | 在当前行的头部开始输入 |
A | 在当前行的尾部开始输入 |
o | 在当前行的下面创建新的一行开始输入 |
O | 在当前行的上面创建新的一行开始输入 |
/ | 查询,按n跳转下一个查询结果 |
0 | 跳转到当前行的行首 |
$ | 跳转到当前行的行末 |
w | 跳过一个单词 |
c+i | 后面可以跟‘‘ [] {} () ,代表将里面的内容清空并重新输入 |
d+i | 后面可以跟‘‘ [] {} () ,代表将里面的内容清空,不会进入输入模式 |
x | 删除光标所在的字符 |
c+$ | 清空光标到当前行的最后,并进入输入模式 |
d+$ | 清空光标到当前行的最后,不进入输入模式 |
: n | 跳转到第n行 |
cw | 修改一个单词 |
dw | 删除一个单词 |
n j,k,h,l | 向某个位置移动n个单位 |
u | 撤销 |
原文:https://www.cnblogs.com/xuexianqi/p/14054325.html