|
1、定位
:set nu #设置行号
:set nonu #取消行号
gg #光标移到第一行
G #光标移到最后一行
nG #光标移到第n行
:n #光标移到第n行
$ #光标移到行尾
0 #移到行首
2、删除
x #删除光标所在处字符
nx #删除光标所在处后n个字符
dd #删除光标所在行
ndd #删除n行(从当前光标所在行向后数n行)
dG #删除光标所在行到文件末尾内容
D #删除光标所在处到行尾内容
:n1,n2d #删除指定范围的行
3、复制和剪切
yy #复制当前行
nyy #复制当前行以后n行
dd #剪切当前行
ndd #剪切当前行以下n行
p、P #粘贴在当前光标所在行下或行上
4、替换和取消
r #取代光标所在处字符
R #从光标所在处开始
u #取消上一步操作
5、搜素和搜素替换
/string #搜索指定字符串
:set ic #忽略大小写
:setnoic #不忽略大小写
n #搜索指定字符串的下一个出现位置
:%s/old/new/g #全文替换指定字符串
:n1,n2s/old/new/g #在一定范围内替换指定字符串
常见用法:
1. 删除以#号开头的行:
:g/^#/d
:%s/^#.*\n
2. 删除以空格开头的行:
:g/^\s/d “\s代表空格”
:%s/^\s.*\n
3. 删除以空格#开头的注释行:
:g/^\ .*#/d “(.*)代表若干”
:%s/^\s.*#.*\n//g
4. 删除空白行:
:g/^$/d
:g/^\s*$/d “删除由空格组成的行”
:g/^[\s|\t]*$/d “删除由空格或tab键开头到结尾的行”
:g/^[ |\t]*$/d “删除由空格或tab键开头到结尾的行”
5. 删除行首空格:
:%s/^\s\+ “\+代表一个或多个\s”
6. 删除行末空格:
:%s/\s\+$
7. 加#注释所有行:
:%s/^/#/g
8. 查找注释掉的CONFIG:
/^#.*CONFIG.*$ |