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


图 2. vi 中的空白文件
在开始进行任何操作之前,您应该了解如何保存文件以及如何编辑文件 。要输入这些类型的命令,可以按冒号 (:) 键加上描述所需操作的字母序列 。要保存新的文件,可以按 : 键、w 键,然后按 Enter 键 。要退出 vi,可以按 : 键、q 键,然后按 Enter 键 。现在,重新在命令行中打开 vi 。如果您希望退出 vi 而不保存所做的更改,那么它会发出警告并提示您按感叹号 (!) 以确认您的操作 。如果您希望忽略系统警告,可以在按键序列的后面追加一个感叹号,退出 vi 的按键序列是:key, q key, ! key, Enter key
您可以将命令组合使用,如 wq,表示保存文件并退出 vi 。
您需要完成的第一项任务是插入一些文本,以便能够学习如何编辑和操作文件 。在缺省情况下,进入 vi 后处于命令模式 。所以,如果您这时开始输入,那么可能会对得到的结果感到困惑 。稍后将对每种模式进行介绍,现在请按 i 键以进入到插入模式,然后输入一些文本行内容,这与在普通文本编辑器中的操作相同 。在完成输入后,按 Esc 键返回到命令模式 。请参见图 3 和 4 。
图 3. 当您进入到插入模式时,编辑器中最下面的一行将会说明这一点
图 4. 在示例文档中输入一些内容,以便可以对其进行操作
在按了 Esc 键之后,光标仍然位于输入的最后一个字符处,并且返回到了命令模式 。下一部分将向您介绍如何导航文件 。
在 vi 中进行导航
在命令模式中,您的键盘变成了与界面的交互工具,而不是文本输入工具 。vi 可以让那些需要使用所有常用命令的用户将手保持在标准键位(a-s-d-f 和 j-k-l-;)上,并延伸到附近的字母 。首先要学习的基本操作是移动光标 。大多数最新版本的 vi 允许您使用键盘上的箭头键,但是高级的 vi 用户更喜欢使用手指易于触及的按键 h-j-k-l:
h 和 l 分别表示向左和向右,这是非常直观的,因为将它们绑定到了四个方向键中最左边和最右边的按键上 。
k 向上移动光标 。
j 向下移动光标 。
您将很快地记住这些按键 。要将光标移动到您所创建的包含三行内容的文件中的第一行,可以按两次 k 键 。光标现在位于第一行的末尾 。继续进行操作,并使用 h-j-k-l 将光标移动到文件中的其他位置,然后再次让它返回到第一行的末尾 。请参见图 5 。
图 5. 使用方向键 h-j-k-l 让光标返回到文件的第一行
使用快捷方式移动光标
【UNIX 新手指南,第 2 部分: vi 文本编辑器】在一行中移动
现在您的光标已经位于第一行的末尾,您可能希望将它移动到该行的开头,但却不希望反复地按 h 键以使光标移动到那里 。在命令模式中,vi 具有一些基于键盘的快捷方式,它们允许您快速地移动到文件中的各个位置,与您将手移动到鼠标并指向文件中的某个位置,或使用箭头键一次移动一个位置相比,这种方式的速度更快 。这些快捷方式中的第一个是 0:
要移动到一行的开头,可以按 0,您的光标将跳转到该位置 。
要移动到一行的末尾,可以按 $ 。
继续练习并尝试这种方法 。
现在,您可以一次移动一个字符 。您也可以将光标移动到每一行的开头和末尾,但是这两种操作在移动粒度方面相差很大 。另一种选择是一次移动一个单词 。您可以使用 w 和 b 键来完成这项任务:
按 w 键将向前移动一个单词 。
按 b 键将向后移动一个单词 。
您可以尝试这种方法,先将光标移动到第一行的开头(按 0),然后按三次 w 键将光标移动到单词 test 的开头 。接下来,按两次 b 键以返回到单词 is 。

推荐阅读