There seem to be a few camps when it comes to Emacs on OSX; Carbon versus Aqua Emacs. It seems the argument is that Aqua is a bit too far from standard Emacs and if you get too comfortable then you will have trouble using any other build of Emacs.
OSX上的Emacs似乎有几个阵营;碳与Aqua Emacs。似乎有一种观点认为Aqua与标准的Emacs相差太远,如果你觉得太舒服,那么你将无法使用任何其他版本的Emacs。
As a developer who has been trying to get into Emacs for a few months now, I have been using Carbon Emacs with the Emacs Starting Kit and things are going OK.
作为一名尝试进入Emacs几个月的开发人员,我一直在使用Carbon Emacs和Emacs Starting Kit,事情进展顺利。
But with a Cocoa build of Emacs coming with Emacs 23 (and nightly builds), will this change anything?
但随着Emacs的Cocoa构建与Emacs 23(以及每晚构建)一起出现,这会改变什么吗?
Should I consider using the nightly Cocoa builds in anticipation? I'm very curious to find out the benefits and if there will be significant changes or improvements over the two main OSX Emacs apps.
我应该考虑在预期中使用每晚的Cocoa构建吗?我非常想知道这两个主要的OSX Emacs应用程序的好处以及是否会有重大改变或改进。
As a long-time emacs user, I would recommand against "exotic" versions of emacs (aquamacs falls in this catagory, but this "starter kit" thing as well, and let me try to explain why), just for the sake of finger-training and brain-training also.
作为一个长期的emacs用户,我建议反对“异国情调”版本的emacs(aquamacs属于这个类别,但这个“入门套件”的东西也是如此,让我试着解释原因),只是为了手指 - 训练和大脑训练。
My argument is that you want to learn emacs once and for all, regardless of the platform (i.e. combination of OS/desktop/hardware/whatever) you'll be using emacs on. Almost every flavour of unix comes with a preinstalled emacs, so the hope is that you'll never have to resort to e.g. vi, even in the most hostile environments (for instance, editing a /etc config file on a remote HP/UX server via ssh). You'll still be able to use the old emacs 19 that sits there, and even if it does not have your config files (that is, your starter kit, your keybindings, and stuff), you'll still have say 70% of your usual editing powers at hand.
我的论点是,你想要一劳永逸地学习emacs,无论你将使用emacs的平台(即OS /桌面/硬件/等等的组合)。几乎每种unix都带有预装的emacs,所以希望你永远不必诉诸于vi,即使在最恶劣的环境中(例如,通过ssh编辑远程HP / UX服务器上的/ etc配置文件)。你仍然可以使用那里的旧emacs 19,即使它没有你的配置文件(也就是你的入门套件,你的键绑定和东西),你仍然会说70%的你通常的编辑能力。
And if you find yourself often forced to edit those file on that hostile machine, you will want to mirror your .emacs config on that old emacs as much as possible. Of course, you will lose along the way some stuff that is not supported there, but again, good'ol emacs will always be emacs even if a diminished one.
如果您发现自己经常被迫在该恶意机器上编辑这些文件,您将希望尽可能在旧的emacs上镜像您的.emacs配置。当然,你会失去一些不支持的东西,但同样,好的emacs将永远是emacs,即使是减少的。
Of course, if you control perfectly your working environment, e.g. if you only ever work only on your shiny mac laptop, you might want a fancier version of emacs, just because it will be easier to use Cmd-C/Cmd-V than to learn Meta-W/Ctrl-Y. And for the same reason if you develop in one language you might want to actually use a full-blown IDE with super-powers tailored for that language (e.g. Eclipse, Xcode, whatever). But you know that sometime, you will have to edit an unexpected file like a shell script, or a web page, or a Python script, or who knows what kind of text file, and this is why you want to use the omni-powerful One True Editor in the first place.
当然,如果你完全控制你的工作环境,例如如果你只在你的闪亮的Mac笔记本电脑上工作,你可能想要一个更好的emacs版本,因为它比使用Cmd-C / Cmd-V更容易学习Meta-W / Ctrl-Y。出于同样的原因,如果您使用一种语言进行开发,您可能希望实际使用具有针对该语言定制的超级功能的完整IDE(例如Eclipse,Xcode等)。但是你知道,有时你需要编辑一个意外的文件,如shell脚本,网页或Python脚本,或者谁知道什么样的文本文件,这就是为什么你要使用全能的首先是一个真正的编辑。
And this is the reason why I use Carbon Emacs on my shiny mac laptop: I get the exact same (emacs) features on the Ubuntu box I'm forced to use at work, using the exact same config files (handcrafted during my ten years of emacsery), and still I can feel quite confortable on other people's or other machines' emacsen.
这就是为什么我在我闪亮的Mac笔记本电脑上使用Carbon Emacs的原因:我在Ubuntu盒子上得到完全相同的(emacs)功能,我被迫在工作中使用完全相同的配置文件(在我十年间手工制作)对于其他人或其他机器的emacsen,我仍然可以感觉很舒服。
...my two cents
......我的两分钱
I've been building Emacs 23 from source and using it with emacs-starter-kit for a while now, and I'm definitely finding it to be a good compromise.
我一直在从源代码构建Emacs 23并将它与emacs-starter-kit一起使用一段时间了,我肯定会发现它是一个很好的折衷方案。
There's sane Mac Cmd shortcuts built into Emacs 23, and emacs-starter-kit makes it easy to customise them on a per os/machine/user basis.
在Emacs 23中内置了理智的Mac Cmd快捷方式,而emacs-starter-kit可以轻松地在每个操作系统/机器/用户的基础上进行自定义。
I'd advise against the idea that you should learn "pure emacs" without customising it too much. If you do that then you are missing the half the point of emacs. It's the most customisable editor ever, so customise it.
我建议你不要学习“纯emacs”,而不要过多地定制它。如果你这样做,那么你就错过了emacs的一半。它是有史以来最可定制的编辑器,因此需要对其进行自定义。
If you are a sysadmin or similar, and are regularly hopping onto strange machines, then fair enough, but if you want an editor that is the same on every unix ever, then vim is a much better choice (and more widely available). (This is also a good reason for learning vim even if you use emacs as your main editor).
如果你是一个系统管理员或类似的,并且经常跳到奇怪的机器上,那么公平,但如果你想要一个在每个unix上都相同的编辑器,那么vim是一个更好的选择(并且可以更广泛地使用)。 (即使您使用emacs作为主编辑,这也是学习vim的一个很好的理由)。
It is worth learning the classic emacs shortcuts before you change them though. There's usually a good reason they are the way they are. For example, if you are used to TextMate then you may be tempted to map lots of functions to complex 5 key chords of keys, but in the long run it is much easier to go with the long sequences of commands that emacs tends towards. There's much less contortion when typing. You'll even find that, with tab completion, M-x long-command-name is quicker than complex chords.
在更改它们之前,值得学习经典的emacs快捷方式。通常他们就是这样的好理由。例如,如果您习惯使用TextMate,那么您可能会想要将许多函数映射到复杂的5个键的和弦,但从长远来看,使用emacs所趋向的长序列命令会更容易。打字时扭曲的程度要小得多。您甚至会发现,通过制表符完成,M-x long-command-name比复杂的和弦更快。
Edit:
So to actually answer your question, yes you should use the nightly builds (or better, compile them yourself, it's quite easy with a single google, and makes you feel warm inside). And keep on with emacs-starter-kit. Any problems with it, feel free to give me a shout.
所以要真正回答你的问题,是的,你应该使用每晚构建(或者更好,自己编译,单个谷歌很容易,让你感到内心温暖)。继续使用emacs-starter-kit。有任何问题,请随时给我一个喊。
I'm using Carbon Emacs myself and I'm moving to Cocoa port of GNU Emacs when it's released. I think that there isn't a big difference between them. I can think of some though:
我自己使用的是Carbon Emacs,当它发布时我正在转向GNU Emacs的Cocoa端口。我认为他们之间没有太大的区别。我可以想到一些:
“Cocoa”Emacs是“真正的”GNU Emacs而不是像Carbon Emacs这样的分支,所以如果你想保持最新并使用最新版本,Cocoa版本总是可以从GNU CVS获得。
Carbon Emacs包含一些未包含在GNU Emacs中的elisp软件包。有一个清单可供选择。
Cocoa端口是版本23而Carbon是22.这可能与elisp兼容性等有关。
I would also stay away from Aquamacs. It's GUI seems too mouse oriented. yuck :)
我也会远离Aquamacs。它的GUI似乎过于面向鼠标。哎呀:)
I've been using Aqua Emacs off and on for a while over the standard Emacs. The things I liked were just slightly better system integration... it could be that an official Cocoa build of Emacs could provide enough standard system UI integration that it would make a good default choice.
我一直在使用Aqua Emacs一段时间而不是标准的Emacs。我喜欢的东西只是稍微好一点的系统集成......可能是Emacs的官方Cocoa构建可以提供足够的标准系统UI集成,它将成为一个很好的默认选择。
It may be worth trying the nightlies, if only to report back and help them stabilize things.
如果只是报告并帮助他们稳定事情,可能值得尝试夜莺。
The wierdest thing for me about Aqua emacs is the default mode for a .m file is actually Matlab (which uses the same extension) instead of Obj-C mode!
关于Aqua emacs的最奇怪的事情是.m文件的默认模式实际上是Matlab(它使用相同的扩展名)而不是Obj-C模式!
One thing I'd love to see is greater XCode awareness from an emacs build (really just enhancing things like Objc-mode I guess).
我喜欢看到的一件事是来自emacs构建的更强大的XCode感知(实际上我只是增强像Objc模式这样的东西)。
Carbon Emacs是emacs
Cocoa Emacs是emacs
X11 Emacs是emacs
emacs -nw(即:仅命令行emacs)也是emacs
即使Xemacs足够接近emacs的初学者,你也不会注意到GUI之外的区别:D
I have only used the Carbon Emacs on the mac (*), but I can not imagine there is anything in the Cocoa Emacs that is any different than any other Emacs version that can not be traced down to either a configuration or a bug!
我只使用了mac(*)上的Carbon Emacs,但是我无法想象Cocoa Emacs中有什么东西与任何其他Emacs版本不同,它们无法追溯到配置或错误!
(*) ive used the X11, command line emacs and Xemacs on linux platforms extensively though
(*)我在Linux平台上广泛使用了X11,命令行emacs和Xemacs
For the subset of emacs that I use, there's very little difference between using Aquamacs and GNU emacs on a linux box. That's general text editing, lisp interaction, buffer commands, new frames, rectangular selection areas, standard emacs editing keybindings, &c. I edit my .emacs file to customize the configuration, and so forth. (I think using the graphical configuration editor does use the Aquamacs preferences, as someone else said.)
对于我使用的emacs子集,在linux机器上使用Aquamacs和GNU emacs之间的差别很小。这是一般的文本编辑,lisp交互,缓冲命令,新框架,矩形选择区域,标准emacs编辑键绑定,&c。我编辑.emacs文件以自定义配置,依此类推。 (我认为使用图形配置编辑器会像其他人说的那样使用Aquamacs首选项。)
I do think the trend in recent updates has been to move away from traditional emacs style and into something more "Mac-like", it's true, and I find myself turning these options off. But, you can bend it to your will and make it more traditional.
我认为最近更新的趋势是从传统的emacs风格转移到更像“Mac-like”的东西,这是真的,我发现自己关闭了这些选项。但是,你可以根据自己的意愿弯曲它,使它更传统。