vim是vi 的升级版本,它兼容vi的所有指令,而且还有一些新的特性,比如说预付高亮、可视化操作不仅可以在终端进行,还可以在 x Window、mac os、windows
vim 有多种模式,我们常用的有三种:命令模式、插入模式、末行模式。
进入插入模式的三种方式:
i : 从光标当前位置开始插入
a:从光标所在位置的下一个位置开始输入文字
o:插入新的一行,从行首开始输入文字。
命令模式
gg :进入到文本开始的地方
G:移动到文本的最后
$:移动到光标所在行的行尾
^:移动到光标所在行的开头
ctrl+f:屏幕往前移动一页
ctrl+b:屏幕往后移动一页
ctrl+d:屏幕往前移动半页
ctrl+u:屏幕往后移动半页
x:删除光标所在位置的一个字符
nx:n为一个数字,删除光标所在位置开始往后n个字符
dd:剪切光标所在的一行
ndd:n为一个数字,剪切从光标开始往下n行
r:替换光标所在处的字符
R:替换光标所到之处的字符,直到按下Esc为止
批量替换:
:s/int/char/g 将光标所在的那一行中的int替换成char
:%s/int/char/g 将全部的int替换成char
:3,6s/int/char/g 将第3行到第6行中的int替换成char。
u 撤销上一个操作
Ctrl+r :撤销的恢复
末行模式
列出行号: :set nu
跳到文件中的某一行::行号
/ 查找的关键字,如果第一次找到的关键字不是我们想要的,可以按n来继续往下搜索,知道找到的我们想要的为止
? 查找的关键字,如果第一次找到的关键字不是我们想要的,可以按n来继续往上搜索,知道找到的我们想要的为止
所以/和?的区别就是按 n 后,/是从上往下查,而?是从下往上查
:q 直接离开vim,通常如果对文件进行了修改,就无法使用q直接离开了
:q! 如果已经修改了文件,但是就是想要不保存就离开,那么可以使用q!强制离开
:w 只保存,不离开
:wq保存后离开
ZZ 在命令模式下输入大写的ZZ可以直接回到shell命令模式。