Vim 中关于 ,
与 ;
在命令行范围中的不同效果。
Ex 命令行范围
:h cmdline-ranges [range] E16
:h :, :;
有些 Ex 命令前面可以接受一个范围限定,它由被 ,
或 ;
分割的行限定符组成,它们的区别在于对光标位置的设置不同。
当使用 ;
分割范围时,在解释下一个行限定符之前,光标位置会被设置为前一个行限定符所确定的行值,而使用 ,
分割范围时,光标位置不会改变。例如下面一段文本:
1 service_list = {
2 "apidoc" <-- 范围开始 (2)
3 "autopass-ui" <-- 范围结束 (;/ui/)
4 "catalog-ui"
5 "idm-admin" <-- 当前光标位置
6 "launchpad"
7 "subscription-ui" <-- 范围结束 (,/ui/)
8 "portal"
9 }
-
2,/ui/
,从第 2 行开始,到 当前光标之后的 /ui/ 所在行 为止。:2,/ui/p
2 "apidoc" 3 "autopass-ui" 4 "catalog-ui" 5 "idm-admin" 6 "launchpad" 7 "subscription-ui"
-
2;/ui/
,从第 2 行开始,到 第2行之后的 /ui/ 所在行 为止。:2;/ui/p
2 "apidoc" 3 "autopass-ui"