掐指一算,从14年到现在,即使不算自己折腾的黑苹果、妹纸的,Mac Book已经过手了八台,平均下来每半年多就要配置一次系统环境。

从最开始折腾软件考虑跨平台,到现在专注于单一平台,感觉个人的观念有了很大的变化,正值再次配置系统环境的时期,写一篇文章,记录一下。

说到软件,不论是开发相关的工程师还是学术相关的研究生,都离不开编辑器,甚至毫不夸张的说编辑操作对我而言是使用Mac的核心功能之一了,那么就先从编辑器开始聊起。

开发相关的编辑器

编辑器从使用模式来说一般分为两种:

  • 命令行CLI模式
  • GUI界面模式

命令行编辑器

命令行编辑器,我只使用vi,做轻度查看和临时性修改(批量替换),原因很简单:

不管是经常使用的OSX还是Linux系统,基本都安装了vi,很多发行版甚至将vim软链给了vi

我个人没有进行深度使用,配置一律走默认,旨在达到:临时使用时免配置,即开即食

关于命令行编辑器和传统IDE下谁的开发更高效,不同公司团队仁者见仁智者见智了,这里顺手推荐一个轻度使用过的vim配置环境: space-vim,如果你想深入的学习和了解vim,并创造一套自己的环境,从这里入手应该可以绕过不少坑。

GUI编辑器/IDE

编辑器和IDE的差别可以简单的从功能多少的角度来看。

比如系统自带的备忘录,我们肯定不会把它看做IDE,即使你可以写一堆辅助工具来和它进行集成联动。

这里挑选几个用的久的软件聊聊:

不论是否是专业的前端开发工程师,都不太推荐使用WebStorm,除非你是死忠粉买了它的订阅,或者你还在使用以前的买断版(除非老版本的OSX,不然应该不太可能)。

相比较 IDEAWS 更像是一个精修后的定制版,前端各种免配置,界面也明显比同厂其他软件更好看,第一次入坑购买IDE就是买的它。

但是,实际工作中,公司团队的代码风格、代码规范是不同的,基本上是要进行定制化修改的,配置一下 IDEA 的成本并不比 WS 高多少,而且个人很多时候会写一些“标准”传统前端领域之外(HTML、JS、CSS)的程序,IDEA的优势就体现出来了,基本通吃,生产使用社区版够用、当然公司愿意花钱的话,滋瓷一下也是极好的。

Ultra Edit从Windows版开始使用,早些时候还折腾过它的配色主题,这个软件目前在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

发布以来就很对得起大家的期望:

  • 操作体验:界面友好、启动速度快、加载文件速度快
  • 扩展性:插件丰富,且质量较高
  • 个性化:定制化能力强大、配置、快捷键兼容性好
  • 安全性:大厂背书、项目开源
  • 官方维护:一个月至少一个迭代

尤其是近期微软年中购物狂欢,买买买掉GitHub之后,一直犹豫在 AtomVS 之间的同学可以明确选择了。

学术、工作相关的编辑器

如果你家里有人还在读书,或者你经常和非技术相关的同事沟通,应该会经常接触到程序以外的“通用文档”,需要下面的软件来帮助你:

前者很早之前已经免费,只要你是正版OSX用户,免费获取下载即可,更新频率一般,个人感觉差不多一个季度到半年一次,和手机、iCloud联动完美。

偶尔用来做个性化的脑图和UML也是很好的,只不过比专业的软件来说费点事。

Office 依旧很强大,尤其在排版相关,购买家庭版,可以多台设备一起使用,折合一天一块多钱,送一个速度很慢,但是不会丢数据的1T网盘,还是比较划算的。

个人管理相关的编辑器

这一节里,将会简单介绍一些个人常用的软件,你可以把他们当做有特殊功能的记事本来看,但是每个又有各自的亮点:

和我一样算是见证了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替换笔记软件

曾经尝试过使用本地运行的WordPressGhost进行桌面版本笔记软件的替换,考虑到数据应于本地开发数据隔离,所以尝试使用了虚拟机和Docker进行隔离,但是存在两个问题:

  • 虚拟机太重,一直运行还是很消耗资源的,不过有快照功能加持,数据安全有一定保障
  • Docker运行的实例相对轻量,但是数据同步需要自己来做。

后面一旦数据同步方案完全搞定,我应该会发布一个版本分享给大家。

偏代码片段相关的编辑保存

因为一直使用GitLab,所以代码片段很自然的储存在了GitLab的 snippets 中,搜索的话,代码片段搜索和全局搜索是两套东西,所以如果要搜索,是一定要来到 snippets 页面再进行搜索的。

没有使用 Dash 的原因很简单,我需要版本功能,如果修改存在问题,要进行回溯对比,Git相关的软件天然提供这个功能。

最后

编辑功能为线索的内容,差不多讲完了,如果有兴趣,欢迎联系讨论。

–EOF