vim 插入一列序号


vimmer可以在vim中使用如下命令用来在所选中的一段文字的每行开头处插入连续的序号:


  :let i=1 | '<,'>g/^/ s//\=i/ | let i+=1


上述命令可以分解成两个命令:


(1)  :let i=1

(2)  :'<,'>g/^/ s//\=i/ | let i+=1


(1) 给一个变量 i 赋了数值 1。

(2) 对当前选中的文字行使用 global 命令,针对每处符合模式 “^” 的地方执行了指令: s//\=i/ | let i+=1 ,即把每处匹配到的当前模式依次替换成了 i 的值,同时把 i 的值增加 1。


详解:

(a) | 在这里用来连接先后依次执行的命令。

(b) let {expression} 即赋值命令。let i=1 给变量 i 赋值 1。let i+=1 给变量 i 的值增加 1。

(c) '<,'>指示的是命令作用域为所选中的文字。

(d) g/{pattern}/{command} 即global命令,一段为模式,一段为命令。

(e) 模式“^”即正则表达式的行首。

(f) s/{pattern}/{text}/{flags} 即substitude命令。s//\=i/ 的 {pattern} 为空,即默认当前模式,即 global 所给的模式“^”。{text} 为 \=i,即替换成 i 的值。省却了{flags}。 


所以上述命令的执行效果就是对选中的文字行开头插入连续的行号。


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值