v/"user_id" : NumberLong((d{0, 8}))/d
凡是不符合正则表达式的删除
%s/"user_id" : NumberLong((d{0, 8}))/
&
/gc
查找符合正则表达式的内容,在前后加回车
查找匹配:
:%s/.*task_id=(.*)&account.*/=submatch(1)/gc
:%s/.*task_id=(.*)&account.*/1/gc
统计匹配的行数
:%s/hello world/&/gn
统计匹配的数量
:%s/hello world//gn
在该表达式中,可以使用函数submatch(n) 来获取第n个子匹配,也就是说,submatch(0) 等于 ,submatch(1)等于 1,以此类推。
块操作
ctrl + q 块编辑([b]linux下 【Ctrl + v】进入块选择模式[/b])
gg 头
shift g 末尾
:g//d 符合正则表达式删除
插入数据:shift + a 或者 shift + i
每行的行首都添加一个字符串:%s/^/要插入的字符串
每行的行尾都添加一个字符串:%s/$/要插入的字符串
解释:
% 代表针对被编辑文件的每一行进行后续操作
$ 代表一行的结尾处
^ 代表一行的开头处
color desert
set nu: 设置行号
ctrl + r 重做
如果编辑了没有权限写入的文件需要如下命令:
:w !sudo tee %
l
:q
linux 下的操作
方法一
ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I(shift+i),再插入注释符,比如"//",再按Esc,就会全部注释了
批量去掉注释
ctrl+v,进入列编辑模式,横向选中列的个数(如"//"注释符号,需要选中两列),然后按d, 就会删除注释符号
方法二
使用下面命令在指定的行首添加注释:
:起始行号,结束行号s/^/注释符/g
取消注释:
:起始行号,结束行号s/^注释符//g
使用yy复制一行
使用 行数n+yy 复制n行
使用p对复制的行进行粘贴
使用dd剪切一行
使用 行数n+dd 剪切n行
使用p对剪切的行进行粘贴