Vi IMproved--Vim 和 Happy Hacking Keyboard Lite 2

作者:Don Marti

当你在大多数 Linux 系统上输入 vi 时,你很可能会得到 Vim。这是一件好事,但直到现在,还没有人写过一本书来介绍 Vim 相对于 vi 的功能。

Steve Oualline 及时出现。一些读者来信说,Steve 在我们二月份的刊物中发表的文章《That's Vimprovement! A Better vi》改变了他们的生活。我们很荣幸能参与为您带来如此美妙的转变,Steve 的新书为大众带来了更多的 Vim 知识。

感谢上帝这本书没有捆绑 CD-ROM。我希望这是一个趋势——图书出版商应该停止捆绑那些在其大部分书架寿命期间可能过时的软件。如果这本书应该捆绑任何东西,那就是 PFU America 推出的新款 Happy Hacking Keyboard Lite 2。我们使用了 QWERTY 版本,但也有 Dvorak 和日文版本。

Vim 增强了原始的 vi,因此您可以更快地编辑,但 Happy Hacking 系列键盘删除了功能以实现相同的目标。没有顶部的功能键行,也没有 Enter 键右侧的任何东西。Escape 键向下移动到数字 1 的左侧,这就是为什么我们在评论一本关于 Vim 的书时提到这款键盘——不会再有“妈妈,你能给我做些三明治吗?我今天要狂按 Escape 键,晚餐前回来。” 缺少的键可以通过 Fn 键使用,所以如果需要,你仍然可以执行 SysRq。

Control 键位于它应该在的位置,即左 Shift 键的上方。右上角也与标准 PC 键盘略有不同。Enter 键上方是一个 DIP 开关可切换的退格/删除键,再往上是反斜杠/竖线和波浪号/反引号。

Happy Hacking Keyboard Lite 2 在右 Shift 键下方以倒 T 形添加了光标键。最初的 Happy Hacking Keyboard 的粉丝(Linux Journal 在 1998 年对其进行了评测)会注意到另一个变化——现在左侧有第二个 Fn 键,因此您可以同时使用 Fn 键和左侧的“菱形”键(没有 Windows 徽标,但功能类似)。

说到 Fn 键,Fn 键可以完美地与其他修饰键组合使用,所以如果你有足够的手指,你仍然可以切换虚拟控制台。像 Ctrl-Alt-F1 这样的三键组合变成了像 Ctrl-Alt-Fn-1 这样的四键组合。在点燃烟花之前,先把它们放在地上,你应该没问题。

它的效果如何?小尺寸和前部的小唇边增加了感知高度——因为它更小,所以感觉更厚。如果你使用腕托,你可能需要尝试不同的腕托。按键手感没有经典的感觉,即阻力增加,然后弹簧咔哒一声,然后阻力减小,就像旧的 IBM 键盘一样。但是,按键不像廉价 PC 键盘那样完全软绵绵的。我能想到的最接近描述这种感觉的方式是,它就像高质量的笔记本电脑键盘,但键程更长。

当然,最大的问题是,你是否可以使用 Happy Hacking Keyboard,然后在偶尔编辑时切换回普通键盘而不会发疯?根据我的经验,可以。

在你的 Happy Hacking Keyboard 到来之前,如果你正在使用带有 Vim 的普通键盘,你可能想在你的 .vimrc 文件中粘贴 "imap <F1> <esc>",以防止在你只想按 escape 键时按 F1 键寻求帮助。

这引出了 .vimrc 文件的主题。在 Google 上搜索“my .vimrc”,你会得到数百个结果——都充满了最大化生产力、拯救腕管综合征的优点。或者,取决于你的观点,为了微调你的 .vimrc 而浪费了大量时间,只是为了让你在真正写作时更容易完成。

即使你每天访问 vim.org,并且总是在修改你的 .virmrc 以整合你从网上获得的东西,Steve 的书也是一个很好的命令参考。一个贴心的设计是,按字母顺序列出命令的参考附录包含了在本书正文中详细解释的命令的页码。

如果你是 Vim 的新手,或者是一般的 vi 类编辑器的初学者,本书开头的教程看起来不错,并且很快从基本的生存指南过渡到真正的强大编辑。出于基本的腕部健康原因,尽可能多地掌握文本编辑技能是个好主意,随身携带这本书是做到这一点的好方法。如果你只知道足够的 vi 来应付,你就浪费了 Vim 的所有强大功能,并且不必要地损害了你的手腕。

例如,如果你曾经在将文本从 X 应用程序粘贴到 Vim 中时遇到意外结果,那么 :set paste 将使粘贴的文本比其他情况下更接近原始文本。命令和配置设置比比皆是。

还有一个详细的“Cookbook”章节,你可以在其中找到处理许多常见编辑任务的技巧。除非必要,Steve 将所有内容组织成简短的章节,你可以快速阅读和应用。自从我拿起这本书以来,我的 .vimrc 的状态已经大大改善。

正如你可能从 Practical C Programming 的作者那里期望的那样,有很多关于如何自定义 Vim 以处理 C 和其他编程语言的优秀信息。Steve 详细介绍了缩进、语法高亮以及自动处理 make 和编译器。例如,你可以在文件中插入“modeline”来强制执行你的制表符设置,即使是配置不同的 Vim 的人编辑它也是如此。Vim 会为你运行 make,然后自动打开任何包含错误的文件进行编辑。

索引中没有关于“mail”或“e-mail”的条目,也没有关于如何将 Vim 用于非编程任务(如处理电子邮件中的引用文本)的少量信息。如果你正在搜索自定义调整以使 Vim 成为你想要的邮件编辑器,你可能需要等待一本关于 Mutt 的好书。

本书对 Vim 自己的内置脚本语言进行了出色的介绍,但没有使用 Python 或 Perl 的示例,Vim 可以与 Python 或 Perl 集成。

本书在任何时候都没有费心提及哪些功能在原始 vi 中找到,哪些是 Vim 的创新。如果你学习了 Vim,然后登录到一些遗留的 UNIX 系统,你最好抓取一份 Vim 的副本。幸运的是,Vim 具有令人难以置信的可移植性,甚至可以移植到非 UNIX 类的操作系统,并且有一个附录介绍了安装。因此,如果你被 Vim 宠坏了,永远无法回到普通的 vi,你仍然有希望。

产品信息

Don MartiLinux Journal 的技术编辑。可以通过 dmarti@ssc.com 联系他。

电子邮件:ljeditors@ssc.com

加载 Disqus 评论