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

阅读更多

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

 

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

用VIM得到设置要打印页码的脚本_第1张图片

 

    我需要做的是:

   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,替换为逗号。

 

 

 

  • 用VIM得到设置要打印页码的脚本_第2张图片
  • 大小: 47.9 KB
  • 查看图片附件

你可能感兴趣的:(脚本,vim)