热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Carbonvs.Aquavs.CocoaEmacs构建-Carbonvs.Aquavs.CocoaEmacsbuilds

ThereseemtobeafewcampswhenitcomestoEmacsonOSX;CarbonversusAquaEmacs.Itseemsthea

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应用程序的好处以及是否会有重大改变或改进。

6 个解决方案

#1


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

......我的两分钱

#2


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。有任何问题,请随时给我一个喊。

#3


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 is "real" GNU Emacs instead of a fork like Carbon Emacs, so if you want to stay up to date and use the latest version, Cocoa version is always available from GNU CVS.
  • “Cocoa”Emacs是“真正的”GNU Emacs而不是像Carbon Emacs这样的分支,所以如果你想保持最新并使用最新版本,Cocoa版本总是可以从GNU CVS获得。

  • Carbon Emacs includes some elisp packages that are not included in GNU Emacs. There's a list available.
  • Carbon Emacs包含一些未包含在GNU Emacs中的elisp软件包。有一个清单可供选择。

  • Cocoa port is version 23 while Carbon is 22. There might be some issues with this regarding elisp compatibility etc.
  • Cocoa端口是版本23而Carbon是22.这可能与elisp兼容性等有关。

I would also stay away from Aquamacs. It's GUI seems too mouse oriented. yuck :)

我也会远离Aquamacs。它的GUI似乎过于面向鼠标。哎呀:)

#4


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模式这样的东西)。

#5


  • Carbon Emacs is emacs
  • Carbon Emacs是emacs

  • Cocoa Emacs is emacs
  • Cocoa Emacs是emacs

  • X11 Emacs is emacs
  • X11 Emacs是emacs

  • emacs -nw (ie: command line only emacs) is also emacs
  • emacs -nw(即:仅命令行emacs)也是emacs

  • Even Xemacs is close enough to emacs for a beginner that you wouldn't notice the difference beyond the GUI :D
  • 即使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

#6


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”的东西,这是真的,我发现自己关闭了这些选项。但是,你可以根据自己的意愿弯曲它,使它更传统。


推荐阅读
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了brain的意思、读音、翻译、用法、发音、词组、同反义词等内容,以及脑新东方在线英语词典的相关信息。还包括了brain的词汇搭配、形容词和名词的用法,以及与brain相关的短语和词组。此外,还介绍了与brain相关的医学术语和智囊团等相关内容。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • 本文介绍了贝叶斯垃圾邮件分类的机器学习代码,代码来源于https://www.cnblogs.com/huangyc/p/10327209.html,并对代码进行了简介。朴素贝叶斯分类器训练函数包括求p(Ci)和基于词汇表的p(w|Ci)。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
author-avatar
thofarq
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有