当我开始使用 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(用困难的方式学习 Vimscript)。
- Vim 有插件。 使用 Vundle(我的选择)或 Pathogen 来管理你的插件,以提高 Vim 的能力。
- 用于将 git(或你选择的 VCS)集成到 Vim 中的插件可用。
- 在线社区非常庞大且活跃,如果你在网上提出关于 Vim 的问题,它将被解答。
我对 vi 最初的厌恶的讽刺之处在于,我五年来一直在编辑器之间跳来跳去,总是寻找“更好的东西”。 我从来没有像讨厌 vi 那样讨厌任何编辑器,而现在我已经坚持使用了 17 年,因为我无法再想象一个更好的编辑器。 好吧,也许稍微好一点:去试试 Neovim——它是未来。 看起来 Bram Moolenaar 将把 Neovim 的大部分内容合并到 Vim 8 版本中,这意味着代码库将减少 30%,更好的选项卡补全,真正的异步,内置终端,内置鼠标支持和完全兼容性。
在他的 LinuxCon 演讲 在多伦多,Giles 将解释你可能错过的在过去四十年中添加的扩展和改进中的一些功能。 这个课程不适合初学者,所以如果你不知道为什么 “hjklia:wq” 很重要,那么这可能不适合你。他还会介绍一些关于 vi 的历史,因为了解一些历史有助于理解我们现在所处的位置。 参加他的演讲,了解如何让您最喜欢的编辑器变得更好更快。
13 条评论