我在学校里是出了名的emacs狂人,当人们有Emacs问题的时候总是来找我。往往,人们会问我为什么还在使用Emacs?它是不是太古老了?为什么不用Eclipse或者Visual Studio呢?对程序员来说,Eclipse和Visual Studio没有奇怪的快捷键,并且有智能提示,这难道不好?
我写这篇文章就是为了说明为什么我还在使用Emacs。我并没有情绪化。我真的并没有发现其他编辑器更好,我也很想用类似Eclipse的东西来工作,但是我不能!
Emacs 有 GUI 和 CLI 界面
我常常需要连接到学校的服务器,由于Emacs可以直接的命令行终端运行,我可以在所有的主机上使用它。在我自己的电脑上,我会使用GTK的界面。而类似Eclipse的IDE是只有GUI界面的,所以不适合在服务器上工作。
Emacs的文本界面是统一的,也就是说你总是可以使用你熟悉的那些快捷键(搜索,拷贝等等)。
Emacs 可以完全键盘操作
紧接上面的论述,你可以完整的操作Emacs而不需要去碰鼠标。当你进行命令行操作的时候,这是很重要的。正如其他Emacs、Vim的使用者说的,频繁的去用鼠标会降低你的编辑速度。
还有,我曾经使用了三年的笔记本,只有触摸板,很不方便。所以我很喜欢键盘操作,而不是那个触摸板。
Emacs 拥有命令缓冲
你可以通过 M-x 组合键来启用命令缓冲。然后你就可以输入你的命令了。对于那些没有快捷键的操作,命令缓冲可以让你通过键盘去调用这些命令而不用去一级一级的菜单寻找。命令缓冲也支持自动完成,操作历史。当你需要重复一个操作的时候命令缓冲明显比重新去菜单里点一遍要快速。
Emacs 配置很容易
当你不懂如何配置Emacs才能满足你的要求的时候,你可以去#emacs IRC channel(irc.freeenode.net):
配置Emacs就是如此简单。如果你不熟悉Lisp的话,Emacs也有自定义模式可以帮助你生成Lisp代码。
由于配置文件是一个文本文件,所以可以很方便的加入版本控制。把你的配置文件放到中央服务器,然后你就可以在别的电脑上使用相同的配置了。
Emacs 可以编辑所有的文件
很少有什么文件类型是 Emacs 不能识别的。而且Emacs可以支持你能想到的和你不能想到的编程语言。我用Emacs编辑过JAVA,C,C++,Scheme,Haskell,OCaml,R,GAMS,Python,JavaScript,Clojure等等。
Eclipse很适合用来编辑Java,Visual Studio很适合用来编辑C#.但是他们反过来却不行。我并不想学习这么多不同的工具,这也是我用Emacs的主要原因。不管是什么语言,很多基本的点击操作都是一样的,使用Emacs能让我高效的工作。
Emacs 有很多有用的模式
人们常常拿Emacs自带的Tetris游戏开玩笑,为什么编辑器要带一个这样的游戏?我同意这个游戏没什么用,但是Tetris告诉我们,在Emacs的世界里,没有什么是不可能的。下面我列出了一些Emacs的一些非常有用的模式。
还有很多很多Emacs的扩展能添加其他的很多功能。
结论
Emacs并不完美,我认为有以下缺憾:
但是,总体而言我还是喜欢Emacs。也许将来Emacs会添加更多IDE的功能。我不知道现在的IDE将如何发展,我希望他们可以回头看看Emacs,并且能提供高级用户喜欢的编辑体验。
原文链接,OSChina.NET 原创编译。
评论
暂无评论
写评论