vim 操作笔记

v/"user_id" : NumberLong(\(\d{0, 8}\))/d
凡是不符合正则表达式的删除

%s/"user_id" : NumberLong(\(\d{0, 8}\))/\r&\r/gc
查找符合正则表达式的内容,在前后加回车

查找匹配:
:%s/.*task_id=\(.*\)&account.*/\=submatch(1)/gc
:%s/.*task_id=\(.*\)&account.*/\1/gc

统计匹配的行数
:%s/hello world/&/gn

在该表达式中,可以使用函数submatch(n) 来获取第n个子匹配,也就是说,submatch(0) 等于 \0,submatch(1)等于 \1,以此类推。
http://www.cnblogs.com/loongfee/archive/2011/12/26/2302056.html
http://vim.wikia.com/wiki/Search_and_replace

块操作
ctrl + q 块编辑( linux下 【Ctrl + v】进入块选择模式
gg 头
shift g 末尾
:g//d  符合正则表达式删除
插入数据:shift + a 或者 shift + i


每行的行首都添加一个字符串:%s/^/要插入的字符串
每行的行尾都添加一个字符串:%s/$/要插入的字符串

解释:
% 代表针对被编辑文件的每一行进行后续操作
$ 代表一行的结尾处
^ 代表一行的开头处

colo desert

set nu: 设置行号

ctrl + r 重做

如果编辑了没有权限写入的文件需要如下命令:

:w !sudo tee %
l
:q


linuxl
方法一
ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I(shift+i),再插入注释符,比如"//",再按Esc,就会全部注释了
批量去掉注释

ctrl+v,进入列编辑模式,横向选中列的个数(如"//"注释符号,需要选中两列),然后按d, 就会删除注释符号

方法二
使用下面命令在指定的行首添加注释:
:起始行号,结束行号s/^/注释符/g
取消注释:
:起始行号,结束行号s/^注释符//g

你可能感兴趣的:(vim)