列出某个字符串在当前文件的全部匹配情况
:g/some string/p
实际上是 :global/regular-expression/print 的缩写
VIM 统计"字符串"在当前编辑文件出现的次数
:%s/字符串//ng
VIM 删除所有包含某个字符串 行
:g/profile/d
这里也可以使用正则表达式,比如 ,使用如下命令删除所有空白行
:g/^\s*$/d
那么,反过来,删除 所有 不包含某个字符串的 行,使用如下命令
:g!/^\s*"/d
主要是 g 后面加了个 感叹号
g! 的作用 等同于 v, 所以 上面的命令等价于
:v/^\s*"/d
也支持 或运算, 比如
:v/error\|warn\|fail/d
删除 所有 不带 error 或者 warn 或者 fail 的 行
无插件的情况下 实现多文件搜索, 来自 coolshell
:grep -r --include=”*.[ch]” NGX_HTTP_VAR_INDEXED src/
上面这个命令意思是递归查询src目录下所有的.c和.h文件,其中包括NGX_HTTP_VAR_INDEXED宏。然后,你就会看到vim到shell里去执行并找到了相关的文件,按回车返回vim后,别忘了用 【:cw 】把grep的输出取回来
:grep -r --include=*.{cpp,h} NGX_HTTP_VAR_INDEXED src/
Windows上多次重装GVIM 导致 一些配置文件路径发生变化,使用如下方法寻找配置文件路径:
在GVIM中输入如下命令
:version
:echo expand(’~’)
:echo $HOME
:echo $VIM
:echo $VIMRUNTIME
:echo $HOME 显示的路径纪委 vimrc应该存在的路径