电子说
作者|清洬
GVIM基础用法图解
01:三种工作模式
①命令模式(默认模式,进入GVIM即为该模式)
②输入模式(在该模式下才能接收键盘输入的字符)
③底行模式(该模式下进行退出、保存、配置文件)
三种模式之间的切换:
三种模式的切换▲
如上图所示,由命令模式进入输入模式时,可以使用i/I,a/A,o/O等键;由输入模式回退到命令模式按Esc键;由命令模式进入底行模式要按:(冒号),由底行模式回退到命令模式按回车或者删除底行的命令。
由输入模式进入底行模式必须经过命令模式进行中转。
命令模式▲
输入模式▲
底行模式▲
02:命令模式操作
2.1 光标的移动
h(←):光标向左移动一个字符
j(↓):光标向下移动一个字符
k(↑):光标向上移动一个字符
l(→):光标向右移动一个字符
+ :光标移动到非空格符的下一行
- :光标移动到非空格符的上一行
num+移位键:光标会朝移位方向移动n次
M:光标移动到屏幕的中央那一行的第一个字符
gg:光标移动到文件第一行第一个字符
G:光标移动到文件最后一行第一个字符
Home(g0):光标移动到当前行行首
End(g$):光标移动到当前行行尾
num+G/H:光标跳到文件的第n行(好用)==ngg
b:移动光标在某行首位
e:移动光标在某行末尾
zt:将当前行位置变成屏幕的顶端
zz:将当前行位置变成屏幕的中部
zb:将当前行位置变成屏幕的底部
H:把光标移动到屏幕最顶端一行
M:把光标移动到屏幕中间一行
L:把光标移动到屏幕最底端一行
2.2 复制字符
y2w:复制两个字符(从光标所在位置开始)
yy:复制某行全部字符
2yy:复制两行全部字符
y0:复制光标所在的字符到该行行首的所有数据
y$:复制光标所在的字符到该行行尾的所有数据
yG:复制光标所在行到最后一行的所有数据
y1G:复制光标所在行到第一行的所有数据
命令效果见下图:(第二行为复制效果)
y2w▲
yy▲
2yy▲
y0▲
y$▲
yG,y1G不再演示,可自行尝试
2.3 粘贴/剪切字符
p(小写):在光标位置之后粘贴
P(大写):在光标位置之前粘贴
v+方向键(hjkl)+x(剪切)+p(粘贴):剪切内容
x:剪切光标所在位置处字符
2.4 删除字符
x:删除光标所在位置处的字符
s:删除光标所在位置处的字符,并进入输入模式
S:删除光标所在的行,并进入输入模式
dd:删除光标所在行的全部内容
cc:删除效果同dd,只是删除后会进入输入模式
cw:删除光标处到单词结尾的文本并进入输入模式
cb:删除光标处到单词开头的文本并进入输入模式
J:删除光标所在位置的换行符
d$:删除光标所在某行位置以及后面的所有值
c$:删除光标所在某行位置以及后面的所有值并进入输入模式
2.5 替换字符
r:按“r”之后,输入要替换的字符即可
R:可替换多个字符,ESC退出
2.6 恢复删除的字符
u:恢复刚才删除的内容(也可在底行模式下输入“put”),恢复的次数可以在启动配置中设置。
2.7 进入到输入模式
i:将内容插入到光标所在字符的前面
I:将内容插入到光标所在行的前面
a:将内容插入到光标所在字符的后面
A:将内容插入到光标所在行的后面
o:将内容插入光标所在行的下一行
O:将内容插入到光标所在行的上一行
2.8 保存
ZZ:保存退出
ZQ:不保存退出
2.9 列操作
v:字符选择,光标移动来选择范围
V:行选择,通过上下移动光标选择行
ctrl+v/q:矩形区域选择(进入列操作模式)
03:输入模式操作
该模式就是正常的输入文字,和你用word是一样一样的。。。。。进入到该模式的方法参见part02的2.7小节
ctrl+n:可自动补全历史输入过的字符
04:底行模式操作
在命令模式下输入:(冒号)进入该模式。可在该模式下进行命令输入,进而对文本进行操作、修改、保存等。下面列出一些常见的命令。
4.1 退出
:q 退出
:q! 强制退出
:wq 保存退出(与命令模式下的ZZ一样)
:x 保存退出
:e! 放弃所有修改并重新载入该文件的原始内容
4.2 查找
/string 正向查找
?string 反向查找
4.3 替换
:s/old/new 将当前行的第一个字符串old替换为new
:s/old/new/g 将当前行的所有字符串old替换为new
:90s/old/new/g将指定行的所有字符串old替换为new
:90,93s/old/new/g将指定范围的行的所有字符串old替换为new
:%s/old/new/g 将文本中所有的字符串old替换为new
:%s/old/new/gc 依次替换每个字符串关键字
:%s/^struct/int/g 将所有以struct开头的字符串替换为int
在底行模式下的一些列操作涉及到GVIM中的正则表达式。
审核编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !