Vim学习四之命令操作范围

背景

Vim 大部分命令默认只作用于当前行,只有 :write 命令和 :global 命令默认作用于文件所有行 (原创自Vim教程网(https://vimjc.com))。

但很多 Vim 命令都可以加一个行号数字(用于指定某一行)或一对通过 , 或 ; 分割的行号来指明文件范围,扩大命令操作范围。

使用方法

Vim 操作范围的表示方法为:

. 表示当前行,
$ 表示结束/行尾,
% 表示所有行,
n,m 表示第n到m行;
再加上+ 和 -,可灵活表示当前 Vim 打开文件的任意范围。

范例

以删除命令 :d 为例,通过增加 Vim 文件范围,可修改删除命令的操作对象。

Vim命令		操作范围
:d			当前行
:.d			当前行
:1d			第一行
:$d			最后一行
:1,$d		所有行
:%d			所有行
:.,5d			当前行至第 5 行
:,5d			当前行至第 5 行
:,+3d			当前行及接下来的 3 行
:1,+3d			第一行至当前行再加 3 行
:,-3d			当前行及向上的 3 行
:3,'xdelete			第三行至标注 为 x 的那一行
:/^foo/,$delete		当前行以下,以字符 “foo” 开头的那一行至结尾
:/^foo/+1,$delete	当前行以下,以字符 “foo” 开头的那一行的下一行至结尾

除了 , 外,; 也可以分割行号用于表示 Vim 操作范围。
区别在于,a,+b 的 b 是以当前行作为参考,而 a;+b 的 b 是以 a 行作为参考。
例如,假设当前光标所在为第 5 行,:1,+1d 命令会删除第 1 行至第 6 (5+1) 行,而 :1;+1d 命令则会删除第 1 行和第 2 (1+1) 行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值