Linux 版 (精华区)

发信人: howdoit (第一个角球), 信区: Linux
标  题: 在屏幕上读书:XEmacs
发信站: 哈工大紫丁香 (Thu May 20 08:49:15 1999), 转信

"Linux公报...让Linux更富魅力!"

                     在屏幕上读书

                     用XEmacs阅读电子文本

                      作者Larry Ayers    翻译gaia

                                简介

在去年冬天的一段风雪交加的日子里,我极其渴望读点新东西.房间里

那堆书看 上去索然无味;想去镇上图书馆借书看,然而积雪使路况十分

糟糕,难以成行. 

我曾听说有个Gutenberg计划,那是一个合作项目,致力于让人们能够免

费获得数 字化形式的公共域 (public-domain)文学作品,不过我还从

未得到过任何一 本电子书.通过网上搜索我发现了其中一个Gutenberg

站点, 在那里我惊奇 地发现了种类丰富的小说和其它文学作品,所有

的都是无数志愿者通过手 工输入或从印刷品扫描得到的.我挑了一本

电子书来读,也很想知道看电子书会不会 把眼睛弄得很疲劳. 

                              第一印象

这些文件是zip压缩的;当在Linux下解包时,每一行结尾都出现那些DOS

文件系统的^M换行符.Info Zip的unzip工具会自动从文件中除去它们,

只要在命令行上使用了-a选项,比如下面这个例子:   unzip -a

[filename].然而如果你用Emacs自己的jka-compress软件包处理压缩的

打包文件,unzip工具就不是十分有用;jka-compress会在内部调用zip

及unzip,在打开和关闭文件时自动把文件解压缩/压缩.在这种情况下,

我所见过的最简单的把DOS格式的行结尾转换为UNIX格式的方法是一对

Lisp函数,由Earl Stutes在Linux公报第十期发表;我把它们抄在下面:

(defun dos-unix ()

  (interactive)

  (goto-char (point-min))

  (while (search-forward "\r" nil t) (replace-match "")))

(defun unix-dos ()

  (interactive)

  (goto-char (point-min))

  (while (search-forward "\n" nil t) (replace-match "\r\n")))

把这两个函数加到你的 .emacs文件里,只要用 M-x dos-unix就可以对

文件进行转换.如果你经常用它,可以把它绑到热键上. 

好了,现在文件更"可读"了;不过要想阅读整本书,其它的问题还不少.

首先是很难在文件中找到上次读到什么地方;其次,在载入文件时要是

不用输入整个文件名就好了.两种XEmacs的模式对此将大有帮助. 

                            有用的模式

要想记录你读到了什么位置,显而易见的方法就是模仿读纸书时所用的

书签,即Emacs的书签功能.作好的书签不会自动更新,但这一缺点可以

用 Karl Hegbloom的Where-Was-I数据库来弥补.这个模式只对单个文

件起作用 ,因为对于多个文件,你的"位置"并非十分重要.输入 M-x

tog[TAB] wh[TAB]就可以激活这个模式.其中的tab键是用来自动补齐表

达式的;这比输入整个命令M-x toggle where-was-i要快多了 .一旦激活

这个模式,在关闭或kill一个文件时当前的位置会被保存在你的根 目

录的一个二进制数据库里.以后再打开这个文件,光标就会出现在你上

次中 止时的位置.这对于一本书那么大的文件尤其方便,它们多半超过

1M.Hegbloom的这个软件包被包括在XEmacs的最近的版本中;在使用新

的 软件包系统的当前Beta版里它成了edit-utils软件包的一部分. 

我推荐的另一个XEmacs模式是Juergen Nickelsen的recent-files.el,

也是包含在XEmacs的edit-utils 软件包里.要想激活这种新颖的模式,

把下面这几行加到你的 .emacs文件里: 

(load "recent-files")

(recent-files-initialize)

这个模式在菜单栏里新添了一个菜单,其中包含两个子菜单.第一个子

菜单列出 你过去曾经用XEmacs打开的一些文件;这些位置逐渐会被新

的文件名取代.另 一个子菜单里的条目则是长期的,是你经常要编辑的

文件,比如某些设置文件 或日志.在菜单里还有选项能让临时的和长期

的条目互相转换. 

拥有了这两种优秀的模式,XEmacs基本上可算作一种舒适的电子书阅读

器.进一 步的改进可以用TrueType字体及字体服务器如xfstt;我发现

在被动阅读时这 些字体看上去更舒服. 

另一种有用的模式是我在Linux公报34期里介绍的字典模式中的一种.

我发现我更喜欢从联机字典而不是纸做的字典里查找陌生的单词.毕竟

敲几下键盘就能找到一个词是相当方便的. 

                                结论

在电脑的显示质量极大提高之前,长时间的阅读还是读纸上文本更好.

不过,我已 经津津有味地读完了几本Gutenberg电子书,其中很多我从

未在图书馆里找到 过.能从书里剪切和粘贴是很有用的,--此外你还能

纠正书中的输入错误! 

                       版权所有 (C) 1999 NJLUG

           出版于第39期《Linux公报》1999年4月 中文版第六期

                            


--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.059毫秒