嗨,我主要做C++和Objective-C编程。我发现Xcode加上一个自动完成/宏插件(Completion Dictionary)已经很好用了。
然而,所有人似乎都对纯文本编辑器赞不绝口。我试过一段时间的Textmate;喜欢它的简单性但是不喜欢它的文件/框架处理。
我错过了什么吗?或者说,Vim或Emacs有像Xcode一样好的自动完成功能吗?
嗨,我主要做C++和Objective-C编程。我发现Xcode加上一个自动完成/宏插件(Completion Dictionary)已经很好用了。
然而,所有人似乎都对纯文本编辑器赞不绝口。我试过一段时间的Textmate;喜欢它的简单性但是不喜欢它的文件/框架处理。
我错过了什么吗?或者说,Vim或Emacs有像Xcode一样好的自动完成功能吗?
坐下来听我说一下。
在Xcode出现之前,就有VIM和Emacs了。虽然难以想象,但这是真的。
很多人习惯了VIM/Emacs,因此继续使用它们。
Emacs非常可定制化,几乎提供你能想到的所有功能(包括内置收缩和汉诺塔)。你可以轻松地从Emacs中调用编译器,并根据需要创建自己的扩展。
VIM具有令人难以置信的正则表达式引擎(Emacs也有),如果没有箭头键,它非常方便,因为(VI)几乎在每个Unix操作系统中都有,并且能够完美工作。人们非常善于使用按键在文档中移动,而不必使用鼠标。
Emacs也是如此,但对我来说,我觉得VIM的光标移动更容易。
文本编辑器之争像Mac vs PC之争一样充满了宗教狂热,答案是选择最适合你的。如果你喜欢Xcode,那很好,请继续使用它,但如果你被迫在PC或Linux机上工作,祝你好运。就个人而言,我用Emacs来编码,VIM来操作文本,用Firefox浏览lolcats。
我真的不明白为什么人们谈论文本编辑器时会提到emacs。根据我的经验,它更像是eclipse(或其他一些平台/IDE),因为它是一个环境,并且擅长文本编辑。
作为一个IDE,emacs提供版本控制、实时编译、拼写检查、自动完成、调试、代码浏览等功能,适用于各种SDK。对于您计算机的其余需求,它可以充当电子邮件/新闻/网络/irc/twitter/xmmp客户端,日历、组织者、计算器、终端模拟器、远程编辑、电子表格、游戏等等。
在Dijkstra之后,“emacs与文本编辑无关,就像天文学与望远镜无关”。
你所忽略的是Emacs和Vim实际上是集成开发环境(IDE)。
vim
的语法检查插件和依赖于语言的分页自动完成插件。因此,我认为 vim
是一个集成开发环境的想法有很有力的论据。 - Luke Davisvi在UNIX系统上随处可见,而Emacs也几乎如此。据我所知,Xcode只适用于一种平台。
拥有一个强大的集成开发环境是一件好事,但每个人都应该具备一些技能,在任何可能被投入的平台上保持其功能性。
这完全取决于你的偏好。
有些人喜欢使用轻量级文本编辑器,比如(g)vim、emacs、pico等。
而其他人则喜欢使用像MS Visual Studio、Eclipse、Xcode这样的IDE。
只要你的环境兼容于所选的文本编辑技术,就随便你用哪个。
顺便说一下,我喜欢用Eclipse和vim,因为它们是我学习编程时候用的 ;)
代码补全只是让编程写作变得更加容易的众多工具之一。Emacs/Vim可以处理所有这些工具(本地或通过扩展)。
对我来说,最重要的两个功能是:
Emacs键绑定,因为我的手指习惯于这种方式。
开源,因为它提供了自由。被绑定在一个平台上是可憎的。
现在我主要使用Eclipse进行编程(设置为Emacs键绑定),并使用FSF Emacs阅读邮件和偶尔使用LaTeX。
Emacs非常强大。我使用vimpluse.el插件,这样我就可以在所有Emacs功能中使用vim的按键绑定。