用VIM得到设置要打印页码的脚本

    因为觉得在电脑上读PDF文档太不舒服,最近买了台打印机把文档打印出来读。当然买的是最便宜的不支持双面打印的激光打印机。为了节省纸张我需要每张纸一面打印2×2的4页内容,反面也要打印。

 

    当然pdf阅读器就支持2*2的打印,也可以设置要打印的页面。

print

 

    我需要做的是:

   1. 先打印纸张的一个面:在Pages里填写上 1-4,9-12,17-20等等。

   2.打印完一面后将打印纸换个面打印另一面:在Pages里填写上 5-8,13-16,21-24等等。

 

    那么怎么快速的得到一本几百页的文档的页面串了?

 

    假设你有一本400页的文档,用VIM:

:for i in range(51) | call setline(i,(8*i-7).'-'.(8*i-4)) |endfor | %s/\n/,/g 

 生成:1-4,9-12,17-20,25-28,33-36,41-44,49-52,...,385-388,393-396,

 

 另一面用:

:for i in range(51) | call setline(i,(8*i-3).'-'.(8*i)) |endfor | %s/\n/,/g

 生成:5-8,13-16,21-24,29-32,37-40,45-48,53-56,...,389-392,397-400,

 

这个脚本分成两部分第一个部分是for循环语句使用range()函数和setline函数来输出行号;第二部分是将换行符\n,替换为逗号。

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值