爱上 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(用困难的方式学习 Vimscript)
  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 代表“可视化界面”,它被螺栓固定在 ex 行编辑器上。

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

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

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

好的呼吁,Shawn:我在我的演讲幻灯片中使用那个 xkcd 漫画,我向 Windows 用户推荐 Cream(对 Linux 用户来说不是那么多)。

我坚信“使用适合你的东西”。 我喜欢 Vim,但如果 Emacs 适合你 - 更强大的是你。 我不太喜欢这种垂死的竞争:它们都是很好的编辑器。 事实上,Github 的 Atom 也是一个出色的编辑器,你应该尝试几个编辑器以确保你找到了最适合你的编辑器。

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

在 21 世纪初,我住在一个三个编辑器的房子里。 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的功能。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.