无论您将其称为 Vim、Neovim、gVim、nvi 还是 Elvis,典型的 Unix 编辑器肯定是 Vi。Vi 可能包含在每个 Linux 和 BSD 发行版中,是一款轻量级且极简的文本编辑器,许多用户因其简单明了的键盘快捷键和双模式设计而喜爱它。
最初的 Vi 编辑器是由 C shell 的创建者 Bill Joy 编写的应用程序。现代版本的 Vi 添加了许多功能,包括多级撤销、在插入模式下更好的导航、行折叠、语法高亮、插件支持等等。Vim 被认为是目前最流行的实现,大多数人在提到 Vi 时实际上指的是 Vim。
所有版本都回归到相同的目标,因此本文从通用的角度来看待 Vi。您计算机上的实现可能略有不同,但您仍然可以从 Vi 的方式编辑文本中受益。
安装 Vi
如果您运行的是 Linux、macOS 或 BSD,那么您已经安装了 vi
命令。如果您在 Windows 上,您可以下载 Vim 和 gVim。

(Seth Kenlon, CC BY-SA 4.0)
在 NetBSD 上,nvi 是 Vi 的常见替代方案,而 Slackware 提供了 Elvis(和 Vim),流行的 Neovim 分支旨在帮助用户使用 Lua 扩展 Vim。
启动 Vi
在终端中使用 vi
命令启动 Vi 或 Vim。如果在您的系统上找不到 .vimrc
文件,那么 Vim 将以 Vi 兼容模式启动(也可以使用 -C
选项强制执行)。如果您想使用 gVim 来获得图形用户界面 (GUI),您可以从桌面应用程序菜单启动它。
如果您是刚开始学习 Vi 的新用户,使用图形用户界面可以很好地为您自己提供缓冲,在您可能期望文本编辑器如何运行与 Vi 设计的运行方式之间。GUI 版本具有菜单栏、一些鼠标集成、工具栏和其他功能,可帮助您找到您可能在典型的文本编辑器中认为理所当然的基本功能,但还不知道如何在 Vi 中执行。
如何使用 Vi
学习 Vi 最简单的方法可能是使用 vimtutor
,这是与 Vim 打包在一起的交互式教程。要开始教程,请启动 vimtutor
并通读说明,尝试每个练习。正如教程所说,熟练掌握 Vi 更多的是建立肌肉记忆,以便在您键入时调用常用操作,而不是记住哪个键做什么。
Esc
您了解到的关于 Vi 的第一件事是 Esc 键的重要性。Esc 是激活命令模式的键,很快您就会了解到,每当您在 Vi 中有疑问时,只需按 Esc 键。您在命令模式下按下的任何键都不会输入到您正在处理的文本文档中;相反,Vi 会将其解释为命令。例如,要向左移动光标,请按键盘上的 H 键。如果您处于插入模式,那么按 H 键会键入字母 H,正如您所期望的那样。但在命令模式下,按 H 键向左移动,L 键向右移动,J 键向下移动,K 键向上移动。
命令模式和插入模式之间的分离与任何其他文本编辑器的工作方式形成鲜明对比,因此,这可能是 Vi 最重要的区别。然而,有趣的是,从理论上讲,它与您可能已经工作的方式并没有太大的不同。毕竟,当您将手从键盘上移开以使用鼠标选择文本时,您实际上是将自己置于某种命令模式。使用 Vi,您不必将手从键盘上移开来移动鼠标并按下功能键或 Ctrl 键,而是将编辑器置于一种特殊的操作模式,使其将您的按键重新分配为命令而不是文本输入。
扩展 Vi
在 Vim 8.0 版本之前,Vi 基本上“只是”一个文本编辑器。它有插件,但安装它们是一个手动过程,许多用户从未想过要这样做。幸运的是,Vim 8 及更高版本提供插件管理支持,使得安装和加载插件变得非常简单。
安装 Vim 插件可以使用 vim-plug
功能。例如,要安装 Vi 文件浏览器 NERDTree
:PlugInstall NERDTree
您还可以更新插件
:PlugUpdate NERDTree
有关使用 vim-plug
和手动安装插件和主题的更多信息,请阅读我的文章如何安装 Vim 插件。
将 Vi 作为默认编辑器
Vi 不仅仅是流行;它还是一个 POSIX 标准。每个系统管理员都应该知道如何使用它,即使他们不打算每天都使用它。它也是一个快速而简单的编辑器,所以一旦您熟练掌握它,它可能就是您长期以来一直在寻找的编辑器。
3 条评论