充分利用 Vi 文本编辑器

Vi 是典型的 Unix 文本编辑器。了解它,或其任何化身,Vim、Neovim、gVim、nvi 或 Elvis,适用于 Linux、macOS、Windows 或 BSD。
77 位读者喜欢这篇文章。
Business woman on laptop sitting in front of window

图片来源:Mapbox Uncharted ERG, CC-BY 3.0 US

无论您将其称为 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

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 标准。每个系统管理员都应该知道如何使用它,即使他们不打算每天都使用它。它也是一个快速而简单的编辑器,所以一旦您熟练掌握它,它可能就是您长期以来一直在寻找的编辑器。

下一步阅读什么

为什么我喜欢 Emacs

Emacs 不仅仅是一个文本编辑器;它可以让您掌控一切,并允许您解决几乎遇到的任何问题。

Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。他曾在电影和计算行业工作,经常同时进行。

3 条评论

“如果您的系统上有 .vimrc 文件,Vim 将以 Vi 兼容模式启动。”

这是不正确的。来自 :help 'compatible'

当在 Vim 启动时找到 vimrc 或 gvimrc 文件时,
此选项将被关闭,并且所有未修改的选项都将设置为 Vim 默认值。实际上,这意味着
当存在 vimrc 或 gvimrc 文件时,Vim 将使用 Vim
默认值,否则将使用 Vi 默认值。
defaults, otherwise it will use the Vi defaults.

而且在您学会如何退出编辑器后,您会开始发现如果您留在编辑器中会更有趣。

搜索光标下的单词:*

跳转到匹配的括号:%

更改引号内内容:ci"

复制引号周围内容:ya"

前两个属于“移动”类别,后两个是组合。

动词 -> 更改 c,复制 y,删除 d

副词 -> 内部 i,周围 a

移动 -> 引号内 i",引号周围 a"

https://dev.to/jessekphillips/after-vi-basics-4ji0

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.