一:vim基本上可以分为三种模式:命令模式,编辑模式,底行模式。
- 命令模式:
这是刚进入vim中默认的模式,在此模式下可以按上下左右或者一些快捷键随意移动光标,也可以进行复制删除粘贴之类的操作。 - 编辑模式:
在命令模式下,按下i、a、o可以进入编辑模式,可以对文件内容进行直接修改。 - 底行模式:
在命令模式下,输入":"、"/"、"?"可以进入到底行模式。
二:三种模式常用命令:
- 命令模式:
复制:
yy : 复制光标所在的行;
nyy : n表示数字,复制光标所在的向下n行;
y1G : 复制光标所在行到第一行数据;
yG : 复制光标所在行到最后一行数据;
y0 : 复制光标所在的字符到该行行首的数据(数字0);
y$ : 复制光标所在的字符到该行行尾的数据;
粘贴:
p : 小写p表示将复制的数据粘贴在光标的下一行;
P : 大写P表示将已复制的数据粘贴在光标的上一行;
J : 大写j将光标所在的行与下一行的数据合并为一行;
删除:
dd : 删除光标所在整行;
ndd : 删除光标所在行向下n行;
d0 : 删除光标所在字符到该行行首的字符;
d$ : 删除光标所在字符到该行行尾的字符;
x : 小写x 向后删除一个字符;
X : 大写x向前删除一个字符;
光标移动:
gg : 移动到本文件的第一行;
G : 移动到本文件的最后一行;
nG : 移动到到第n行;
zz: 将当前行移动到屏幕中央;
zt: 将当前行移动到屏幕顶端;
zb: 将当前行移动到屏幕底端;
撤销:
u : 取消操作;
Ctrl + r : 重做上一个操作;
2. 底行模式:
:wq 保存并退出;
:q 退出,常用于没有编辑文件内容时退出;
:q! 退出不保存编辑内容;
:set nu(number)设置行号,但是仅限于本次,再次进入没有了;
:set nonu 取消行号,与set nu相反,也是仅限于本次;
/xxx 向下查找关键字为xxx的字符;例如/linux ,向下查找linux关键字,按小写n,跳向下一个找到的关键字,按大写N,跳向上一个找到的关键字;
?xxx 向上查找关键字为xxx的字符;例如?linux ,向上查找linux关键字;
三:批量删除和编辑
按下esc进入命令模式:
-
批量删除:
按下Ctrl + v 进入VISUAL BLOCK模式;
利用上下左右键调整需要删除的行数和行的宽度;
按下小写d,即可删除选中的目标; -
批量注释:
按下Ctrl + v 进入VISUAL BLOCK模式;
利用上下左右键调整需要注释的行数和行的宽度;
按下Shift + i ,添加注释#,按下esc即可;