高华的大作:《红太阳是怎样升起的:延安整风运动的来龙去脉》原始文本是从 PDF 文件导出的 TXT 文件,需要改为手机上阅读比较方便的格式,下面是修改过程。
提取处理文本
从全文(见附件)中提取一节,篇幅不宜超过十页,否则处理它用的时间太长,例如第一章第一节“一、「农民党」、「军党」和毛泽东的「书记独裁」问题”。拷贝到 VIM 中。
删除脚注
删除每页下面的脚注,找到行首的“①”后手工删除相关段落,用 /^ ①查找目标;
删除页码
目标文本:
人闻名于中共,其活动基本上也是围绕军事武装……
10
----------------------- Page 11-----------------------
的一个侧面。中共中央认为毛的理论观点仍……
步骤 1 :寻找前面至少 38 个空格,后面是数字的行删除之: :g/^\s{38,}\d*/d
步骤 2 :寻找 23 个连字符后面一个空格接 Page 的行删除之: :g/^-{23}\sPage/d
标出标题
手工寻找标题所在行,在标题头插入
,用宏可提高效率; qa (大写 i 插入行首)
( ESC ),以后找到标题行后 @a 即可; 标出段落 前面有 4 个空格的行,将 4 个空格替换为
: :%s/^\s{4}/
/g 合并行 将所有文本合为一行: nJ ,命令中 n 是总行数 -1 清除所有空格 :%s/\s+//g 将段落标志
替换为回车 :%s/
/\r/g
至此文本的处理就完毕了,用博文“第一行为文件名保存的文件的实现方法( VIM 版)”中介绍的方法定义一个快捷键,将处理好的文本存为一个单独的文件,用 notepad++ 转为 UTF-8 格式(带 BOM )后放入手机中。
附:处理脚本1 "标出脚注,在脚注文本前面加
%s/^[①②③④⑤⑥⑦⑧⑨]\s\S+/
&/g "删除页码 g/^\s{10,}\d\s/d "将页开始行替换为
%s/^-{23}\sPage.\(/<P>/g
"标出各种标题,在标题文本前面加<P>
%s/^\s*第.\{1,2}章/<P>&、/g
%s/^\s*[一二三四五六七八九十]\s/<P>&,/g
%s/^\s*[一二三四五六七八九十]、/<P>&/g
%s/^\s*\d、/<P>&/g
"标出段落
%s/^\s\{4}/<P>/g
"将所有文本合为一行
1,\)j!
"清除所有空格
%s/\s+//g
"将段落标志替换为回车
%s/ /\r/g
处理脚本2(脚本1在手机上看效果欠佳,且脚本运行需要比较长的时间)
"delete all blank lines
g/^\s