本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 [署名 4.0 国际 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/deed.zh) 本文作者: 苏洋 创建时间: 2018年06月22日 统计字数: 4817字 阅读时间: 10分钟阅读 本文链接: https://soulteary.com/2018/06/22/osx-editor-software-recommendation.html ----- # OSX 软件选择之编辑器 掐指一算,从14年到现在,即使不算自己折腾的黑苹果、妹纸的,Mac Book已经过手了八台,平均下来每半年多就要配置一次系统环境。 从最开始折腾软件[考虑跨平台](https://soulteary.com/2014/07/07/recommend-software.html),到现在专注于单一平台,感觉个人的观念有了很大的变化,正值再次配置系统环境的时期,写一篇文章,记录一下。 说到软件,不论是开发相关的工程师还是学术相关的研究生,都离不开编辑器,甚至毫不夸张的说`编辑`操作对我而言是使用Mac的核心功能之一了,那么就先从编辑器开始聊起。 ## 开发相关的编辑器 编辑器从使用模式来说一般分为两种: - 命令行CLI模式 - GUI界面模式 ### 命令行编辑器 命令行编辑器,我只使用`vi`,做轻度查看和临时性修改(批量替换),原因很简单: 不管是经常使用的`OSX`还是`Linux`系统,基本都安装了`vi`,很多发行版甚至将`vim`软链给了`vi`。 我个人没有进行深度使用,配置一律走默认,旨在达到:临时使用时免配置,**即开即食**。 关于命令行编辑器和传统IDE下谁的开发更高效,不同公司团队仁者见仁智者见智了,这里顺手推荐一个轻度使用过的vim配置环境: [space-vim](https://github.com/liuchengxu/space-vim),如果你想深入的学习和了解vim,并创造一套自己的环境,从这里入手应该可以绕过不少坑。 ### GUI编辑器/IDE 编辑器和IDE的差别可以简单的从功能多少的角度来看。 比如系统自带的`备忘录`,我们肯定不会把它看做IDE,即使你可以写一堆辅助工具来和它进行集成联动。 这里挑选几个用的久的软件聊聊: - [WebStorm](https://www.jetbrains.com/webstorm/) / [IDEA](https://www.jetbrains.com/idea/) - [Ultra Edit](https://www.ultraedit.com/) - [Sublime Text 2/3](http://www.sublimetext.com/) - [Visual Studio](https://code.visualstudio.com/) 不论是否是专业的前端开发工程师,都不太推荐使用WebStorm,除非你是死忠粉买了它的订阅,或者你还在使用以前的买断版(除非老版本的OSX,不然应该不太可能)。 相比较 `IDEA` ,`WS` 更像是一个精修后的定制版,前端各种免配置,界面也明显比同厂其他软件更好看,第一次入坑购买IDE就是买的它。 但是,实际工作中,公司团队的代码风格、代码规范是不同的,基本上是要进行定制化修改的,配置一下 IDEA 的成本并不比 WS 高多少,而且个人很多时候会写一些“标准”传统前端领域之外(HTML、JS、CSS)的程序,IDEA的优势就体现出来了,基本通吃,生产使用社区版够用、当然公司愿意花钱的话,滋瓷一下也是极好的。 `Ultra Edit`从Windows版开始使用,早些时候还折腾过它的[配色主题](https://soulteary.com/2012/02/09/ultraedit-color-theme.html),这个软件目前在Mac上的使用体验很鸡肋,购买价格不贵,150RMB左右,但是实际使用上有几个明显的问题: 1. 不够稳定,崩溃后丢失内容; 2. 自动保存不够聪明; 3. 查看超过屏幕尺寸的内容渲染很慢,会展示空白。 不论是第一点还是第三点,都是我放弃继续使用它的原因,目前还没卸载它的原因只有两点:它查看编辑HEX的体验基本保持了它在Windows上的水准,卖价比下面要介绍的家伙便宜不少。 我原计划是使用UE替换 `Sublime Text` 的,但是发现满足下面几个特性的编辑器其实没有很多: 1. 稳定,极少崩溃,崩溃后能正确恢复内容; 2. 相对智能的自动保存(不需要额外设置可以不打搅用户); 3. 启动快速、渲染速度迅速、打开大文件快速。 但是个人使用ST的奥义是不能真的拿它当IDE,尤其是前端IDE,因为当你给它配置了一堆插件之后,你会发现它失去了轻快的优势,但是也没有到达商业IDE的高度,而且还可能要折腾一些没“营养”的小bug,诸如编码转换、插件启动、快捷键... 关于ST3价格`80$`的问题,如果你深度使用,那么这个价格是还可以的,不然可以考虑下载一个老版本的ST2使用,如果和我一样不进行插件配置的话,偶尔关闭一个弹窗没什么大不了的,反正早已习惯在非IDE中按两次`CMD+S`来进行文件保存,也不存在丢失内容的情况。 最后来聊聊个人比较看好,未来可能会深度使用的编辑器: `Visual Studio`。 发布以来就很对得起大家的期望: - 操作体验:界面友好、启动速度快、加载文件速度快 - 扩展性:插件丰富,且质量较高 - 个性化:定制化能力强大、配置、快捷键兼容性好 - 安全性:大厂背书、[项目开源](https://github.com/Microsoft/vscode/) - 官方维护:一个月至少一个迭代 尤其是近期微软年中购物狂欢,买买买掉`GitHub`之后,一直犹豫在 `Atom` 和 `VS` 之间的同学可以明确选择了。 ## 学术、工作相关的编辑器 如果你家里有人还在读书,或者你经常和非技术相关的同事沟通,应该会经常接触到程序以外的“通用文档”,需要下面的软件来帮助你: - [Apple iWork](https://www.apple.com/iwork/)系列:Number、Pages、KeyNote - [Office 365](https://www.office.com/) 前者很早之前已经免费,只要你是正版OSX用户,免费获取下载即可,更新频率一般,个人感觉差不多一个季度到半年一次,和手机、iCloud联动完美。 偶尔用来做个性化的脑图和UML也是很好的,只不过比专业的软件来说费点事。 Office 依旧很强大,尤其在排版相关,购买家庭版,可以多台设备一起使用,折合一天一块多钱,送一个速度很慢,但是不会丢数据的1T网盘,还是比较划算的。 ## 个人管理相关的编辑器 这一节里,将会简单介绍一些个人常用的软件,你可以把他们当做有特殊功能的记事本来看,但是每个又有各自的亮点: - 整理和输出文章:[MWeb](http://www.mweb.im/) - 有家庭分享需求:备忘录 - 收集工具使用的笔记:[EverNote](https://www.evernote.com/) / [OneNote](http://www.onenote.com/) - 轻度GTD:[OmniFocus](https://www.omnigroup.com/omnifocus/) 和我一样算是见证了Markdown兴起的同学一定一路上折腾了不少MD编辑器:Web版的、各种弃坑的、IDE里集成的、浏览器插件的... 一路用下来并且稳定使用两年的只有MWeb了,为什么呢: - 首先价格比较合理,即使你不在冰点购买,也就100块左右,配合iCloud和`MWeb iOS`版本可以轻度在iPad上进行创作,在路途中合上电脑一样可以整理思路。 - 支持使用外部目录,可以比较清晰的管理文档,我之前有提过,即使不算个人笔记,光是发布过的网站博客日志就有一千多篇,MWeb的搜索目前使用起来还可以。 - 操作界面和预览模式都还不错,支持进行主题修改,支持导出PDF,偶尔有小Bug也在接受范围之内。 系统自带的神器:备忘录。 如果你相信苹果的底限,不会无缘无故动你的数据,不会突然停止服务,那么备忘录是值得纳入持续使用工具范围的工具,为什么呢: - 多端快速同步,数据比存储本地安全。 - 支持部分Markdown符号转富文本,作为快捷输入使用。 - 支持贴图、嵌入PDF文档,支持手写、内容可以联动日程、可以智能识别。 - 支持全局搜索。 - 可以分享给朋友、分享到各种应用。 接下来聊一下个人认为的笔记软件中的曾经的王者:EverNote。 为什么在王者前要加曾经呢,对于个人而言,我认为EN有一些事情没有做好: - 虽然也支持部分Markdown快捷输入,但是无法保留Markdown原始输入内容,带有样式的内容会加大未来迁移或者导出整理时的成本。 - 因为不能使用Markdown,如果接受使用富文本模式的话,在内容包含大量文本的时候,排版弱于OneNote,灵活度弱于OneNote。 - 分享功能弱于许多软件,包括另存为格式进行保存这种功能。 但是它又有一些对我来说暂时不可替代的体验: - 从剪贴板采集内容的重新排版 - 网页采集内容的效率 - 启动到完全可用的执行速度 - 移动端体验 - 云服务器速度还不错 如果你平时有收集素材的习惯,或许它是一个不错的工具。 OneNote的排版可以说接近Word,同时当你开启了实验性功能之后,可以激活OCR识别,在有使用扫描仪的情况下,很便捷。不过我在使用的过程中,它有几个明显的问题: - 网络同步实在是慢,虽然它是免费软件,但是我开了Office365的订阅,OneDrive已经是高级版了,但是还是慢,可感知的不可接受的慢 - 笔记本关闭重新打开的速度十分慢 - 搜索功能感知效率比EN慢 - 使用工具导入的文章丢失分类可以接受,但是批量管理时候只能单篇进行,这个体验非常差 所以OneNote暂且就只能作为EN的数据备份了,避免那一天EN开始自我审查,进行关键词和谐,莫名其妙丢数据(参考网盘、微博、博客历史上的事件),希望这个事情不会发生吧。 忘记说,如果你已经有大量内容,想迁移到EverNote,前期按月或者年购买会员,扩容一下上传量就好,如果没有历史内容存在,也不需要多设备登录同步,使用免费版就够用了,作为十年会员来说(一半是薅羊毛得来),免费流量绝对够用,除了首次导入时不足。 OmniFocus 是标准的GTD软件,但是它同时又带了记事本的功能,我一般用它来收集一些琐碎的事情,或者追溯一些有上下文关联的事情: 比如先在`收件箱`里随便记录想到的点子,别人的诉求,稍后会做的一些内容,每天进行日常整理的时候,把接下来要做的进行分类和时间评估,没计划做的就还在收件箱里存着,选择自己合适的时间点清空收件箱。 桌面版收费40$(不升级PRO),移动端同价(standard版),看起来价格很贵,但是实际使用上感觉还不错: - 云端同步速度不慢,内建备份,支持导出 - 支持创建系统日程,推送提醒做的也还不错(配合手机、手表使用的话) - 可以根据项目来划分事情,并有完整的追溯列表 - 可以根据上下文来划分事情 - 配合检查功能,可以强化个人做某些日常检查的肌肉记忆 不足的话: - 手机启动首屏界面略慢 - 花里胡哨的动画该去掉 - 注释、正文输入体验不是特别友好 ## 一些进行中的尝试 ### 使用开源Blog/CMS替换笔记软件 曾经尝试过使用本地运行的`WordPress`和`Ghost`进行桌面版本笔记软件的替换,考虑到数据应于本地开发数据隔离,所以尝试使用了虚拟机和Docker进行隔离,但是存在两个问题: - 虚拟机太重,一直运行还是很消耗资源的,不过有快照功能加持,数据安全有一定保障 - Docker运行的实例相对轻量,但是数据同步需要自己来做。 后面一旦数据同步方案完全搞定,我应该会发布一个版本分享给大家。 ### 偏代码片段相关的编辑保存 因为一直使用GitLab,所以代码片段很自然的储存在了GitLab的 `snippets` 中,搜索的话,代码片段搜索和全局搜索是两套东西,所以如果要搜索,是一定要来到 `snippets` 页面再进行搜索的。 没有使用 `Dash` 的原因很简单,我需要版本功能,如果修改存在问题,要进行回溯对比,Git相关的软件天然提供这个功能。 ## 最后 以`编辑`功能为线索的内容,差不多讲完了,如果有兴趣,欢迎联系讨论。 --EOF