移动光标
h:光标向左移动一个字符
j:光标向下移动一个字符
k:光标向上移动一个字符
l:光标向右移动一个字符
按下数字n,然后按上面h或j或k或l,可以分别向左,下,上,右移动n个字符
ctrl+f:屏幕向下移动一页(常用)
ctrl+b:屏幕向上移动一页(常用)
ctrl+d:屏幕向下移动半页
ctrl+u:屏幕向上移动半页
-:光标移动到非空格的上一行
+:光标移动到非空格的下一行
0:移动到这一行的最前面字符处(常用)
$:移动到这一行的最后面字符处(常用)
H:光标移动到这个屏幕的最上方那一行的第一个字符
M:光标移动到这个屏幕的中间那一行的第一个字符
L:光标移动到这个屏幕的最下方那一行的第一个字符
G:移动到这个文件的最后一行(常用)
nG:移动到这个文件的第n航
gg:移动到这个文件的第一行,相当于1G
查找与替换
/word:向下查找一个名称为word的字符串
?word:向上查找一个名称为word的字符串
n:重复前一个查找的操作
N:反向前一个查找操作
:n1,n2s/word1/word2/g:n1与n2为数字,在第n1与n2行之间寻找word1这个字符串,并将字符串替换为word2(常用)
:1,$s/word1/word2/g:从第一行到最后一行为数字,在第n1与n2行之间寻找word1这个字符串,并将字符串替换为word2(常用)
:1,$s/word1/word2/g:从第一行到最后一行为数字,在第n1与n2行之间寻找word1这个字符串,并将字符串替换为word2。且在替换前显示提示字符给用户确认是否需要替换(常用)
删除,复制与粘贴
x,X:在一行中,x为向后删除一个字符,X为向前删除一个字符
nx:n为数字,连续向后删除n个字符
dd:删除光标所在的那一行
ndd:删除光标所在的向下n行
d1G:删除光标所在到第一行的所有数据
dG:删除光标所在到最后一行的所有数据
d$:删除光标所在处到该行的最后一个字符
d0:删除光标所在处到该行的最前面一个字符
yy:复制光标所在处的那一行(常用)
nyy:n为数字,复制光标所在的向下n行(常用)
y1G:复制光标所在处到第一行的所有数据(常用)
yG:复制光标所在行到最后一行的所有数据(常用)
y0:复制光标所在的那个字符到该行行首的所有数据(常用)
y$:复制光标所在的那个字符到该行行尾的所有数据(常用)
p,P:p为将已复制的数据在光标下一行粘贴,P为将已复制的数据在光标上一行粘贴
J:将光标所在行与下一行的数据结合成同一行
c:重复删除多个数据,例如向下删除10行[10cj]
u:复原前一个操作(常用)
ctrl+r:重做上一个操作(常用)
. :重复前一个操作
进入插入或替换的编辑模式
i,I:进入插入模式:i为从目前光标所在处插入,I为目前所在行的第一个非空格处开始插入(常用)
a,A:进入插入模式:a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入(常用)
o,O:进入插入模式:o为从目前光标所在的下一行处插入新的一行,O为目前光标所处的上一行插入新的一行(常用)
r,R:进入插入模式:r只会替换光标所在的那个字符一次,R会一直替换光标所字的文字,直到按下ESC键为止(常用)
块选择
v:字符选择,会将光标经过的地方反白选择
V:行选择,会将光标经过的行反白选择
ctrl+v:块选择,可以用长方形的方式选择数据
y:将反白的地方复制起来
d:将反白的地方删除
刪除沒有內容的空行
:%g/^$/d
刪除包含有空格組成的空行
:%g/^\s*$/d
删除以空格或tab开头到結尾的空行
:%g/^[ \t]*$/d
欢迎关注我的微信公众号
闷骚的程序员
