掐指一算,从14年到现在,即使不算自己折腾的黑苹果、妹纸的,Mac Book已经过手了八台,平均下来每半年多就要配置一次系统环境。
从最开始折腾软件考虑跨平台,到现在专注于单一平台,感觉个人的观念有了很大的变化,正值再次配置系统环境的时期,写一篇文章,记录一下。
说到软件,不论是开发相关的工程师还是学术相关的研究生,都离不开编辑器,甚至毫不夸张的说编辑
操作对我而言是使用Mac的核心功能之一了,那么就先从编辑器开始聊起。
开发相关的编辑器
编辑器从使用模式来说一般分为两种:
- 命令行CLI模式
- GUI界面模式
命令行编辑器
命令行编辑器,我只使用vi
,做轻度查看和临时性修改(批量替换),原因很简单:
不管是经常使用的OSX
还是Linux
系统,基本都安装了vi
,很多发行版甚至将vim
软链给了vi
。
我个人没有进行深度使用,配置一律走默认,旨在达到:临时使用时免配置,即开即食。
关于命令行编辑器和传统IDE下谁的开发更高效,不同公司团队仁者见仁智者见智了,这里顺手推荐一个轻度使用过的vim配置环境: space-vim,如果你想深入的学习和了解vim,并创造一套自己的环境,从这里入手应该可以绕过不少坑。
GUI编辑器/IDE
编辑器和IDE的差别可以简单的从功能多少的角度来看。
比如系统自带的备忘录
,我们肯定不会把它看做IDE,即使你可以写一堆辅助工具来和它进行集成联动。
这里挑选几个用的久的软件聊聊:
不论是否是专业的前端开发工程师,都不太推荐使用WebStorm,除非你是死忠粉买了它的订阅,或者你还在使用以前的买断版(除非老版本的OSX,不然应该不太可能)。
相比较 IDEA
,WS
更像是一个精修后的定制版,前端各种免配置,界面也明显比同厂其他软件更好看,第一次入坑购买IDE就是买的它。
但是,实际工作中,公司团队的代码风格、代码规范是不同的,基本上是要进行定制化修改的,配置一下 IDEA 的成本并不比 WS 高多少,而且个人很多时候会写一些“标准”传统前端领域之外(HTML、JS、CSS)的程序,IDEA的优势就体现出来了,基本通吃,生产使用社区版够用、当然公司愿意花钱的话,滋瓷一下也是极好的。
Ultra Edit
从Windows版开始使用,早些时候还折腾过它的配色主题,这个软件目前在Mac上的使用体验很鸡肋,购买价格不贵,150RMB左右,但是实际使用上有几个明显的问题:
- 不够稳定,崩溃后丢失内容;
- 自动保存不够聪明;
- 查看超过屏幕尺寸的内容渲染很慢,会展示空白。
不论是第一点还是第三点,都是我放弃继续使用它的原因,目前还没卸载它的原因只有两点:它查看编辑HEX的体验基本保持了它在Windows上的水准,卖价比下面要介绍的家伙便宜不少。
我原计划是使用UE替换 Sublime Text
的,但是发现满足下面几个特性的编辑器其实没有很多:
- 稳定,极少崩溃,崩溃后能正确恢复内容;
- 相对智能的自动保存(不需要额外设置可以不打搅用户);
- 启动快速、渲染速度迅速、打开大文件快速。
但是个人使用ST的奥义是不能真的拿它当IDE,尤其是前端IDE,因为当你给它配置了一堆插件之后,你会发现它失去了轻快的优势,但是也没有到达商业IDE的高度,而且还可能要折腾一些没“营养”的小bug,诸如编码转换、插件启动、快捷键…
关于ST3价格80$
的问题,如果你深度使用,那么这个价格是还可以的,不然可以考虑下载一个老版本的ST2使用,如果和我一样不进行插件配置的话,偶尔关闭一个弹窗没什么大不了的,反正早已习惯在非IDE中按两次CMD+S
来进行文件保存,也不存在丢失内容的情况。
最后来聊聊个人比较看好,未来可能会深度使用的编辑器: Visual Studio
。
发布以来就很对得起大家的期望:
- 操作体验:界面友好、启动速度快、加载文件速度快
- 扩展性:插件丰富,且质量较高
- 个性化:定制化能力强大、配置、快捷键兼容性好
- 安全性:大厂背书、项目开源
- 官方维护:一个月至少一个迭代
尤其是近期微软年中购物狂欢,买买买掉GitHub
之后,一直犹豫在 Atom
和 VS
之间的同学可以明确选择了。
学术、工作相关的编辑器
如果你家里有人还在读书,或者你经常和非技术相关的同事沟通,应该会经常接触到程序以外的“通用文档”,需要下面的软件来帮助你:
- Apple iWork系列:Number、Pages、KeyNote
- Office 365
前者很早之前已经免费,只要你是正版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替换笔记软件
曾经尝试过使用本地运行的WordPress
和Ghost
进行桌面版本笔记软件的替换,考虑到数据应于本地开发数据隔离,所以尝试使用了虚拟机和Docker进行隔离,但是存在两个问题:
- 虚拟机太重,一直运行还是很消耗资源的,不过有快照功能加持,数据安全有一定保障
- Docker运行的实例相对轻量,但是数据同步需要自己来做。
后面一旦数据同步方案完全搞定,我应该会发布一个版本分享给大家。
偏代码片段相关的编辑保存
因为一直使用GitLab,所以代码片段很自然的储存在了GitLab的 snippets
中,搜索的话,代码片段搜索和全局搜索是两套东西,所以如果要搜索,是一定要来到 snippets
页面再进行搜索的。
没有使用 Dash
的原因很简单,我需要版本功能,如果修改存在问题,要进行回溯对比,Git相关的软件天然提供这个功能。
最后
以编辑
功能为线索的内容,差不多讲完了,如果有兴趣,欢迎联系讨论。
–EOF