Sublime文字和Github的Atom有什么区别[关闭]


334

Github发布了Atom,它与Sublime非常相似。甚至某些键盘快捷键(例如⌘ + P⌘ + Shift + P都是相同的。

  1. Atom与Sublime有何不同?
  2. 它是否包括IDE功能,例如构建工具,功能定义跳转,文档等?
  3. 是否有任何使用Sublime的人收到Beta版邀请函以指出差异?
  4. 我可以按原样使用Sublime的主题,方案和包吗,就像Sublime可以处理text mate一样

原子壳1个

PS:在新选项卡中打开图像以获得更大的分辨率。


3
放置一个适当的主题,您可以使很多编辑器看起来(有时感觉也一样)相同。除此之外,他们是不同的编辑。尝试两者,并坚持使用您喜欢的一种。
2014年

17
FWIW,我整个周末都在使用Atom,尽管我喜欢它,但与SublimeText3相比并没有任何真正的优势。真的没有什么不好的,我只是没有任何吸引人的理由来切换编辑器。也许一旦我再使用它,我就会改变看法。
carl_h 2014年

26
我猜git / github集成将是切换的第一原因。他们如何大胆地剥夺Sublime Text的威力?他们支付了Sublime还是与他们合作?
jellohead 2014年

4
它是完整的Sublime Text克隆。他们应该在Python中完成此操作,这样它在键入和滚动时就不会那么迟钝。THEN混合了CEF,可实现嵌入式浏览器的所有优势,并允许通过JavaScript / CoffeeScript进行相同的加载。我喜欢Atom.io,因为我喜欢Sublime Text。最终,我将停止使用Atom.io,因为由于语言选择,我会觉得无法解决的性能使我很烦恼。看看Google的Spark吧……
汤姆

40
差异?Atom成为开源。所以,要开心!
尼卡比曹

Answers:


127
  1. Atom与Sublime有何不同?
    • Atom是基于JavaScript / HTML / CSS的开源文本编辑器/ IDE。
    • Sublime Text是基于C / C ++和Python构建的商业产品。
    • 与Atom相比,Adobe Brackets是另一种基于JavaScript / HTML / CSS的开源文本编辑器/ IDE。请注意,这使Brackets更加面向Web开发,尤其是在前端。
    • 开源项目的优势是更快的开发速度,当然还有价格。
  2. 它是否包括IDE功能,例如构建工具,功能定义跳转,文档等?
    • 简短的答案是,是,是。该应用程序是完全模块化的。开源将使人们能够自由填补其中一些功能的空白。
  3. 是否有任何使用Sublime的人收到Beta版邀请函以指出差异?
    • Atom的优点是入门级可入侵性,因为它是基于为网站提供支持的相同代码构建的。
    • Sublime Text的优点是性能,因为它不需要在Node.js之上运行,并且它是一种更成熟的产品,即将达到稳定的版本3。
    • 注释中可以包含一长串细微的差异(我希望这个降价能够画出一张表格进行比较,但这是另一个问题)。
    • 由于Atom的快速投票,我担心这里列出的一些差异会随着时间的推移而过时。例如,在撰写本文时,Atom仅在Macintosh上可用,而Sublime Text已经是多平台的。
  4. 我可以按原样使用Sublime的主题,方案和包吗,就像Sublime可以处理文本配合一样。
    • 简短的答案是没有,但是由于Atom的可入侵性,可以很容易地将软件包从其他编辑器重新安装到Atom。

我在Sublime Text上看到了很多Python文件
atilkan,2015年

7
@emrah是的。Sublime Text用C ++和Python编写。(甚至谷歌知道):P
pradyunsg

“ Atom仅在Macintosh上可用” ...并非如此。您可以在atom网站
mickro,2015年

4
对于一年多以前发布的答案,也许“在撰写本文时”应该暗示了版本示例肯定已经过时了。
harrypujols

还值得注意的是,node.js并不是特别慢,尤其是在编写以利用V8的优化策略时。
trognanders

167

除了先前答案中的要点之外,还应从开发过程中做出选择的角度来阐明这两种产品之间的差异。

Sublime是针对该平台进行的二进制编译。它的核心是用C / C ++编写的,其许多功能是用Python实现的,Python也是扩展它的语言。Atom用Node.js / Coffeescript编写,并在webkit下运行,其中Coffeescript是扩展语言。尽管Sublime在UI和UX中相似,但是在“繁重的工作”中(例如处理大型文件,复杂的SnR或对文件/缓冲区进行大量处理的插件),其性能要明显优于Atom。尽管我期望随着Atom的成熟,它会有所改进,但设计和平台选择会限制性能。

Sublime的“关闭”部分包括API和UI。除了皮肤/主题和着色器之外,API当前使修改UI的其他方面变得困难。例如,Sublime插件不能与侧边栏交互,控制或在编辑区域上绘制(除非以某些有限的方式,例如在装订线中)或在基本文本之外操作状态栏。目前尚不了解Atom的“封闭”部分,但我觉得它更小。Atom具有更丰富的API(尽管目前文献不多),其设计目标是允许对其UI进行更好的控制。与Webkit紧密结合可提供许多功能,以增强UI功能,这是Sublime目前无法实现的。但是,Sublime的扩展性能更接近本机,因此在Sublime中可行的是在大型缓冲区中执行计算密集型,高度重复性或复杂文本操作的扩展。

由于将开放更多的Atom,因此 Github将于5月6日开源Atom。结果,发展的支持和步伐可能会很快。相比之下,Sublime的发展近来已显着放缓- 但还没有死。特别是,存在许多错误,许多错误很小,开发人员尚未修复。没有哪个软件能在imo上脱颖而出,但是如果您希望通过定期的错误修复和增强来快速开发某些产品,Sublime将会感到沮丧。也就是说,根据Github的统计,在发布之前和之后的几周内,适用于Windows和Linux的可安装Atom软件包尚未发布,并且代码库上的活动似乎已经冷却。

在IDE功能方面,从Webdev的角度来看,Atom将允许扩展到接近Webstorm之类的产品的地步,尽管还没有出现。由于编辑器本来就很呆滞,因此Atom在如此“繁重”的扩展上的表现还有待观察。由于API的限制和缺乏底层Webkit的限制,Sublime将不允许这种级别的UI自定义,尽管开发人员将来可能会扩展API以支持此类功能。同样,Sublime的基本性能允许涉及计算的咕unt声。ST3的符号索引就是一个很好的例子,即使在大型项目中也是如此。尽管Atom的UI肯定是基于Sublime的,但仍缺少一些改进,例如Sublime'

我认为这些产品是互补的。它们共享相似的视觉效果和击键的事实增加了事实。在某些情况下,使用两者中的任何一个都有优势。目前,Sublime是一种成熟的产品,在所有三个平台上均具有功能奇偶性,并且具有丰富的插件集。Atom是新手,其功能将迅速发展。感觉还没有做好生产准备,并且在性能方面存在一些顾虑。

[更新/编辑:2015年5月18日]

自撰写本文以来,关于这两个编辑器的改进的注释。

除了错误修复和对其核心的改进以外,Atom还经历了第三方扩展的快速增长,其中自动完成功能已成为标准Atom发行版的一部分。扩展质量变化很大,特别令人讨厌的是不稳定的第三方程序包可能使编辑器崩溃的频率。在过去的一年中,出于性能方面的考虑,Atom已通过将重排/重画活动转移到GPU来使用React,从而显着提高了UI对典型编辑动作(滚动,光标移动等)的响应能力。尽管这显着改善了编辑器的感觉,但对于如上所述的CPU密集型任务仍然感到麻烦,并且启动速度仍然很慢。除了性能提高之外,Atom整体感觉更加稳定。

自2015年1月起,Sublime的开发又重新开始,它包含错误修复,一些次要新功能(工具提示API,构建系统改进)以及以基于yaml的新的.sublime-syntax定义(最终取代旧版本)的形式进行的重大开发xml .tmLanguage)。新系统与替代Onigurama的自定义正则表达式引擎一起,为精确的正则表达式匹配提供了更大的潜力,速度更快(最高4倍),并且可以并行执行多个匹配。除了着色语法外,Sublime还将这些组件用于符号索引(goto定义等)和其他语言感知功能。除了进一步加快Sublime(尤其是大文件)的速度外,此功能还应为诸如代码重构等高性能语言特定功能开辟潜力。有望实现“更大的发展”,


2
我觉得这个答案有点过时了,因为原子现在是完全开源的。
JorgeArtware 2014年

6
@JorgeArtware,我认为Atom的开源公告不会消除上面提供的任何信息,但显而易见。但是,我已经修复了帖子以反映事实,并添加了一些额外信息以使事情更新。
sebt

1
甚至在事实之前,我就对您的好答案投了赞成票,我只是指出您需要进行一些更新,所以这很酷。
JorgeArtware 2014年

2
“尚未发布适用于Windows和Linux的可安装Atom软件包”->我刚刚下载了Windows安装程序,这再简单不过了。即使没有管理员权限也能很好地工作。
gdelfino'1

129

Atom是使用Node.js,CoffeeScript和LESS编写的。然后将其包装在WebKit包装中,该包装最初仅可用于OSX,尽管现在也有Windows版本。(Linux版本必须从源代码构建,但是针对Ubuntu用户有一个PPA。)

Sublime Text复制了许多体系结构和功能,因为它们已经过尝试和测试。插件系统的工作原理几乎相同,但是通过公开新的API也带来了许多新功能和潜力。

我相信,由于肌肉记忆力的原因,快捷方式几乎保持不变–人们会记住它们,并能够通过Atom立即单击。

可以通过GUI而不是直接编辑JSON来控制首选项,这可以降低入门人员开始使用Atom的障碍。我个人很难浏览所有内容,因为“偏好设置”中没有搜索功能。

您可以在## atom-invites IRC频道上注册邀请,或注册到其网站并添加您的电子邮件。第一轮邀请很快到来。


18
太棒了 因此,Adobe Brackets在着火之前会先闻到灰尘。在Adobe工作期间,我非常热衷于一个并行团队在Brackets上工作-也是基于WebKit包装器(CEF)构建的
Om Shankar 2014年

另外,你收到邀请了吗?我还对软件包添加了一点。我不想放弃现有的Sublime软件包,但想测试Atom
Om Shankar 2014年

1
抱歉,我刚刚再次登录SO。在发送邮件的前5分钟内,我收到了邀请:)是的,我忘了提及可以将主题和方案从TextMate样式转换为Atom的情况。如果我的回答对您有所帮助,您介意单击大勾号吗?
詹姆斯

1
@ConnorLeech还不是很害怕。
詹姆斯

2
@ConnorLeech Ubuntu现在有一个PPA
Matthew Daly

56

Atom 是开源的(到目前为止已经有几个小时了),而Sublime Text则不是。


22

这是两者之间的一些区别:






*尽管APM是一个单独的工具,但它是与Atom捆绑并自动安装的


自发布以来,Atom已通过.exe添加了Window的完整支持
Unome 2014年

12

Atom是由Github创建的,它包含“ git意识”。这是我非常喜欢的功能:

在此处输入图片说明

它还突出显示了git树中的文件,这些文件根据提交状态以不同的颜色进行了更改:

在此处输入图片说明


2
git树高亮显示是Atom中我的制胜法宝之一,看到未提交或添加的代码对我来说非常有价值
Unome

11

我今天才收到Beta版邀请,并立即尝试了Atom。GUI就像Sublime,是的,Sublime采用了一些快捷方式。

除了上面提到的所有内容之外,到目前为止我还注意到了一些区别:

  1. Vim模式不如Sublime上的Vintage模式(后者也不是功能齐全的vim),因为vim软件包处于开发的早期阶段。有关详细信息,请参见https://atom.io/packages/vim-mode

  2. 如James所述,Atom是使用Web工具编写的,因此您可以访问文本编辑器的样式表(styles.less),以使用CSS进行外观更改。还有一个选项可以更改启动CoffeeScript。

  3. 同样,由于Atom仍处于测试阶段,因此Sublime具有更多的本机插件包。但是,由于Atom是用Node.js编写的,因此Atom官方网站表示您可以“从Node的软件包存储库中的5万多个中进行选择”。(因为我不是Node.js专业人士,所以我没有研究此功能)

  4. Atom开箱即用,具有更好的Github支持,但是Sublime有几个Git软件包。

  5. Sublime是付费应用程序的无限评估期。Atom在Beta阶段是免费的,但我们不知道Github是否要收费。

因此,最重要的是Atom是处于测试阶段使用Web技术构建的文本编辑器。相比之下,Sublime经历了许多不同的迭代。Atom仍然缺少许多Sublime支持的软件包,所以问题是Atom会赶上Sublime还是变得更好?Github似乎对这种文本编辑的未来充满信心,因为它具有流行的底层技术,从长远来看,Atom可能会成为Sublime的一个很好的选择。


1
尽管我同意其他所有内容,但我不会说它具有更好的GitHub支持,因为它甚至无法从编辑器内部提交或暂存文件(除非我遗漏了一些东西)。我想说这是来自GitHub本身的产品的基本功能?
2014年

据我所知,@ James在打开文件的右下角,会告诉您当前的git分支,并且似乎有本机Git Diff支持。但是您说对了,它没有基本的commit / push / pull功能。在这一部分上,我应该更加清楚。
Keeeeeenw 2014年

@James为什么首先要从编辑器进行提交?
Thomas McCabe 2014年

1
@Keeeeeenw他们已经说过,他们计划为此收费,就像崇高一样。已经有一个模仿ST许可证提醒的Atom包;)
Thomas McCabe 2014年

3
@ThomasMcCabe为什么不呢?您看过SublimeGit吗?它极大地改善了我的工作流程。
2014年

10

另一个区别是Sublime文本是一个封闭的源项目,而Atom源代码是/将是公开可用的-尽管Github不打算将其作为真正的开源项目发布。他们希望提供对代码的访问权,而不必向贡献者开放。

Github公开了该代码:http//blog.atom.io/2014/05/06/atom-is-now-open-source.html


9
这是Github的Tom Preston-Werner的一句话:“ Atom不会是封闭源,但也不会是开放源。它将介于两者之间,这使我们很容易为Atom收费,同时仍是源提供了限制性许可,因此您可以查看所有工作原理。我们尚未确定最终的工作方式。我们将为正式发布做好准备。来源:discuss.atom.io/users/mojombo/activity
帕斯卡乐Merrer

1
啊,谢谢。因此,听起来他们将打开软件包和接口,但保持内核关闭。
ellothth 2014年

1
@PascalLeMerrer,这使Atom与Sublime的当前阶段更加相似。
Om Shankar 2014年

4
@PascalLeMerrer我认为声明是在决定根据MIT许可制作Atom OSS之前做出的(这不是最初的计划
jameh 2014年

1
@Jameh,你是对的。Github改变了最初的计划。我的回答与他们最初的陈述有关。
Pascal Le Merrer 2014年

5

Atom仍处于测试版(我在撰写本文时为v0.123),但它发展很快。比Sublime更快。新版本每周发布一次,有时在同一周甚至很少发布。在其短暂的生命周期内,它的发布数量超过了Sublime,而Sublime则需要数月才能发布新功能或错误修复。这是对更新的回顾,回顾了自测试版推出以来Atom所走的道路:

  1. Sublime比Atom具有更好的性能。仅仅是因为它是用C ++编写的。另一方面,Atom是基于Chromium构建的基于Web的桌面应用程序,尽管它们将性能贴近现实,但要达到相同的速度和响应性确实非常困难,甚至不可能。去年7月,Atom开始使用React,它极大地提高了性能,但您仍然可以感受到与众不同。除此之外,如果Atom的性能问题不会将用户赶走-Sublime更好地加快了发布周期,请对其小型UX调整进行梳理,并考虑让更多的贡献者加入,因为这是Atom的制胜法宝。

  2. Atom的软件包生态系统也正在快速增长,目前可能不像Sublime那样大,但是我感觉到有了GitHub,它会继续保持更快的增长。它可能具有您可以想到的大多数类似IDE的插件。现在的主要区别是它不能处理大于2MB的文件,因此需要牢记。

  3. 您首先注意到的一件事是Sublime微型地图不见了!除此之外,第一印象是Atom看起来与Sublime几乎相同。我在此博客文章中对此进行了更深入的比较。

  4. 据我所知,没有简单易行的方式来移植您的Sublime配置,软件包等。


2
您可以通过安装以下软件包在Atom中获得迷你
nwinkler 2014年


2

一个主要区别是对“印度字体”(又名南亚文字)(包括东南亚语言,如高棉语,老挝语,缅甸语和泰语)的支持。此外,对东亚语言(中文,日语,韩语)的支持也要好得多。这些是已经存在多年的已知错误(实际上是评分最高的错误)(认为东亚语言支持曾经可以更好地工作,但现在变得难以使用):


2
您说它们“不同”,而说“有更好的选择……”,但您没有说Sublime或Atom哪个更好。Sublime链接是否暗示您正在推广Sublime?还是它们链接到Sublime中未修复的错误,以证明它需要赶上Atom?
hippietrail 2014年

2
Sublime对亚洲语言的支持非常差。他们无法正确渲染南亚/东南亚文字,并且在东亚语言上做得很差。这些链接是缺乏支持的证据。由于这些功能,我无法使用Sublime,但是由于更好的语言支持,我能够使用Atom。
jeffmcneill 2014年

嗯,这对我也很重要。您应该将评论中的信息添加到实际答案中。我一直在尝试Brackets,到目前为止,与Lao和Thai的合作一直很顺利。
hippietrail 2014年

2

我在一点极端的环境中工作;通过ssh(aka.sshfs)编辑安装在我的笔记本电脑上的远程文件系统(肯定是外部网络)上的文件。不管我为什么要这样做,尽管响应速度很麻烦,但是当我使用Sublime Text 2时,它还是可以食用的。

阅读这篇文章后,我尝试使用Atom,但结果令我有些痛苦。Atom似乎不能高效地缓存目录结构。每次我在Tree View上展开文件夹时,UI都会冻结2到3秒钟,这可能会获取文件系统信息。是的,这是因为我正在使用远程文件系统。但是Sublime可以更有效地处理该问题,至少每次我扩展一个文件夹时它都不会冻结,因此痛苦不那么大。

我认为Atom是免费的地狱,我的故事很琐碎,有一天可能会得到改进,但这对现在的某个人会有所帮助。

-

添加于8/26/2014

最近,我将笔记本电脑从Macbook Air 2010推迟到Macbook Pro 13“ 2013推迟。它的CPU速度可能提高了4倍,并且性能得到了很大提高。我想提一下我的看法是关于远程安装文件系统的。 (使用OS X Mavericks,最新版本的Atom,FUSE 2.7.3 / OSXFUSE 2.6.4 / sshfs 2.5.0,而远程系统是Ubuntu服务器)最终,UI冻结变得更短了,但仍然存在。要打开一个包含许多文件夹/文件的文件夹并对其进行索引需要一定的时间,而且,如果您将一个充满文件的文件夹展开,它只会变得缓慢(折叠该文件夹时,它不会)

根据@EliDuenisch,这似乎在Linux Mint上没有发生。我不确定,但这可能是由于操作系统之间的差异。当然,如果您在本地文件系统上工作,则完全不必关心此问题。


2
嗨,添加到该线程可能有点晚,但是我想分享我在这样的“极端环境”(通过ssh)中编辑代码的经验。Sublime 2和3很糟糕,因为它们在尝试保存文本时往往会冻结数秒。我的互联网连接速度非常快,所以这不是原因。因为这种情况经常发生,所以我退出使用Sublime。到目前为止,Atom在这种意义上似乎还可以正常工作,没有任何冻结。
Eli Duenisch 2014年

@EliDuenisch有趣。您可以共享您的环境信息的详细信息吗?(如我所写),我已经使用OS X Mountain Lion和FUSE 2.7.3 / OSXFUSE 2.6.4 / sshfs 2.5.0和Sublime 2进行了测试。在阅读您的评论时,我认为是时候该重新测试Atom了: )
Kenial 2014年

不幸的是,我不记得当时使用的Atom版本。
Kenial

我正在使用Linux Mint,远程计算机是Ubuntu Linux服务器。通过SSH隧道建立连接。保存过程中存在一些滞后,有些过长,无法仅通过数据传输来解释。使用标准文本编辑器(Gedit / Pluma)时不会发生这些滞后。但是至少没有像Sublime中那样冻结GUI。
Eli Duenisch 2014年

@EliDuenisch然后,不同的操作系统可能会有所不同。在我看来,远程计算机也是Ubuntu服务器。重新测试后,如有任何更改,我将更新我的帖子。
Kenial

2

到目前为止,没有人指出过,对某些人来说可能很重要的一个主要区别是(至少在Windows上)Atom不完全支持美国以外的其他键盘布局。有一个关于此的错误报告,其中有数百篇文章已经开放了一年多了(https://github.com/atom/atom-keymap/issues/35)。

选择编辑器时可能相关。


2
显然已在Atom 1.9(当前为Beta)中修复。
phk

1

注意::

-由于缓存系统做得不好,在Atom中使用大文件时经常会发生数据丢失。

已经被证明了无数次。


这不再发生。它与磁盘空间已满以及文件内容被截断为零而不是将内容复制到临时文件的问题有关。
Raptus
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.