在 Linux 上,我经常使用 GNU Emacs 编辑器来编写新程序的源代码。我很早以前在读本科时就学会了 GNU Emacs,并且仍然对所有的键盘快捷键有“手指记忆”。
当我在 1994 年开始 FreeDOS 的工作时,我想包含一个类似 Emacs 的文本编辑器。您可以找到许多类似于 Emacs 的编辑器,例如 MicroEmacs,但这些编辑器都采用了一些快捷方式来适应 DOS 上的 16 位地址空间。然而,我很高兴找到了 Russell "Russ" Nelson 编写的 Freemacs。
您可以在 FreeDOS 1.3 RC4 的 Bonus CD 中找到 Freemacs。您可以使用 FDIMPLES 安装该软件包,它将安装到 \APPS\EMACS
。

从 FreeDOS 1.3 RC4 Bonus CD 安装 Freemacs
(Jim Hall, CC-BY SA 4.0)
初始设置
首次运行 Freemacs 时,编辑器需要“编译”所有设置文件,使其成为 Freemacs 可以快速处理的形式。这将需要几分钟才能运行,具体取决于您系统的速度和内存,但幸运的是,您只需要执行一次。

按 Y 构建 Freemacs MINT 文件
(Jim Hall, CC-BY SA 4.0)
Freemacs 实际上分两个阶段处理编辑器文件。当 Freemacs 成功完成第一阶段后,它会提示您重新启动编辑器,以便它可以完成处理。因此,不要对该过程似乎再次启动感到惊讶——这只是编译过程的“第二部分”。
使用 Freemacs
要使用 Freemacs 编辑文件,请使用文本文件作为命令行上的参数启动程序。例如,emacs readme.doc
将打开 Readme 文件以便在 Freemacs 中进行编辑。在命令行中键入 emacs
,不带任何选项,将在 Freemacs 中打开一个空的“scratch”缓冲区。

不带任何文件启动 Freemacs 会打开一个“scratch”缓冲区
(Jim Hall, CC-BY SA 4.0)
或者,您可以启动 Freemacs 而不带任何命令行选项,并使用 Emacs 快捷键 C-x C-f(或 M-x find-file
)。然后,Freemacs 会提示您输入要加载到编辑器中的新文件。快捷键前缀 C- 表示您应该按住 Ctrl 键和另一个键,因此 C-x 是 Ctrl 和 x 键一起按下。而 M-x 是“按下 ‘Meta’ 键(通常是 Esc 键),然后按 x”的简写。

使用 C-x C-f 打开新文件
(Jim Hall, CC-BY SA 4.0)
Freemacs 会自动检测文件类型并尝试加载正确的支持。例如,打开 C 源代码文件也会将 Freemacs 设置为 “C-mode”。

在 Freemacs 中编辑 C 源代码文件
(Jim Hall, CC-BY SA 4.0)
如果您也使用 GNU Emacs(像我一样),那么您可能很想让 Freemacs 与 GNU Emacs 使用的 C 缩进(2 个空格)相匹配。以下是如何将 Freemacs 设置为在 C-mode 中使用 2 个空格
- 在 Freemacs 中打开 C 源代码文件。
- 输入 M-x
edit-options
以编辑 Freemacs 设置。 - 使用设置将 “C-brace-offset” 和 “C-indent-level” 都更改为 2。
- 保存并退出 Freemacs;系统将提示您保存设置。
一些限制
Freemacs 的其余大部分操作都像 GNU Emacs 一样。如果您已经熟悉 GNU Emacs,那么您应该会在 Freemacs 中感到宾至如归。但是,Freemacs 确实有一些您可能需要知道的限制
扩展语言不是 LISP。 GNU Emacs on Linux 和 FreeDOS 上的 Freemacs 之间最大的区别是 Freemacs 使用不同的扩展语言。GNU Emacs 实现了一个类似 LISP 的解释器,而 Freemacs 实现了一种不同的扩展语言,称为 MINT——基于字符串处理语言 TRAC。“MINT”这个名称是一个首字母缩写词,意思是“MINT Is Not TRAC”。
您不应期望在 Freemacs 中评估 LISP 代码。MINT 语言与 LISP 完全不同。有关 MINT 的更多信息,请参阅参考手册。我们通过 Ibiblio 上的 FreeDOS 文件存档提供完整的文档,网址为 /freedos/files/edit/emacs/docs。特别是,MINT 语言在 mint.txt 和 mint2.txt 中定义。
Freemacs 无法打开大于 64 KB 的文件。 这是许多程序中的常见限制。64kb 是不利用扩展内存的程序的数据空间的最大大小。
没有“撤消”功能。 编辑时要小心。如果您犯了错误,您将必须重新编辑您的文件才能将其恢复到旧版本。此外,尽早且经常保存。对于非常大的错误,您最好的方法可能是放弃您在 Freemacs 中编辑的版本,并加载上次保存的版本。
剩下的就看您的了!您可以在 Ibiblio 上找到有关 Freemacs 的更多信息,网址为 /freedos/files/edit/emacs/docs。有关 Freemacs 的快速入门指南,请阅读 quickie.txt。完整的说明书在 tutorial.txt 中。
1 条评论