Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1180180
  • 博文数量: 252
  • 博客积分: 5421
  • 博客等级: 大校
  • 技术积分: 2418
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-17 12:59
文章分类

全部博文(252)

文章存档

2017年(3)

2016年(18)

2015年(31)

2014年(18)

2013年(7)

2012年(8)

2011年(12)

2010年(30)

2009年(32)

2008年(57)

2007年(36)

分类: Python/Ruby

2014-03-01 17:00:31


  1. # vim py script
  2. # -- coding: UTF-8 --
  3. # 更正pdf书签的页码
  4. # 修改当前缓冲区每一行中的页码然后写入另一个空缓冲区
  5. import vim, re, sys;

  6. defaultAddPageNum = 25;

  7. if len(sys.argv) == 1:
  8.     addPageNum = defaultAddPageNum;
  9. else:
  10.     addPageNum = int(sys.argv[1]);

  11. newb = None;
  12. for b in vim.buffers:
  13.     if b.name == None and len(b)<2:
  14.         newb = b;
  15. if newb == None:
  16.     raise UserWarning('No empty buffer');
  17. del newb[:];

  18. for row in vim.current.buffer:
  19.     m = re.match('([\s\S]+\/)(\d+)([^\/]+)?\Z', row);
  20.     if not m:
  21.         raise UserWarning('The string('+row+') does not match the pattern');
  22.     if not m.group(3):
  23.         newline = m.group(1) + str(int(m.group(2))+addPageNum);
  24.     else:
  25.         newline = m.group(1) + str(int(m.group(2))+addPageNum) + m.group(3);
  26.     if newb[0] == '':
  27.         newb[0] = newline;
  28.     else:
  29.         newb.append(newline);

阅读(914) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~