1
2
3
4
5
6
7
8
| # 统计正则匹配到的次数
:%s/pattern//ng
# 利用 global 把匹配到的行打印出来
:global/pattern/print
# 或者
:global/pattern
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| # [d]elete all lines not(!) matching patterns
:g!/pattern/d
:v/pattern/d
# 匹配多个单词
:v/onStart\|onStop/d
# 忽略大小写,可以直接 `:set ignorecase`,或者:
# 强制忽略大小写:\c
:g/\cpattern/z#.1|echo "================================"
# 强制匹配大小写:\C
:g/\Cpattern/z#.1|echo "================================"
# 更多信息可查看帮助 `:help /ignorecase`
# 将匹配的行移动到最后吗
:g/pattern/m0
# 将匹配的行移动到最前面(顺序会变成倒序)
:g/pat/m$
# 展示匹配该正则表达式的列表
:g/regular-expression/p
|
1
2
3
4
5
| # Display all lines that contain the keyword under the cursor.
[I
# Like "[I" and "]I", but search in [range] lines (default: whole file).
:il /pattern1\|patter2\|pattern3/
|
1
2
| :vimgrep pattern %
:lvim pattern %
|
1
2
| # V 选中 json 字符串,然后调用 json.tool 格式化 json 字符串
:'<,'>!python3 -m json.tool
|
使用 xxd
命令,切换到二进制模式: :%!xxd
退出二进制模式: :%!xxd -r
:e ++enc=gbk
1
2
3
4
5
| # 搜索时使用智能大小写
set ignorecase smartcase
# 增量搜索,光标自动跳转到匹配的位置
set incsearch
|
配置修改后,执行 :source ~/.vimrc
即可生效。