6.2. 使用 Vim 编辑器

6.2.1. 两种模式

vi 编辑器是一个非常强大的工具,并且拥有非常详尽的内置手册,您可以在程序启动时使用 :help 命令激活它(而不是使用 maninfo,它们包含的信息远没有那么多)。我们在这里只讨论一些非常基础的内容,以帮助您入门。

对于初学者来说,vi 令人困惑的地方在于它可以以两种模式运行:命令模式和插入模式。编辑器始终以命令模式启动。命令用于在文本中移动、搜索、替换、标记块和执行其他编辑任务,其中一些命令会将编辑器切换到插入模式。

这意味着每个键都有可能不只一个含义:它既可以表示命令模式下编辑器的命令,也可以表示插入模式下您想要输入的字符。

Note发音
 

它的发音是 "vee-eye"

6.2.2. 基本命令

6.2.2.1. 在文本中移动

通常可以使用箭头键在文本中移动。如果不行,请尝试

  • h 将光标向左移动

  • l 将光标向右移动

  • k 向上移动

  • j 向下移动

SHIFT-G 将把提示符放在文档末尾。

6.2.2.2. 基本操作

以下是一些常用的 vi 命令

  • n dd 将从当前光标位置开始删除 n 行。

  • n dw 将删除光标右侧的 n 个单词。

  • x 将删除光标所在位置的字符

  • :n 移动到文件的第 n 行。

  • :w 将保存(写入)文件

  • :q 将退出编辑器。

  • :q! 当您想要退出包含未保存更改的文件时,强制退出。

  • :wq 将保存并退出

  • :w newfile 将文本保存到newfile.

  • :wq! 覆盖只读权限(如果您有权限覆盖权限,例如当您使用 root 帐户时)。

  • /astring 将在文件中搜索该字符串,并将光标定位到其位置下方的第一个匹配项。

  • / 将再次执行相同的搜索,将光标移动到下一个匹配项。

  • :1, $s/word/anotherword/g 将替换wordanotherword在整个文件中。

  • yy 将复制文本块。

  • n p 将粘贴它 n 次。

  • :recover 将在意外中断后恢复文件。

6.2.2.3. 将编辑器切换到插入模式的命令

  • a 将追加:它会在切换到插入模式之前将光标向右移动一个位置

  • i 将插入

  • o 将在当前光标位置下方插入一个空行,并将光标移动到该行。

按下 Esc 键切换回命令模式。如果您不确定自己处于哪种模式,因为您使用的是非常旧版本的 vi,它不显示 "INSERT" 消息,请键入 Esc,您就可以确保返回到命令模式。当您在已经处于命令模式时按下 Esc 键时,系统可能会发出小警报,通过发出蜂鸣声或给出视觉提示(屏幕上的闪烁)。这是正常行为。

6.2.3. 简单方法

与其阅读相当枯燥的文本,不如使用 vimtutor 来学习您的第一个 Vim 命令。这是一个 30 分钟的教程,通过八个简单的练习教授最基本的 Vim 功能。虽然您无法在短短半小时内了解关于 vim 的所有内容,但本教程旨在描述足够多的命令,使您能够轻松地将 Vim 用作通用编辑器。

在 UNIX 和 MS Windows 中,如果 Vim 已正确安装,您可以从 shell 或命令行启动此程序,输入 vimtutor 命令。这将制作教程文件的副本,以便您可以编辑它而不会冒损坏原始文件的风险。有几个翻译版本的教程。要了解您的语言版本是否可用,请使用两位字母的语言代码。对于法语,这将是 vimtutor fr(如果安装在系统上)。