很多命令都是
:[range]delete[x]
这种格式,其中range
表示一个范围,有几种方式来表示这种范围
使用数字表示某行
-- 原数据
a
b
c
~
-- 执行命令
:1d
-- 结果
b
c
~
使用两个行号,表示一个范围
-- 原数据
a
b
c
~
-- 执行命令
:1,2d 或者 :,2d
-- 结果
c
~
使用可视模式指定一个范围
-- 原数据
aaa
bbbb
ccccc
dddddd
~
-- 普通模式
Vjj -- 行模式,选取前三行
-- `:`进入命令模式
:'<,'> -- 这里是自动显示的内容,表示命令的作用返回是选中的模式
-- 执行命令
:'<,'>d
-- 结果
dddddd
~
使用模式匹配到一个地址
-- 原数据
result ->
{
"name":"wang",
"age":12
}
end
~
-- 执行命令
:/{/,/}/d -- 表示删除`{}`中的内容(包括`{}`),其中`/xx/`表示匹配`xx`字符
-- 结果
result ->
end
~
使用偏移量作为范围
-- 原数据
result ->
{
"name":"wang",
"age":12
}
end
~
-- 执行命令
:/{/+1,/}/-1d -- 表示删除`{}`中的内容,其中`+1`表示匹配到的行数+1,`-1`表示匹配到的行数-1
-- 结果
result ->
{
}
end
~