UNIX 新手指南,第 2 部分: vi 文本编辑器

开始之前
了解本教程中包含的内容以及如何最好地利用本教程 。
关于本系列
这个由四部分组成的文章系列将从用户的角度出发,介绍 Unix?的基本知识 。对于很久没有使用类 UNIX 操作系统的用户来说,这个初始的教程是个很好的温习 。对于具有 Windows?使用经验的新的 UNIX 用户来说,它也很有价值,因为其中引用了 Windows,并将两者进行了比较 。本系列中的后续教程将详细地介绍一些特定的应用程序(比如 vi),并讨论关于 Shell 的诀窍与技巧 。
关于本教程
vi 编辑器已有 30 多年的历史,并且到现在为止,仅对其进行了很少的更改 。它保持了不使用鼠标而通过键盘驱动的界面,这使得用户可以始终将手指放在标准键位处 。用户可以在两种模式(插入模式和命令模式)之间进行切换,以便分别插入文本或对文档进行操作和导航 。命令模式为用户提供了各种各样的功能,而这些功能在鼠标驱动的界面中通常需要通过指向-点击 (point-and-click) 来实现 。
目标
本教程的目标是让 vi 的新用户能够熟练地对文档进行创建、编辑和导航 。本文重点关注于常用的 vi 命令,并详细地讨论了 vi 中一些比较隐秘的特性 。在学习使用 vi 时需要记住的最重要的一点是,起初您可能会感觉到文本编辑的速度很慢并且很麻烦 。您可以回忆一下第一次使用鼠标或学习使用键盘进行输入的情形 。这个具有 30 多年历史的应用程序强迫用户以一种新的模式进行思考,但是花费大量的学习时间是值得的,最终能够实现快速的、不使用鼠标的文本编辑 。
先决条件
要学习本教程,您需要对命令行有基本的认识 。您应该了解什么是文件和目录,并且能够使用自己的帐户登录到类 UNIX 操作系统 。
系统要求
在任何运行类 Unix 操作系统的计算机上拥有您自己的帐户,这是完成本教程所需的要求 。类 UNIX 操作系统包括 IBM?AIX?操作系统、Linuxerkeley Software Distribution (BSD)、Mac OS?X(使用终端来访问命令行),以及许多其他的操作系统 。
vi 简介
vi 文本编辑器使用了两种主要的模式:命令模式和插入模式 。本教程的第一部分将重点关注于导航文件,这个任务可以在命令模式中完成 。当您处于命令模式中时,普通的键盘操作用来执行命令,而不是创建文本 。当您进入到插入模式,可以使用键盘输入文本,例如在命令行中 。要退出命令模式,可以按 Esc 键 。
vi 中的命令有些是单键命令,有些是使用 Shift 或 Ctrl 或按键序列的命令 。在使用引用一个大写字母的命令时,您应该使用 Shift 键加上这个字母 。在使用引用两个字母或符号的命令时,您应该按顺序按下这些键,而不是同时按下 。
要开始练习,首先您将在命令行中使用 vi 命令加上新文件的名称,以创建一个空白文件 。在本教程中,您在 vi 中从头开始建立了一个文档,然后学习使用有用的 vi 命令对该文档进行编辑 。在完成本教程之后,您将了解所有主要的 vi 命令,这些命令可以用来完成日常的编辑任务,以及一些功能强大的命令,您可以在适当的时候使用它们 。在学习本教程的过程中,随时可以使用参考资料部分中来自 Cal Tech 的参考手册 。
登录到您最喜欢的类 UNIX 操作系统,然后使用 vi 打开一个新的文件(请参见图 1) 。
图 1. 使用 vi 打开一个新的文件
vi 打开了一个名为 tutorial.txt 的新文件(请参见图 2) 。您马上将看到奇怪的地方:文本编辑器最左边的一栏中填满了波浪符号 。不要担心,这是 vi 表示文档中未定义的部分的方式 。换句话说,因为该文件没有任何内容,所以这些行并不存在 。

推荐阅读