如果正在市场上寻找快速而危险的文本编辑器,可能已经看到了Vim和Emacs,也许,摇头放弃了。它们太老了,太难了,但又不知为何很吸引人。但该选择哪一个?它们都有各自的优点和缺点。为什么不能两者都要呢?下面hostgator美国虚拟主机为您详细介绍一下。
Vim介绍
vi编辑器,读作 “vee-eye”,其后来的迭代版本Vim更为人所知,是世界上最流行的免费文本编辑器之一。之所以说免费,是因为根本不需要下载它,它已经安装在操作系统中。
Vim是屏幕编辑器,而不是行编辑器。在以前,行编辑器只能一次编辑文件的一行。对于一些应用程序来说,这已经足够,但更复杂的文件需要更多可见的编辑空间。屏幕编辑器允许用户全屏查看整个文档(如果是长文档,则可以查看其中的一部分)。Vim也是模式编辑器,这意味着它有可以切换的不同“模式”。这就是Vim新手会很快被绊倒的地方。不能像在Microsoft Word或任何流行的文字处理软件中那样,简单地在Vim中输入文字。为了输入单词,需要切换到 “插入 ”模式。然后就可以插入文字了。一旦完成了插入文本,切换到 “命令 ”模式,开始对插入的文本执行命令。这听起来可能是繁琐而费力的过程,的确如此,但一旦习惯了,Vim可以迅速改善文本编辑工作流程。许多复杂的命令都内置在几个基本的按键中,这意味着可以在文档中移动,并以更高的速度编辑文本。
由于Vim体积小、便于携带且非常流行,所以几乎所有可能使用的操作系统都包含了Vim。这意味着如果在一台电脑上学会了Vim,就可以把这些知识带到任何地方。例如,如果 “shell ”进入hostgator Hosting VPS服务器,就可以使用Vim。同样,如果在不同地方登录到由不同主机管理的不同服务器,仍然可以使用Vim,随时接受命令。
这就引出了一个问题,为什么要选择其他不知名的模态文本编辑器?是时候看看Emacs了。
Vim Vs. Emacs
在晦涩难懂的文本编辑器领域,Emacs和Vim并不是完全的竞争对手。两者都是免费、可定制,并在用户中引发了激烈的争论。最好将Emacs和Vim视为代表两种完全不同的工作哲学——各有各的好处和缺点。
“在GNU/Linux虚拟主机世界里,有两个主要的文本编辑程序:极简主义的vi(在一些实现中被称为elvis)和极简主义的emacs。我使用的是emacs,它可以被认为是热核文字处理器。它由Richard Stallman创建,说得够多了。它是用Lisp编写,这是唯一一种漂亮的计算机语言。它是巨大的,但它只编辑直接的ASCII文本文件,也就是说,没有字体,没有粗体字,没有下划线。换句话说,在Microsoft Word的情况下,工程师的时间都花在了诸如邮件合并,以及在公司备忘录中嵌入长篇电影的功能上,而在emacs的情况下,工程师的时间却疯狂地集中在了编辑文本这个看似简单的问题上。如果是一个专业的作家——也就是说,如果有人拿钱来操心文字如何被格式化和打印出来——emacs比其他所有的编辑软件都要强,就像正午的太阳对星星一样。它不只是更大更亮,它只是让其他一切都消失了。” 尼尔-斯蒂芬森,《一开始就是命令行》(1998年)。
Vim的理念,就像经典的shell脚本理念一样,都是把小工具集合在一起完成一项工作。Emacs的做法则更加全方位,鼓励用户把所有的东西都带进Emacs,就像一把瑞士军刀,但却成倍的繁琐。经常会听到这样一句呆板的话语:“Emacs是一个伟大的操作系统,有不错的文本编辑器。”更多关于操作系统的知识,请阅读:购买虚拟主机的时候操作系统该如何选择
典型的Emacs用户是很难捕捉的群体,因为没有典型的Emacs用户。兴趣晦涩和分歧的人往往会拿起Emacs,因为它就像一块白板,几乎可以按照开放软件的理念从零开始配置它:它是通用技术,所以要让它做想让它做的事,不要有不必要的限制。开发人员使用emacs,小说家、CEO、学者、科学家和记者也在使用。
Emacs和Vim一样,是一个模态文本编辑器。而且,和Vim一样,Emacs使用简单的按键来调用复杂的功能。然而,Emacs的模式要大得多。Emacs 不仅仅是在插入模式和命令模式之间切换,它还提供了无限多样的 “主要 ”模式,这些模式可以根据正在做的工作完全改变程序。例如,如果正在为网站编码,可以进入 “web ”模式。如果正在编写C程序,可以使用 “C ”模式。几乎每一种可能想做的工作都有不同的模式,根据所处的模式,自定义键命令映射到辅助函数。因为主要模式是如此巨大,还有 “次要 ”模式来完成各种主要模式中的小功能。
这里就是让人困惑的地方。Emacs有一个主要模式叫 “邪恶 ”模式,这是Vim用户的特殊模式。