7. 生产力

Emacs 提供了许多应用程序,可以帮助你完成工作。从编码到撰写论文再到安排约会,你几乎可以在 Emacs 中完成任何事情。

7.1. 在 Emacs 中编码

Emacs 具有针对 Lisp、Scheme、Awk、C、C++、FORTRAN、Icon、Java、Objective-C、Pascal、Perl 和 Tcl 的“主要模式”(本质上是编辑器)。 你可以通过创建和/或打开具有适当扩展名的文件来调用主要模式。 例如,要调用 c++ 主要模式,请创建一个带有.cpp扩展名的文件,然后打开该文件。 你还可以下载其他主要模式,例如 SGML。

由于编码选项的广泛性,本文档无法涵盖所有选项。 但是,Gnu Emacs 手册中有一个关于编码的广泛章节,可在http://www.delorie.com/gnu/docs/emacs/emacs_238.html上找到。

7.2. 定制 Emacspeak

Emacspeak 包含许多定制选项。 这里涵盖了最常要求的选项,但是如果还有其他应该包括的内容,请随时提出建议。

7.2.2. Emacspeak 的听觉图标

Ann Parsons 写了一篇关于 Emacspeak 桌面和听觉图标的精彩解释,你可以在http://www.cs.vassar.edu/~priestdo/emacspeak/msg00256.html上阅读。 简而言之,听觉图标在你执行 Emacs 中的不同任务时为你提供反馈。 当你更改缓冲区、退出程序、进入缓冲区列表、编辑 C 代码等时,你可以获得听觉反馈。

如果你想使用听觉图标并且 ViaVoice 是你的语音合成器,请检查你是否有多通道声卡(尝试同时播放 CD 和 .au 文件 - 如果有效,则你拥有多通道卡)。 如果你的卡不是多通道的,则必须按如下方式安装应用程序stdiom

  1. http://www.leb.net/pub/blinux/emacspeak/blinux/stdiom.tar.gz下载应用程序stdiosynth

  2. 以 root 身份登录到你的机器,然后更改到放置下载文件的目录stdiom.tar.gz.

  3. 使用命令gunzip stdiom.tar.gz解压缩文件。

  4. 使用命令tar -xvf stdiom.tar解压缩生成的文件。

  5. 将目录更改为生成的stdio_musician1.0目录并键入make。 你应该会收到一条消息,指出“stdiosynth 是最新的。”

目前,你可以从 Emacspeak 网站下载两个听觉图标主题,分别称为 Chimes 和 Cartoons。 Chimes 由各种乐器的不同铃铛和简短音符组成。 这些图标是高质量的 44K-mono,可以从http://emacspeak.sourceforge.net/chimes-mono.tar.gz下载。 Cartoons 主题由 Bryan Smart 贡献,由 22K-mono 声音组成。 你可以从http://emacspeak.sourceforge.net/cartoons-mono.tar.gz下载它。

要安装这些主题中的任何一个,请下载并将档案解压缩到你的 emacspeak 安装中的 emacspeak/sounds 目录中。 然后,你可以使用 Emacspeak 命令M-x emacspeak-sounds-select-theme选择已安装的主题。 或者,你可以将以下几行添加到你的.emacspeak文件

(setq emacspeak-toggle-auditory-icons t) (when (emacspeak-sounds-theme-p "chimes-mono") (emacspeak-sounds-select-theme "chimes-mono/" ))

有些人使用可以播放多个通道的声卡来生成他们的听觉图标。 对于此选项,请在你的.emacs文件

(setq emacspeak-aumix-multichannel-capable-p t) 

7.3. 阅读 Adobe Acrobat 文件

有两种方法可以使用 Emacspeak 查看 Adobe Acrobat PDF 文件。 第一种方法是使用Xpdf生成 PDF 的文本版本,然后读取文本版本。 第二种方法是使用 Adobe 的 PDF 到 HTML 转换器,然后读取 HTML 文件。

7.3.1. 使用 Xpdf

要生成 PDF 的文本版本,你需要下载Xpdf包。 主要网站位于http://www.foolabs.com/xpdf/,你可以从ftp://ftp.foolabs.com/pub/xpdf/xpdf-0.92-linux2.0.tgz下载预编译的二进制文件(当然,除非你对使用源代码感兴趣,在这种情况下,你将下载源代码)。

假设你下载了二进制文件xpdf-0.92-linux2.0.tgz,安装并运行Xpdf

  1. 使用M-x shell打开 Emacs 命令 shell。

  2. 更改为xpdf-0.92-linux2.0.tgz文件所在的相应目录,然后使用gunzip xpdf-0.92-linux2.0.tgz解压缩该文件。

  3. 解压缩生成的xpdf-0.92-linux2.0.tar文件,使用命令tar -xvf xpdf-0.92-linux2.0.tar

生成的目录将称为xpdf-0.92-linux2.0。 在此目录中,有许多应用程序,包括pdfimagespdfinfopdftopbmpdftopspdftotextxpdf。 你可以从 README 文件中了解每个应用程序的作用,该文件也包含在 Emacs 命令 shell 中,如下所示

  1. 使用命令M-x shell打开 Emacs shell 窗口。

  2. 在提示符下,键入pdftotext filename.pdf

    结果:该文件已转换为文本。 你可以使用 Emacs 阅读生成的文本文件。

7.3.2. 使用 Adobe 的转换器

作为Xpdf的替代方法,如果要阅读的 PDF 文件具有 URL,则可以使用 Adobe 的 PDF 到 HTML 转换器。 要转换文件

  1. 使用W3转到http://access.adobe.com/simple_form.html

  2. 键入要转换的 PDF 文件的 URL。

    结果:该文件已转换为 HTML。 你可以使用 W3 读取和浏览文件。

测试表明,此转换在某些 PDF 文档上效果很好,但在其他文档上效果不佳。 如果你最终得到的 HTML 文件不可读,请尝试使用Xpdf转换为纯文本文件。

7.4. 安排约会和日历事件

Emacs 有一个内置的桌面日历,其中包括一个用于计划事件的日记。 日历和日记都支持美国和欧洲的日期格式,但默认使用美国格式。 日记使用日记文件(一个包含事件及其日期列表的文本文件)来跟踪约会和提醒。 你可以让 Emacs 每天通过电子邮件向你发送你的日程安排,也可以查看日历以查看当天的事件。

要启动日历应用程序,请使用命令M-x calendar。 日历导航命令在很大程度上与文本导航命令相同,你也可以使用箭头键进行导航。

如果你想使用日记,你需要创建一个包含你的事件的日记文件。 日记文件是一个简单的文本文件,默认情况下,Emacs 使用~/diary作为日记文件。 尽管你需要手动创建该文件,但有一些命令允许你添加、查看和更改日记条目。 这些命令中的大多数都启用了 Emacspeak。

日记条目有多种格式,并且可以设置为重复。 以下是一些示例

12/22/2001妈妈抵达进行访问在 2001 年 12 月 22 日出现一次
10 月 17 日Joe 的生日每年 10 月 17 日重复
星期五时间卡到期每周五重复

当然,还有比此处显示的更多的选项。 你可以在 GNU Emacs 手册中找到日记功能的完整列表,该手册位于http://www.delorie.com/gnu/docs/emacs/emacs_376.html

你可以使用命令M-x diary查看当前日期的日记条目。 或者,你可以通过将以下行添加到你的.emacs文件

(diary)

来让 Emacs 在你进入时自动显示当天的约会。你还可以每天通过运行命令M-x diary-mail-entries通过电子邮件将你的事件发送给你。 第一次执行此操作时,你可能会收到一条错误消息,指出“没有名为 *Fancy Diary Entries* 的缓冲区。” Tim Hesterberg 已将此错误消息作为错误报告给了 bug-gnu-emacs 邮件列表。 但是,该命令实际上有效,因此你可以忽略该错误消息。 默认情况下,你将收到未来七天的日历条目的电子邮件。 此外,当你进入 Emacs 时,它会自动向你显示未来七天的日历条目。 根据 GNU Emacs 手册,有一种方法可以更改电子邮件涵盖的天数,但根据 Tim 的说法,该功能也存在错误并且似乎不起作用。 在撰写本文时,这些问题尚未得到解决。

有关使用日历和日记的完整说明,请参阅 GNU Emacs 手册中关于日历和日记的部分,该手册位于http://www.delorie.com/gnu/docs/emacs/emacs_376.html

7.5. 在 Emacs 中编写文本

Emacs 提供了多种文本编辑模式,你应该使用的工具取决于任务。

7.5.1. 编写用于打印、PDF 或 Postscript 的文本

如果要以打印、Postscript 或 PDF 格式输出你的作品,LaTeX是可行的方法。 LaTeX本质上是一种标记语言,可生成高质量的打印、PDF 或 Postscript 输出。 LaTeX专为技术和科学文档的制作而设计,除了允许详细的格式设置外,它还提供对数学函数、自动生成书目和索引、图形支持等的支持。 你可以从https://latex-project.cn了解有关LaTeX的更多信息。 在LaTeX网站的文档部分,你将找到LaTeX的介绍以及完整的参考手册。

AUC TexLaTeX的 Emacs 编辑模式。AUC Tex主页位于http://mirrors.sunsite.dk/auctex/www/auctex/。 你可以从ftp://sunsite.dk/packages/auctex/auctex.tar.gz下载AUC Tex。 下载文件后,你需要按如下方式安装它

  1. 使用命令M-x emacspeak-root以 root 身份打开 Emacs 命令 shell。

  2. 将目录更改为下载的文件auctex.tar.gz所在的目录。

  3. 使用命令gunzip auctex.tar.gz解压缩文件。

  4. 使用命令tar -xvf auctex.tar解压缩生成的 tarball。

  5. 将目录更改为新的auctex-10.0g目录,然后键入命令make

    后续几个步骤在INSTALLATION文件中进行了更详细的介绍,该文件包含在auctex-10.0g目录中。

  6. 当 Makefile 完成构建后,键入命令 make lispdir=/usr/local/share/emacs/site-lisp install。 如果在此命令中定义为“lispdir”的 Emacs 路径对你的机器不正确,请提供 Emacs 安装的正确路径。

  7. 检查以确保tex-*.el文件已被放置在上面的lispdir命令中指定的目录中。如果不是,请将它们复制到那里。

  8. 将以下行添加到您的.emacs文件

    (require 'tex-site)

    完成后,保存并关闭您的.emacs文件。

  9. 要调用 AUC Tex 编辑模式,请创建一个新的,扩展名为.tex的文件。

您可能还想安装在线文档。它位于doc目录中的auctex-10.0g目录下。要安装文档

  1. 将目录更改为doc目录中。

  2. 在命令提示符下,键入 make。 makefile 完成后,键入 make install

    结果:文档安装在/usr/local/info/目录中。

您也可以在在线手册中找到此信息,网址为 http://mirrors.sunsite.dk/auctex/www/auctex/doc/.

由于 AUC TeXLaTeX 的一部分,因此您需要了解 LaTeX 才能使用它。David R. Wilkins 撰写了一本很好的 LaTeX 手册,名为“Getting Started with LaTeX”,位于 http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/.