Sublime text和Github的Atom有什么区别?

Github宣布了与Sublime非常相似的Atom 。 甚至像⌘+ P⌘+ Shift + P等键盘快捷键也是一样的。

  1. Atom与Sublime有什么不同?
  2. 它是否包括IDEfunction,如构build工具,函数定义跳转,文档等?
  3. 有没有人使用Sublime有一个Beta邀请来指出差异?
  4. 我可以使用Sublime的主题,scheme和包,就像Sublime可以与文本伴侣一样

原子壳 1

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

  1. Atom与Sublime有什么不同?
    • Atom是一个基于JavaScript / HTML / CSS的开源文本编辑器/ IDE。
    • Sublime Text是一个基于C / C ++和Python的商业产品。
    • 与Atom相比, Adobe Brackets是另一种基于JavaScript / HTML / CSS的开源文本编辑器/ IDE。 请注意,这使得Brackets更多地面向Web开发,特别是前端。
    • 开源项目的优点是开发速度更快,当然价格也更快。
  2. 它是否包括IDEfunction,如构build工具,函数定义跳转,文档等?
    • 简短的答案是肯定的,是的。 该应用程序完全模块化。 开放源代码将使人们能够自由地填补这些function中的几个空白。
  3. 有没有人使用Sublime有一个Beta邀请来指出差异?
    • Atom的优点是入门级的黑客行为,因为它build立在与网站相同的代码上。
    • Sublime Text的优点在于性能,因为它不需要在Node.js上运行,而是一个更成熟的产品,即将达到稳定版本3。
    • 在评论中可以包含很长一小段的细微差别(我希望这个降价可以绘制一张比较表,但这是另一个问题)。
    • 由于Atom的高投票率,恐怕我在这里列出的一些分歧会随着时间的推移而过时。 举例来说,在撰写本文时,Atom仅在Macintosh上可用,而Sublime Text已经是多平台的。
  4. 我可以使用Sublime的主题,scheme和包,就像Sublime可以与文本伴侣一样。
    • 简短的答案是否定的,但是由于Atom的可破解性,将其他编辑器的软件包重新制作成Atom将很容易。

除了以前的答案之外,还有必要从发展的angular度来阐明这两种产品的区别。

崇高是二进制编译的平台。 它的核心是用C / C ++编写的,它的许多特性都是用Python来实现的,这也是用来扩展它的语言。 Atom是用Node.js / Coffeescript编写的,在webkit下运行,Coffeescript是扩展语言。 尽pipe在用户界面和用户体验方面类似,但Sublime的performance明显优于Atom,特别是在处理大文件,复杂SnR或对文件/缓冲区执行大量处理的插件等“繁重工作”方面。 虽然我期望Atom在成熟时有所改进,但devise和平台select会限制性能。

Sublime的“封闭”部分包括API和UI。 除了皮肤/主题和色彩,API目前还难以修改UI的其他方面。 例如,Sublime插件无法与侧边栏交互,控制或绘制编辑区域(除了在一些有限的方式,例如在排水沟中)或操纵状态栏超出基本文本。 primefaces的“封闭”部分目前还不得而知,但是我感觉它更小。 Atom拥有更丰富的API(尽pipe目前文档logging较差),其devise目标是允许更好地控制其UI。 与webkit紧密结合,为Subfunction增强提供了许多function,这些增强function目前不可能与Sublime一起使用。 但是,Sublime的扩展更接近本机,所以那些在大型缓冲区中执行计算密集型,高度重复性或复杂的文本操作的操作在Sublime中是可行的。

由于更多的Atom将会开放, Github在5月6日开源Atom。 因此,支持和发展速度可能会很快。 相比之下,崇高的发展迟迟没有发生, 但还没有死亡 。 特别是有许多错误,很多都是微不足道的,这些错误还没有被开发者修复。 没有一个是展示imo的,但是如果你想要一些快速开发的东西,定期修复和增强,Sublime会感到沮丧。 也就是说,根据Github的统计数据, 用于Windows和Linux的可安装的Atom软件包尚未发布,代码库上的活动似乎在宣布之前几周内就已经冷却了。

就IDEfunction而言,从webdev的angular度来看,Atom将允许扩展到像Webstorm这样的产品,尽pipe还没有出现。 由于编辑本身感觉呆滞,因此Atom将如何进行这种“重”扩展仍有待观察。 由于API的限制和底层webkit的缺乏,Sublime将不允许这种级别的UI自定义,尽pipe开发人员可能会扩展API以支持将来的这些特性。 同样,Sublime的基础性能允许涉及计算咕噜的事情; 即使是大项目,ST3的符号索引也是一个很好的例子。 虽然Atom的用户界面无疑是以Sublime为模型的,但是一些改进却显而易见,例如Sublime的学习小组以及按照最常用的默认值进行加权的tab-completepopup窗口。

我认为这些产品是互补的。 他们分享相似的视觉效果和击键的事实只是增加了事实。 将会有使用两者都有优势的情况。 目前,Sublime是一个成熟的产品,在所有三个平台上都具有function均衡性,还有丰富的插件。 Atom是新特性快速增长的孩子, 它还没有感觉到生产就绪,而且在性能方面也有担忧。

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

自上述写作以来,关于对这两位编辑进行改进的说明。

除了对其核心的错误修正和改进之外,Atom在第三方扩展方面经历了快速增长,自动完成加上成为标准Atom分发的一部分。 扩展质量差异很大,特别恼人的是不稳定的第三方软件包可能导致编辑崩溃的频率。 在去年,Atom已经开始使用React,通过将回stream/重绘活动转移到GPU来提高性能,显着提高了UI对典型编辑操作(滚动,光标移动等)的响应能力。 虽然这显着改善了编辑的感觉,但是如上所述的CPU密集型任务仍然感觉麻烦,并且启动缓慢。 除了性能改进之外,Atom感觉全面更稳定。

自2015年1月以来,Sublime的开发又一次发生了起色,并且有了一些错误修正,一些小的新function(工具提示API,构build系统的改进)以及基于新的基于yaml的.sublime语法定义(最终取代旧的xml .tmLanguage)。 再加上替代Onigurama的自定义正则expression式引擎,新系统为精确的正则expression式匹配提供了更大的潜力,速度明显更快(高达4倍),并且可以并行执行多个匹配。 除了着色语法,Sublime使用这些组件来进行符号索引(goto definition等)和其他语言感知function。 除了进一步加速Sublime,特别是对于大型文件,这个特性应该可以开发具有高性能语言特性的代码重构等潜力。进一步的“大发展”是承诺的,尽pipe作者依然如此,紧紧地l住他们。

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

Sublime Text中的许多体系结构和function都被复制,因为它们经过了testing。 插件系统的工作原理几乎相同,但是通过公开新的API也开辟了许多新的function和潜力。

我相信由于肌肉记忆,快捷键大部分保持不变 – 人们会记住它们,并能够立即点击Atom。

首选项可以通过GUI进行控制,而不是直接编辑JSON,这可能会降低让人们开始使用Atom的入门障碍。 我自己发现很难全部导航,因为在首选项中没有searchfunction。

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

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

以下是两者之间的一些差异:

  • Atom 是开源的 (MIT许可证)
  • Sublime Text的单用户许可证费用为70美元 。

  • Atom是用Node.js,CoffeeScript,HTML和LESS编写的。
  • Sublime Text是用C ++编写的,Python用于插件,Objective-C用于Cocoa集成

  • Atom有一个内置的包pipe理器*
  • 崇高文本取决于包pipe理的第三方解决scheme( Wbond包控制 )

  • 在编写本文(2014年5月20日)时,仅有Mac OS X(10.8或更高版本)的Atom二进制文件。 如果你想在Windows或Linux下使用它,你必须build立它。 更新:现在, 有Mac OS X(10.8或更高版本)Windows和Linux的Atom二进制文件 。
  • Sublime Text二进制文件可用于Mac OS X,Windows(可安装或可移植)和Linux(作为.deb或tarball)

  • Atom设置可以通过用户友好的界面或直接编辑configuration文件进行configuration 。
  • 崇高文本只允许您通过configuration文件更改设置 。

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

Atom由Github创build,包含“git意识”。 这是我非常喜欢的一个function:

在这里输入图像说明

此外,它会突出显示git树中的文件,这些文件根据提交状态使用不同的颜色进行更改:

在这里输入图像说明

我今天刚收到我的testing版邀请,马上试用Atom。 graphics用户界面感觉像崇高,是的,有从Sublime通过一些捷径。

除了上面提到的一切之外,这里有一些我迄今注意到的差异:

  1. Vim模式不如Sublime上的Vintage模式(这不是一个全function的vim),因为vim包处于开发的早期阶段。 有关详细信息,请参阅https://atom.io/packages/vim-mode

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

  3. 同样,由于Atom仍处于testing阶段,Sublime拥有更多本地插件包。 但是,由于Atom是用Node.js编写的,Atom官方网站说你可以“从Node的软件包库中select超过5万个”。 (因为我不是一个Node.js专业版,我没有看看这个function,虽然)

  4. Atom拥有更好的Github支持,但是Sublime有几个Git包。

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

所以底线是Atom是在beta阶段用web技术构build的文本编辑器。 相比之下,崇高已经通过许多不同的迭代演变而来。 Atom仍然错过了Sublime支持的很多软件包,所以问题是Atom会赶上Sublime还是变得更好? Github似乎对这个文本编辑的未来充满信心,因为它的stream行的底层技术,Atom可能会长期成为Sublime的一个好select。

另一个区别是,Sublime文本是一个封闭的源代码项目,而Atom源代码将会公开可用 – 尽pipeGithub不打算将它作为一个真正的开源项目发布。 他们想要访问代码,而不打开它的贡献。

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

我试过Atom,它看起来非常好,但有一个主要问题(至less在0.84):

它不支持垂直selectAlt + Drag – 这是每个现代代码编辑器都必须的。

Atom仍然处于testing阶段(v0.123,正如我正在撰写的那样),但是它的运行速度很快。 比崇高的方式快。 新版本每周发布一次,有时在同一周甚至很less。 在短暂的使用期限内,它的版本比Sublime更多,需要几个月的时间才能发布一个新function或者一个bug修复。 以下是关于Atom自推出testing版以来的回顾:

  1. 崇高比Atom有更好的performance。 只是因为它是用C ++编写的。 另一方面,Atom是基于Chromium构build的基于Web的桌面应用程序,虽然性能接近内核,但要达到相同的速度和响应速度将是非常困难的,甚至是不可能的。 去年七月,Atom开始使用React,它给了它一个不错的性能提升,但你仍然可以感受到它的不同。 除此之外,如果Atom的性能问题不会推动用户 – 崇高更好地加快发布周期,刷新其小UX的调整,并考虑让更多的贡献者,因为这是Atom的胜利。

  2. Atom的软件包生态系统的增长速度也非常快,目前可能不如Sublime的那么大,但是我有一种感觉,GitHub在回来的时候会更快地增长。 它可能拥有大部分IDE,比如你可以想象的插件。 现在的一个主要区别是,它不能处理大于2MB的文件,因此需要牢记。

  3. 首先你会注意到的是,崇高的小地图不见了! 除此之外,第一印象是Atom看起来和Sublime差不多。 我在这篇博文中写了一个更深入的比较。

  4. 没有简单直接的方式来移植你的Sublimeconfiguration,包等,据我所知。

一个主要的区别是支持“印度字体”又名南亚文字(包括诸如高棉语,老挝语,缅甸语和泰语等东南亚语言)。 另外,对东亚语言(中国,日本,韩国)的支持要好得多。 这些都是已知的错误(实际上是评级最高的错误),这些错误已经持续了好几年(以为东亚语言支持似乎用得更好,但现在变得很难使用):

我在极端的环境中工作 通过ssh(又名.sshfs)编辑我的笔记本电脑上安装的远程文件系统(当然是外部networking)上的文件。 不pipe为什么我这样做,虽然它的繁琐的响应,当我使用崇高的文本2时,它是相当可食用的。

看完这篇文章之后,我尝试了Atom,但是结果对我来说有些痛苦。 Atom似乎没有如此高效地caching目录结构。 每当我在Tree View上展开一个文件夹时,用户界面会在短时间内冻结2〜3秒,可能会获取文件系统信息。 是的,这是因为我正在使用远程文件系统。 但崇高处理这个更有效率,至less它不冻结,每次我展开一个文件夹,所以痛苦less。

我认为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似乎没有发生。 我不确定,但可能来自操作系统之间的差异。 当然,如果你使用本地文件系统,你根本就不用关心这个问题。

注意::

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

它已被certificate无数次。

一个主要的区别是,没有人指出,而且可能对某些人来说很重要的是(至less在Windows上)Atom并不完全支持比美国更多的键盘布局。 有一个错误报告,有几百个post已经打开了一年多了( https://github.com/atom/atom-keymap/issues/35 )。

select一个编辑器可能是相关的。