您的位置:首页 > 其它

使用vim更正pdf文件bookmark页码的py脚本

2014-03-01 17:03 295 查看
# vim py script
# -- coding: UTF-8 --
# 更正pdf书签的页码
# 修改当前缓冲区每一行中的页码然后写入另一个空缓冲区
import vim, re, sys;

defaultAddPageNum = 25;

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

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

for row in vim.current.buffer:
	m = re.match('([\s\S]+\/)(\d+)([^\/]+)?\Z', row);
	if not m:
		raise UserWarning('The string('+row+') does not match the pattern');
	if not m.group(3):
		newline = m.group(1) + str(int(m.group(2))+addPageNum);
	else:
		newline = m.group(1) + str(int(m.group(2))+addPageNum) + m.group(3);
	if newb[0] == '':
		newb[0] = newline;
	else:
		newb.append(newline);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: