什么是 Vim?

Vim 是一个 Unix 文本编辑器,包含在 Linux、BSD 和 macOS 中。它以快速和高效而闻名,部分原因是它是一个可以在终端中运行的小型应用程序(尽管它也有图形界面),但主要是因为它完全可以通过键盘控制,无需菜单或鼠标。例如,要将文本插入到文件中,您按 I 并键入。要导航或发出命令(例如保存、退格、Home、End 等),您按键盘上的 Esc 键,然后按与您要执行的操作对应的任何键或组合键。与现代计算机用户期望的文本编辑方式相比,这是一种非常不同的文本编辑方式,但世界各地的 Unix 管理员都使用这种方式编辑配置文件、更改日志、脚本等等。

Vim 通常也被称为 Vi,因为当 Bill Joy 在 1970 年代后期编写它时,它是可视化编辑器的缩写。在 Vi 之前,很少有人想象计算机可以充当一种交互式打字机。文本文件是用命令(如 ed)编辑的,这些命令会找到特定的行并插入或删除文本;实际上,所有文本都是通过类似于您最喜欢的 office 应用程序的查找和替换菜单(但没有 office 应用程序)的简陋版本来操作的。Vi 是一股清新的空气,使用户能够进入屏幕会话,向他们显示整个文件,并允许他们实时编辑它。

[下载我们的 Vim 速查表]

虽然很多人声称喜欢并使用 Vi,但很少有人每天使用 Vi 而不是 Vim。在非正式对话中,Vi 和 Vim 可以互换使用,通常指的是 Vim(Vi Improved)。在某些 POSIX 系统上,vi 命令是指向 Vim 的指针(或者 Vim 就被称为 Vi)。但是,某些系统仅附带 Vi,您必须单独安装 Vim。

要验证是否已安装 Vim,请使用此命令

which vim

如果没有任何返回,则表示您没有安装 Vim。从项目主页安装 Vim。

此外,某些发行版提供了一些不同的 Vim 构建版本。通常,这意味着有一个最小的构建版本,它模仿旧的 Vi,只包含足够的 Vim 主义使其可用,以及一个增强的构建版本,它提供真正现代的 Vim 体验。确定可用版本的最佳方法是搜索您的软件包管理器中包含字符串“vim”的任何软件包,然后安装功能最多的软件包(例如 Fedora 上的 vim-enhanced)。

为什么要使用 Vim?

Vim 是所有 POSIX 系统上的默认后备编辑器。无论您是刚刚安装操作系统,还是启动到最小环境以修复系统,还是无法访问任何其他编辑器,Vim 都肯定可用。虽然您可以在系统上更换其他小型编辑器,例如 GNU Nano 或 Jove,但 Vim 几乎可以保证在世界上的每个其他系统上都存在。

它在设计和功能方面的效率也不容忽视。Vim 的原生基于终端的界面不依赖于菜单或花哨的外围设备,甚至不依赖于 CtrlAlt 等“额外”键。Vim(主要)使用任何键盘通用的键,无论语言、布局或设备如何(而那些不通用的键可以很容易地重新映射)。

移动设备上的 Vim

如果您在手机上运行终端,Vim 是编辑的绝佳选择,但有一个问题:您可能没有 Esc 键。虽然有可供下载的替代键盘,但它们通常以牺牲按键大小为代价来添加额外的按键。如果这不是您愿意做的更改,那么您可以将 Vim 设置为将 Esc 映射到其他一些按键序列。将此 imap 命令添加到您环境的 .vimrc 中(此示例使用两个逗号作为转义序列,但您可以使用您不希望经常快速连续键入的任何内容,例如 qqyy

imap ,, <Esc>

如何使用 Vim

没有人认为 Vim 是直观的,因此其开发人员创建了 vimtutor,这是一个简单的交互式基础知识演练。虽然 Vim 充满了潜力,但您只需了解一些控件即可使用它。用 vimtutor 的第一课来解释,以下是基本知识

  • 从终端键入 vim 或在桌面上启动 gvim 来启动 Vim。
  • I 进入插入文本模式。在插入模式下,您所能做的就是将文本键入到文档中。插入模式下没有命令。
  • Esc 进入普通模式,用于命令。
  • 在普通模式下,您可以使用 h(左)、j(下)、k(上)和 l(右)移动光标。记住 j 是向下,将其视觉上等同于向下箭头可能会有所帮助。
  • 要退出 Vim,如果您想保存您的工作,请键入 :wq,如果要放弃未保存的更改,请键入 :q!

除了这些基本知识之外,所有其他 Vim 命令可以说都是为了方便和效率。

Vim with Afterglow theme

当您第一次启动 Vim 时,您会创建并打开一个临时空文本文件,就像打开任何其他文本编辑器一样。但是,与其他文本编辑器不同,您最初无法在文件中键入任何内容。那是因为您处于普通模式,该模式用于向 Vim 发出命令。它期望您的第一个操作将是打开文件或将空文件另存为具有合理名称的文件。如果您的目的是在不打开文件或保存当前文件的情况下键入,请按键盘上的 I 进入插入模式。进入此模式后,您可以像预期的那样输入文本。

使用 Vim 是插入模式和普通模式之间的不断切换,但一旦您习惯了,它就会变得非常流畅,以至于您不会考虑它。这有点像按 Caps Lock 键(而不是 Shift 键)来获得一系列大写字母,或者像在移动键盘上按住以获得替代字符。我们不将这些操作称为“模式”,但这就是它们的本质:它们是您打开或关闭的切换开关,用于更改某些操作的上下文。例如,当您想在 Vim 中向后移动一个单词时,您按(然后释放)Esc 进入普通模式,然后按 b 将光标向左移动一个单词。它与其他文本编辑器不同,但如果您仔细想想,更改模式的概念并不陌生。

Vim 插件

Vim 是可扩展的,这意味着您可以通过插件向其添加功能。凭借数十年的历史,Vim 有大量有用的插件可供选择,甚至有像 Vim Awesome 这样的整个网站专门介绍 Vim 插件。

您可以手动安装插件,也可以使用 Vim 包管理器(如 Vim-plug)。如果您是 Vim 的普通用户,您很容易通过插件依赖 Vim。从简单的配色方案文件管理器,插件是 Vim 让您不断回来的方式。

成为 Vim 高手

精通 Vim 需要一些练习,在最初的一周左右,您会感觉好像有人秘密地重新排列了键盘上的按键(并偷走了您的鼠标)。但是,完成 vimtutor 有助于您打下坚实的基础,我们的Vim 速查表在很大程度上缓解了记住重要命令的压力。很快,您就会发现自己像使用第二天性一样使用 Vim,最终,您会发现自己在所有喜欢的应用程序中都不自觉地按下 Esc 键。

© 2025 open-source.net.cn. All rights reserved.