SlickEdit
MicroEdge, Inc. 发布了 Linux 版本的 SlickEdit。SlickEdit 是一款基于字符的程序员编辑器,可在多种平台上运行,它应该会吸引在多个环境中工作的开发人员。目前的标价为 195 美元。
对于从 DOS 环境转来的程序员来说,SlickEdit 提供了舒适的过渡。用户无需使用晦涩难懂的击键和无休止的键盘重映射,而是看到一个不引人注目的菜单系统,该系统稍后可能会被丢弃。按下 F1 会调出帮助系统,并且特定键(如 insert 和 delete)的行为方式与 DOS 用户习惯的方式相同。
SlickEdit 可以被认为是一个相当完整的编辑器,因为它提供了高效编码所需的大部分功能。它具有完整的撤消和重做功能,甚至可以回溯到连续的文件保存操作之前。支持多文件搜索和替换以及正则表达式搜索。可以在标记的行、块和列上执行剪切和粘贴操作。维护了多个标记文本的剪贴板。类似 Rexx 的宏语言提供了超过 850 个可调用的编辑器函数。
单张软盘默认将 SlickEdit 安装到 /usr/bin 和 /usr/lib/slick,占用大约 2Mb 的磁盘空间。如果您选择不安装所有宏文件,则需要的空间更少。SlickEdit 可执行文件仅为 260K。应用程序附带一本 400 页的精装手册。
您可以通过三种方式在 Linux 系统上使用 SlickEdit:控制台、终端或 xterm。每种方式都有其自身的特点,您可能需要为每种方式创建一个单独的键盘描述文件。一个名为 genktab 的按键映射实用程序允许您告知 SlickEdit 在按下按键时应执行的操作。可读的键盘描述文件被编译成“.tab”文件。另一个实用程序 showkey 旨在帮助您确定终端正在生成的序列。
默认键盘描述文件中包含了大多数常见的终端类型,包括 vt100 和 xterm。要使用 xterm,必须将文件 /usr/lib/slick/xdefault 附加到您 $HOME 目录中的 .Xdefaults 文件。包含了一个特殊的 xs 脚本以避免初始配置障碍。在 xterm 下,可以使用鼠标动态调整窗口大小,但鼠标不能用于操作屏幕内的文本。MicroEdge 已声明他们计划在未来版本的 SlickEdit 中为 Unix 添加鼠标支持。
在控制台模式下,SlickEdit 几乎与其 DOS 版本没有区别。Alt-F1 到 Alt-F4 键可能需要重新映射以提供诸如 MOVE-EDGE 和 DELETE-ADJACENT 等功能,因为大多数 Linux 系统使用这些组合键来提供虚拟终端。您也可以从 SlickEdit 菜单执行这些操作,或如下所述为非控制台终端配置 Alt 键。
将终端设置为像普通 DOS 用户期望的那样工作是具有挑战性的,尤其是对于文本编辑器而言。Alt 键在当今标准使用的大多数终端中没有对应项。MicroEdge 通过将反引号 (`) 键定义为非控制台、非 xterm 终端的 Alt 键来解决此问题。在实践中,这种调整很容易且很自然地使用。要输入实际的反引号,请输入 ^Q ` 序列。
使用终端的另一个潜在问题在许多 Unix 应用程序中很常见——即发送转义序列(例如,ANSI 仿真下的 F1)和文字转义 (0x1b) 字符造成的混淆。这并非 Linux 或 SlickEdit 所特有,但在文本编辑应用程序中更为明显,因为您可能经常敲击箭头键。SlickEdit 试图通过允许用户为不明确的按键序列指定延迟来缓解这种情况。在其他 Unix 系统上,我注意到这并不总是 100% 成功,尤其是在您通过负载过重的系统运行 telnet 时。但是,我在 Linux 上的有限使用没有发现任何问题。
如果您购买 SlickEdit,您至少会有两个期望:易用性和技术支持。配置完成后,SlickEdit 几乎没有意外情况。但是,要达到您对配置感到满意的程度,可能需要致电技术支持。我之前与 MicroEdge 支持团队的经验非常好,这次也不例外。基本上,我想要真正的 8 位线条绘制字符,而不是显示笨拙的连字符、加号和竖线 (- + |) 符号。我的电话在 30 分钟内得到了回复。在确定我需要什么之后,专家提出通过电子邮件将必要的文件发送给我,并保证如果出现任何进一步的问题,我可以给他回电话。我的 ANSI.DAT 文件在当天晚些时候到达,一切都按预期工作。MicroEdge 还支持 CompuServe 论坛:“go slickedit”。
我的总体印象是,MicroEdge 在将 SlickEdit 移植到 Linux 方面做得非常出色。在过去的两年里,我使用 SlickEdit 系列编辑器在各种平台上编写了许多行代码。当然,还有其他免费软件可以替代久负盛名的 vi 和 Emacs 编辑器,但我发现使用 SlickEdit 提高了我的工作效率(并降低了挫败感)。
Jeff Bauer 在过去的 16 年里一直从事医疗保健软件开发。他目前的项目涉及将笔式计算机与 Unix 系统连接以跟踪临床信息。