当我开始使用 vi 文本编辑器时,我讨厌它。我认为它是设计过的最痛苦和最反直觉的编辑器。但我决定必须学会它,因为如果你使用 Unix,vi 无处不在,并且是你保证可以访问的唯一编辑器。那是 1998 年,但今天仍然如此——vi 在几乎每个现有的 Linux 发行版上都可用,通常作为基本安装的一部分。
大约一个月后,我才能熟练地使用 vi 做任何事情,但我仍然不喜欢它,但那时我已经意识到,在这个奇异的外表下隐藏着一个非常强大的编辑器。所以我坚持使用它,最终发现一旦你知道自己在做什么,它就是一个非常快速的编辑器。
“vi”这个名字是“visual”(可视化)的缩写。当 vi 出现时,行编辑是常态,能够一次显示和编辑多行是不寻常的。Vim 是“Vi IMproved”(Vi 改进版)的缩写,最初由 Bram Moolenaar 于 1991 年发布,已成为主要的 vi 克隆版本,并不断扩展这个已经很强大的编辑器的功能。Vim 强大的正则表达式和“:”命令行语法起源于行编辑和电传打字机的世界。
Vim 拥有 40 年的历史,有时间开发出大量复杂技巧,即使是最博学的用户也无法完全掌握。以下是一些爱上 Vim 的理由
- 配色方案:你可能知道 Vim 具有彩色语法高亮显示功能。你知道你可以下载数百种配色方案吗?在这里找到一些更好的方案。
- 你永远不需要将手从键盘上移开或去够鼠标。
- Vi 或 Vim 无处不在。甚至 OpenWRT 也配备了 vi(好吧,它是 BusyBox,但它可以用)。
- Vimscript:你可能已经重新映射了一些键,但你知道 Vim 有自己的编程语言吗?你可以重写编辑器的行为,或创建特定于语言的编辑器扩展。(最近,我花时间使用 Ansible 自定义 Vim 的行为。)学习该语言的最佳入门点是 Steve Losh 撰写的精彩著作《Learn Vimscript the Hard Way》。
- Vim 有插件。使用 Vundle(我的选择)或 Pathogen 来管理你的插件,以提升 Vim 的功能。
- 用于将 git(或你选择的 VCS)集成到 Vim 中的插件可用。
- 在线社区非常庞大且活跃,如果你在网上提出关于 Vim 的问题,将会得到解答。
我对 vi 最初的憎恨具有讽刺意味,因为我已经从一个编辑器跳到另一个编辑器五年了,一直在寻找“更好的东西”。我从未像讨厌 vi 那样讨厌任何编辑器,现在我已经坚持使用它 17 年了,因为我再也无法想象有更好的编辑器了。好吧,也许可以更好一点:去试试 Neovim——它是未来。看起来 Bram Moolenaar 将把 Neovim 的大部分功能合并到 Vim 版本 8 中,这将意味着代码库减少 30%,更好的制表符补全,真正的异步,内置终端,内置鼠标支持以及完全兼容性。
在他的 多伦多 LinuxCon 演讲中,Giles 将解释在过去四十年中添加的大量扩展和改进中你可能错过的一些功能。这门课不适合初学者,所以如果你不知道为什么“hjklia:wq”很重要,那么这可能不适合你。他还将介绍一些关于 vi 历史的内容,因为了解一些历史有助于理解我们现在是如何走到这一步的。参加他的演讲,了解如何让您最喜欢的编辑器变得更好更快。
13 条评论