DarkMatter in Cyberspace
  • Home
  • Categories
  • Tags
  • Archives

用VIM修改《红太阳是怎样升起的》


高华的大作:《红太阳是怎样升起的:延安整风运动的来龙去脉》原始文本是从 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\(/d "标出脚注,在脚注文本前面加空行 %s/^[①②③④⑤⑥⑦⑧⑨]\s\S\+/\r&/g "删除页码 g/^\s\{10,}\d*\s*/d "将页开始行替换为空行 %s/^-\{23}\sPage.*\)/\r/g "标出各种标题,在标题文本前面加空行 %s/^\s第.{1,2}章/\r\r&、/g %s/^\s[一二三四五六七八九十]\s/\r&,/g %s/^\s[一二三四五六七八九十]、/\r&/g %s/^\s\d、/\r&/g "标出段落 %s/^\s{4}/\r/g 将以上内容保存到F:\toMobile.txt中,用:so f:\toMobile.txt运行之。



Published

Jul 16, 2010

Last Updated

Jul 16, 2010

Category

Tech

Tags

  • Vim 92
  • 文本 2

Contact

  • Powered by Pelican. Theme: Elegant by Talha Mansoor