爱上 Vim 的 7 个理由

3 位读者喜欢这篇文章。
open source work experience

Opensource.com

当我开始使用 vi 文本编辑器时,我讨厌它。我认为它是设计过的最痛苦和最反直觉的编辑器。但我决定必须学会它,因为如果你使用 Unix,vi 无处不在,并且是你保证可以访问的唯一编辑器。那是 1998 年,但今天仍然如此——vi 在几乎每个现有的 Linux 发行版上都可用,通常作为基本安装的一部分。

大约一个月后,我才能熟练地使用 vi 做任何事情,但我仍然不喜欢它,但那时我已经意识到,在这个奇异的外表下隐藏着一个非常强大的编辑器。所以我坚持使用它,最终发现一旦你知道自己在做什么,它就是一个非常快速的编辑器。

“vi”这个名字是“visual”(可视化)的缩写。当 vi 出现时,行编辑是常态,能够一次显示和编辑多行是不寻常的。Vim 是“Vi IMproved”(Vi 改进版)的缩写,最初由 Bram Moolenaar 于 1991 年发布,已成为主要的 vi 克隆版本,并不断扩展这个已经很强大的编辑器的功能。Vim 强大的正则表达式和“:”命令行语法起源于行编辑和电传打字机的世界。

Vim 拥有 40 年的历史,有时间开发出大量复杂技巧,即使是最博学的用户也无法完全掌握。以下是一些爱上 Vim 的理由

  1. 配色方案:你可能知道 Vim 具有彩色语法高亮显示功能。你知道你可以下载数百种配色方案吗?在这里找到一些更好的方案
  2. 你永远不需要将手从键盘上移开或去够鼠标。
  3. Vi 或 Vim 无处不在。甚至 OpenWRT 也配备了 vi(好吧,它是 BusyBox,但它可以用)。
  4. Vimscript:你可能已经重新映射了一些键,但你知道 Vim 有自己的编程语言吗?你可以重写编辑器的行为,或创建特定于语言的编辑器扩展。(最近,我花时间使用 Ansible 自定义 Vim 的行为。)学习该语言的最佳入门点是 Steve Losh 撰写的精彩著作《Learn Vimscript the Hard Way》
  5. Vim 有插件。使用 Vundle(我的选择)或 Pathogen 来管理你的插件,以提升 Vim 的功能。
  6. 用于将 git(或你选择的 VCS)集成到 Vim 中的插件可用。
  7. 在线社区非常庞大且活跃,如果你在网上提出关于 Vim 的问题,将会得到解答。

我对 vi 最初的憎恨具有讽刺意味,因为我已经从一个编辑器跳到另一个编辑器五年了,一直在寻找“更好的东西”。我从未像讨厌 vi 那样讨厌任何编辑器,现在我已经坚持使用它 17 年了,因为我再也无法想象有更好的编辑器了。好吧,也许可以更好一点:去试试 Neovim——它是未来。看起来 Bram Moolenaar 将把 Neovim 的大部分功能合并到 Vim 版本 8 中,这将意味着代码库减少 30%,更好的制表符补全,真正的异步,内置终端,内置鼠标支持以及完全兼容性。

在他的 多伦多 LinuxCon 演讲中,Giles 将解释在过去四十年中添加的大量扩展和改进中你可能错过的一些功能。这门课不适合初学者,所以如果你不知道为什么“hjklia:wq”很重要,那么这可能不适合你。他还将介绍一些关于 vi 历史的内容,因为了解一些历史有助于理解我们现在是如何走到这一步的。参加他的演讲,了解如何让您最喜欢的编辑器变得更好更快。

User profile image.
我是一名图书管理员、电脑极客、摄影师、无宗教信仰的佛教徒,以及来自多伦多的前工程师。我拥有机械工程(多伦多)学位和图书馆学(麦吉尔)学位。我用业余时间编写 Python、HTML、Bash 脚本,以及我现在正在学习的任何语言,使用 Linux 和看电影。我使用 (Neo)Vim 编辑所有内容。

13 条评论

你知道你会从 emacs 用户那里得到反对意见!已经有很多文章发布了,但我只展示一篇。http://www.techrepublic.com/article/why-i-love-emacs/

除了 emacs 比 vi/vim 功能强大得多之外,奇怪的两种模式,命令模式和编辑模式,也早已过时。emacs 绝非完美,但它是我或任何人在基于文本的程序员编辑器中所需要的一切。

GNU Emacs 20.x 分支于 1997 年发布,但到那时,“传统”的 vi 实际上已经退出舞台,完全分支并移植到 nvi 和所有其他变体中。我可以说 OS X 比 Windows 3.11 更好,但这也不是合理的比较。

回复 作者 Scotsgeek (未验证)

还有 Cream http://cream.sourceforge.net/download.html

Cream 是一个插件,可以让 gvim 像现代编辑器一样运行。使用 Cream,你可以使用鼠标和常用快捷键(Ctrl+C 用于复制,...),而不是记住它的击键。 :)

实际上,我相信 vi 代表“visual interface”(可视化界面),它是附加到 ex 行编辑器的。

历史解释了为什么 vi 有两种模式:数据输入和编辑,但这并没有使我更容易接受它们,事实上,每当我不得不使用 vi 时,它都会让我非常恼火。

我是 emacs 阵营的,顺便说一句,但如果我想要更小巧、更灵敏的东西,我会选择 joe 或 nano。

Emacs 不是糟糕的操作系统,它只是缺少一个像样的文本编辑器...

好的评论,Shawn:我在我的演讲幻灯片中使用了那张 xkcd 漫画,我向 Windows 用户推荐 Cream(不太适合 Linux 用户)。

我非常相信“使用适合你的东西”。我喜欢 Vim,但如果 Emacs 适合你 - 那就更好了。我不认为那种垂死的竞争有什么意义:它们都是优秀的编辑器。事实上,Github 的 Atom 也是一个很棒的编辑器,你应该尝试几个编辑器,以确保你找到了最适合你的编辑器。

我总是安装 nano 用于行文本编辑,vi 太复杂了。

在 2000 年代初期,我住在一个使用三种编辑器的房子里。Windows 用 TextPad,Mac 用 BBEdit,Linux/BSD 用 Vim。有一天我醒来,决定编辑器太多了,因为 Vim 可以在所有三个平台上运行,所以我决定放弃其他两个,只学习 Vim。在那之前我已经使用 Vim 大约三年了,但只是在最一般的意义上。我买了 Steve Oualline 的 Vim 书,从头到尾读了一遍,并真正开始工作并练习我的 Vim。快进到现在,我向我的团队成员教授 Vim,帮助他们发现这个出色编辑器的强大功能和简洁性。

我开始“喜欢” Vim 主要归功于彩色语法高亮显示。
有人知道如何让 More 或 Less 程序进行彩色语法高亮显示吗?

我不知道如何在 less 或 more 中进行语法高亮显示。但是你可以使用 (n)vim 来做到这一点:'nvim -M -R filename'。这将为你提供与 vim 中相同的语法高亮显示,但这些标志会关闭编辑能力。过去,该命令别名为“view”,但它似乎不再在大多数 Linux 发行版上可用。你可以自己设置它,只需将“alias view="nvim -MR "”添加到你的 ~/.bashrc。

vim-plug 是优于 Vundle 的选择,并且以相同的方式工作,只是更好。

一篇很棒的文章。我最早在 1984 年在我们第一台 Unix 机器上开始使用 vi,这家公司名为 Convergent Technologies。我记得诅咒了它很长一段时间,但有一天我的手指学会了我需要的所有命令,在过去的 30 年左右的时间里,它一直是我的首选;自 2005 年以来一直是 vim。

我认为关于 vi(m) 和 emacs 有趣的事情是,一旦一个人达到不需要考虑如何做事的水平,并且可以专注于他们正在做的事情,那么使用另一个编辑器,特别是强迫用户摆弄鼠标的编辑器,就会变得痛苦。

我没看到有人在上面提到它,但是 Netbeans IDE 有一个类似 vi 的插件,它主要在代码编写窗口中为你提供 vi。

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