334

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

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

原子壳1

PS:在新标签中打开图像以获得更大的分辨率。

4

14 回答 14

167

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

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

Sublime 的“封闭”部分包括 API 和 UI。除了皮肤/主题和着色器之外,API 目前很难修改 UI 的其他方面。例如,Sublime 插件不能与侧边栏交互、控制或在编辑区域上绘图(除了一些有限的方式,例如在装订线中)或在基本文本之外操作状态栏。Atom 的“封闭”部分目前尚不清楚,但我感觉它更小。Atom 有一个更丰富的 API(尽管目前文档很少),其设计目标是允许更好地控制其 UI。与 webkit 紧密结合,提供了许多目前在 Sublime 中无法实现的 UI 功能增强功能。但是,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 的底层性能允许涉及计算繁重的事情。ST3 的符号索引是一个即使在大型项目中也表现良好的示例。虽然 Atom 的 UI 肯定是基于 Sublime 建模的,但明显缺少一些改进,例如 Sublime'

我认为这些产品是互补的。他们共享相似的视觉效果和击键的事实只是增加了事实。在某些情况下,使用其中任何一个都有优势。目前,Sublime 是一款成熟的产品,在所有三个平台上都具有相同的功能,并且具有丰富的插件集。Atom 是新来的孩子,其功能将迅速增长;它还没有准备好生产,并且在性能方面存在担忧。

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

自撰写上述内容以来,关于这两个编辑器的改进的说明。

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

自 2015 年 1 月以来,Sublime 的开发再次回升,修复了一些错误,一些小的新功能(工具提示 API,构建系统改进)和以新的基于 yaml 的 .sublime-syntax 定义形式的重大开发(最终取代旧的xml .tmLanguage)。与替代 Onigurama 的自定义正则表达式引擎一起,新系统提供了更多精确正则表达式匹配的潜力,速度明显更快(高达 4 倍),并且可以并行执行多个匹配。除了着色语法之外,Sublime 还使用这些组件进行符号索引(goto 定义等)和其他语言感知功能。除了进一步加快 Sublime 的速度,特别是对于大文件,这个特性还应该为特定于高性能语言的特性(例如代码重构等)打开潜力。承诺进一步的“大发展”,

于 2014-03-18T05:52:37.713 回答
130

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

许多架构和功能都从 Sublime Text 复制而来,因为它们已经过尝试和测试。插件系统的工作方式几乎相同,但也通过公开新的 API 开辟了许多新功能和潜力。

我相信由于肌肉记忆,快捷方式基本保持不变——人们会记住它们并能够立即点击 Atom。

可以使用 GUI 来控制首选项,而不是直接编辑 JSON,这可能会降低人们开始使用 Atom 的入门门槛。我自己发现很难浏览它们,因为首选项中没有搜索功能。

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

于 2014-03-02T10:03:22.343 回答
126
  1. Atom 与 Sublime 有何不同?
    • Atom 是一个基于 JavaScript/HTML/CSS 的开源文本编辑器/IDE。
    • Sublime Text 是一个商业产品,建立在 C/C++ 和 Python 之上。
    • 与 Atom 相媲美的是Adob​​e Brackets,这是另一个基于 JavaScript/HTML/CSS 的开源文本编辑器/IDE。请注意,这使得 Brackets 更加面向 Web 开发,特别是在前端。
    • 开源项目的优势是开发速度更快,当然还有价格。
  2. 它是否包含 IDE 功能,如构建工具、函数定义跳转、文档等?
    • 简短的回答是,是的,是的,是的。该应用程序是完全模块化的。开源将使人们可以自由地填补其中几个功能的空白。
  3. 有没有人使用 Sublime 收到了 Beta 邀请来指出差异?
    • Atom 的优势在于入门级的可破解性,因为它建立在支持 Web 站点的相同代码之上。
    • Sublime Text 的优势在于性能,因为它不需要运行在 Node.js 之上,而且它是一个更成熟的产品,即将达到稳定版本 3。
    • 评论中可以包含一长串微小差异(我希望这个降价能够绘制一个表格进行比较,但这是另一个问题)。
    • 由于 Atom 的快速投票率,我在此列出的一些差异恐怕会随着时间的推移而过时。例如,在撰写本文时,Atom 仅在 Macintosh 上可用,而 Sublime Text 已经是多平台的。
  4. 我可以按原样使用来自 Sublime 的主题、方案和包,就像 Sublime 可以使用 text mate 一样。
    • 简短的回答是否定的,但由于 Atom 的可破解性,很容易将包从其他编辑器重新组装到 Atom。
于 2014-05-08T15:44:58.140 回答
56

Atom是开源的(到现在已经有几个小时了),而 Sublime Text 不是。

于 2014-05-06T19:28:48.783 回答
22

以下是两者之间的一些区别:






*虽然 APM 是一个独立的工具,但它与 Atom 捆绑并自动安装

于 2014-05-20T04:30:08.157 回答
12

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

在此处输入图像描述

它还突出显示 git 树中根据提交状态更改为不同颜色的文件:

在此处输入图像描述

于 2014-06-18T15:40:21.533 回答
11

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

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

于 2014-03-02T09:56:56.073 回答
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 仍处于 beta 阶段,Sublime 有更多的原生插件包。但是,由于 Atom 是用 Node.js 编写的,因此 Atom 官方网站表示您可以“从 Node 的包存储库中选择超过 5 万个”。(因为我不是 Node.js 专业人士,虽然我没有研究过这个功能)

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

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

所以底线是 Atom 是一个在 beta 阶段使用 Web 技术构建的文本编辑器。相比之下,Sublime 已经经历了许多不同的迭代。Atom 仍然缺少很多 Sublime 支持的包,所以问题是 Atom 会赶上 Sublime 还是变得更好?由于其流行的底层技术,Github 似乎对这种文本编辑的未来充满信心,从长远来看,Atom 可能会成为 Sublime 的一个很好的替代品。

于 2014-03-09T18:51:48.923 回答
5

我尝试了 Atom,它看起来非常好,但是有一个主要问题(至少在 v 0.84 中):

它不支持垂直选择Alt+ 拖动 - 这是每个现代代码编辑器的必备功能。

于 2014-04-14T09:57:21.410 回答
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 配置、包等。

于 2014-08-25T17:34:05.580 回答
2

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

于 2014-05-11T09:58:56.790 回答
2

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

阅读这篇文章后,我尝试了 Atom,但结果对我来说有些痛苦;Atom 似乎没有那么有效地缓存目录结构。每次我在 Tree View 上展开一个文件夹时,UI 都会冻结一小段时间,2~3 秒,可能是在获取文件系统信息。是的,这是因为我使用的是远程文件系统。但是 Sublime 处理这个更有效率,至少它不会在我每次展开文件夹时冻结,所以不那么痛苦。

我认为免费的 Atom 非常棒,而且我的故事很琐碎,可能有一天会得到改进,但它会对此时的某人有所帮助。

--

添加于 2014 年 8 月 26 日

最近,我将我的笔记本电脑从 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 上。我不确定,但这可能是由于操作系统之间的差异。当然,如果你在本地文件系统上工作,你根本不必关心这个问题。

于 2014-05-23T17:04:19.657 回答
2

迄今为止没有人指出并且对某些人可能很重要的一个主要区别是(至少在 Windows 上)Atom 不完全支持美国以外的其他键盘布局。有一个错误报告,其中有几百个帖子已经开放了一年多(https://github.com/atom/atom-keymap/issues/35)。

在选择编辑器时可能是相关的。

于 2015-11-03T16:55:38.493 回答
1

注意力 ::

-- 由于缓存系统制作不佳,在 Atom 中使用大文件时经常发生数据丢失。

它已被无数次证明。

于 2015-08-12T12:44:25.010 回答