如何评价 GitHub 发布的文本编辑器 Atom?
来源:互联网 发布:客户资料整理软件 编辑:程序博客网 时间:2024/05/01 12:52
https://www.zhihu.com/question/22867204#answer-31728806
这里是HN上的讨论:
GitHub's new text editor leaked on Twitter这里是github page:
Atom · GitHub 好多repo啊
我不知道有没有知友了解更多情况?我很期待。
链接:https://www.zhihu.com/question/22867204/answer/22944645
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
今天拿到邀请试用了一会儿,可以明确的说跟 Sublime 没有关系。Sublime 是原生界面,脚本用的是 python;Atom 应该是基于 Chromium Embedded Framework,基本上就是个 web app,源码都是 CoffeeScript 写的,连界面都可以用 CSS 来自定义。
除了基本的操作和界面外,和 Sublime 最大的差别在于扩展性。Atom 非常强调模块化,很多默认功能也都是开源的模块。自带友好的模块管理界面,相比之下 Sublime 需要自己手动安装,或是依赖第三方的 package control。Atom 的扩展也是用 JS 或者 Coffee 在 Node + webkit 的环境下开发,并且可以使用 npm 的包,这对于前端和 Node 开发者是很有诱惑力的,需要的话完全可以把 Atom 打造成一个 IDE。
一个明显的缺点是,启动和开文件速度明显不如 Sublime 3。
GitHub 创始人 Mojombo 在论坛上说 Atom 正式发布以后是要收费的,内核将会是以限制性的协议开源,可以看了学习,但是不能拿来商用。其他所有官方模块都是 MIT 协议开源。从策略上来讲,GitHub 以后肯定会通过官方模块把 Atom 和 GitHub 进行深度整合。收费我估计不会贵到哪里去,说到底让开发者因为 Atom 而用 GitHub 用得爽,进一步加强用户黏度才是目的吧。这和 Google 做浏览器是一个道理。
---
补充一些技术实现上的细节:打开 Package Content 看了下,可以看到内部的由 CoffeeScript 编译过来的 JavaScript。内部的一些模块在 GitHub 上也能找到源码。核心的两个库,一个是界面库 Space Pen (https://github.com/atom/space-pen ),自带创建 DOM 的 DSL,并继承自 jQuery 原型,可以看做加强版的 Backbone.View。另一个库是 Theorist ( https://github.com/atom/theorist ),一个基于事件的模型库,类似 Backbone.Model + Backbone.Collection。内部用了大量的 emitter 和 subscriber 模式。总的来说,代码很清晰,模块化做得非常好,非常值得做 SPA 的前端学习。
链接:https://www.zhihu.com/question/22867204/answer/90728790
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
Atom 唯一的槽点就是“卡”,不过那是去年的情况了,1.0后性能数次大提升,比起sublime/vsc之类虽不算流畅,但同时编辑20个数千行的文件没有压力。如今让人感觉慢的地方主要是启动loading(也大大短于eclipse, idea),使用时并没察觉它比其他编辑器慢再哪。而文本编辑器的快慢,更重要的是“让你工作更快更有效率”。下面说说为何 Atom比其他更有效率:
兼容VIM模式
这无疑团结了一大班 Vim过来的用户,Sublime虽然也有VIM模式,但是Sublime在 mac下面的vim模式有bug,我习惯用 hjkl来移动光标,sublime再mac下hjkl移动有问题,且我习惯CTRL_[来返回NORMAL,手指不离开主键盘区,而sublime的vim模式只支持ESC返回,加上其作者经常神秘消失,最稳定的2.x版本已三年没有更新,这些问题一直得不到修正。
由于Atom的定制程度直追 Vim/Emacs,它的vim模式能够使用插件来实现,而不像sublime必须builtin,Atom的VIM模式除了官方实现外还有很多用户实现,各有所长,你不喜欢可以换,Sublime就傻逼了,觉得builtin的不行,你就没办法了,而且作者不更新你也没办法。
Atom里的Vim模式并不是强制的,你可以用也可以不用,这样入门用户也不会觉得困难,但是如果你用惯Vim的话,使用Vim模式可以取得更好的效率,我觉得Vim/Atom-VimMode能够提升效率的地方有以下三方面:
1. 手指不离开主键盘区:
所有功能皆能在主键盘区完成,不用去按方向键,不用把手挪去按Home/End,更不用动鼠标。就像咏春中强调中线理论,认为一切动作围绕中轴线开展,守护自己中轴线的同时攻击别人的中轴线。Vim/Atom-VimMode中,双手不但从不离开主键盘,并且八根手指随时守护再HOME位(ASDF, JKL;)有动作就移动,然后马上归位。
2. 细粒度微操作:
星际/dota玩的好,微操基本功,微操又快又精确,Vim/Atom-VimMode一样,比如:
if (xxxx) {}
使用o直接再下一行插入,避免 END/回车
使用I再行首插入,避免移动半天光标。
向前/后移动一个单词到单词头、尾。
快速更改当前单词,用/来快速搜索移动光标。
dd+p来快速移动代码块,取代shift+方向键半天。
shift-j 来两行合并成一行,代替 HOME, back 若干次。
。。。
你再编辑代码的时候,90%的情况可以直接一步完成,这就叫细粒度微操,而且整个过程手都不需要离开主键盘,不像传统编辑器那样,若干笨重的操作组合再一起,操作不够细步骤多的同时手还要再:主键盘区,方向键区,扩展键区 来回移动,效率奇低。而Vim/Atom-VimMode下,手指随时守护在home区(ASDF JKL;),所有微操都是围绕HOME区进行,不会移动到任何主键盘以外的区域,更别说用鼠标、触摸板。
3. 批量操作:
比如要给下面代码每行后面加一个分号:
var x = 1var y = 2var z = 3console.log('result is ' + (x + y + z).toString())
第一行:A;<ESC>
后面所有行:J.
超级爽快的操作,这样的操作还很多,你还可以单条命令对一万行代码重复上述步骤,或者把c代码拷贝到go里面先一句话把所有分号给删除了。Vim下面的名言:绝不重复。
总之如果你熟悉 VIM模式,用 Atom能感到完全自由的方式,随心所欲的书写代码,而不是被书写这件事情费脑筋,解放大脑完全用于思考而不用于打字。但是同时对不习惯VIM的人照样友好,或者对想使用VIM的便利却又痛恨VIM这个软件的简陋的人带来了福音。
- 如何评价 GitHub 发布的文本编辑器 Atom?
- 六年磨一剑,Github 发布 Atom 编辑器
- Github Atom开源文本代码编辑器- 由 Github 打造的下一代编程开发利器
- Atom 更为先进的文本代码编辑器 - 由 Github 打造的下一代编程开发利器
- Atom 更为先进的文本代码编辑器
- Github atom编辑器
- 安装Atom文本编辑器
- Atom,github出品编辑器,未来最好的编辑器
- Github开源编辑器Atom
- Github开源编辑器Atom
- Github开源编辑器Atom
- Atom(Github 出品的跨平台编辑器 安装与配置)
- GitHub Atom - 移除编辑器内的竖线
- 想拥有自己的 Atom 文本编辑器插件吗?
- 想拥有自己的 Atom 文本编辑器插件吗?
- 想拥有自己的 Atom 文本编辑器插件吗?
- 制作你的第一个 Atom 文本编辑器插件
- 制作你的第一个 Atom 文本编辑器插件
- 为什么端点不能留有安全盲点
- 视频是新时代的文本,微信也不得不认了!
- EasyUI自定义验证-ajax验证用户名是否可用,成功并跳转页面
- SQL 内按位与运算 &
- Android内存泄漏(笔记)
- 如何评价 GitHub 发布的文本编辑器 Atom?
- jQuery异步提交form表单
- JAVA socket 进行十六进制报文交互测试
- ubuntu环境安装php7+ngnix+mysql
- linux下创建mysql用户
- Java中的反射和类装载器
- 命令行运行Unity脚本
- libCEF总结02字符串
- set命令简介