vim是一款多模式的编辑器。
基本操作:vim打开默认是命令模式,也就是输入命令然后系统执行指令,想要写代码,只需输入字母i,就进入插入模式,写完代码想要退出,按一下Esc,退回到命令模式,然后在输入冒号,进入底行模式,输入w保存,输入q退出。命令模式夹在插入模式和底行模式的中间,只要按Esc就可以进入命令模式,插入模式和底行模式无法直接转换。



上图中的vim编辑代码并没有出现行号,只需要进入底行模式输入set nu就可以出现。
一、命令模式的作用:方便我们快速编辑。
gg:快速回归光标。
shift+g:快速把光标定位到结尾
数组+shift g:快速把光标定位到对应行数。
字母kjhl:上下左右
输入^:将光标定位到该行最开始。
输入$:将光标定位到改行最结尾。
w或b:以单词为单位进行光标向后或向前移动。
yy:复制光标所在一整行。
p:将复制的粘贴在光标下一行。
u:撤销历史操作。
ctrl+r:撤销撤销u操作。撤销操作一旦退出文件编辑就无法再撤销历史操作,但是只保存但不退出就可以。
n+yy或p:一次复制或撤销n行。
dd:剪切当前行。
n+dd:从当前光标位置剪切n行。
x:删除光标所在字符。
X:删除光标前面的字符。两个删除其实都是剪切,都可以进行p粘贴操作。
r:替换光标所在字符,然后输入就可以替换。
R:进入replace模式,用于批量化替换。
shift+~:大小写替换。
批量化注释:ctrl+v进入视图模式,然后使用hjkl进行区域选中,无法使用键盘的上下左右键,选中完成后输入shift+i也就是大写I,进入插入模式,然后输入//进行注释然后esc退出,就可以在选择的区域同时写入//。

不仅可以单纯使用hjkl进行选中,也可以使用n+hjkl直接跳到想要的区域,进行注释。
#:选中单词,输入n进行逆向查找。
aio:进入插入模式,a是光标向后移动进入插入模式,o是光标另起一行进入插入模式。
shift+zz:直接退出vim。
二、底行模式:
w:保存。q:退出。
! + 输入的命令:可以在不退出vim的前提下执行命令。
%s/dst/src/:进行批量化替换。

输入vs test.c:进行分屏操作,并形成test.c

光标在哪个窗口,就会在哪个窗口进行操作,可以ctrl按住再连按两下w就可以把光标切换窗口。保存退出后会自动生成test.c的文件。
vim+src+n:可以快速将光标定位到src文件的第n行。