作为一名程序员,能够利用好工具提高开发和工作效率是非常重要的。我个人使用的都是苹果系列产品,电脑为 MacBook Pro 15 寸,手机 iPhone 7P,另外还有一个 iPad Pro 和一副 Apple Watch。我一直觉得 Mac 是非常适合做程序开发的,它既有比较不错的页面,也有类 Unix 的操作系统,使得日常使用和程序开发都极其便利,另外由于苹果本身自有的 iCloud 机制,使用 Mac、iPhone、iPad 跨平台开发和工作也变得十分便利。
近期我又对自己的一些工具进行了整理,弃用了一些工具,新启用了一些工具。目的也只有一个,就是提高自己的工作和开发效率,让生活变得更美好。如果你也在用 Mac 开发,或者你也有使用 iPad、iPhone,下面我所总结的个人的一些工具或许能给你带来帮助。
快速导航
这是 Mac 上的一个工具,要说到提高效率,首推 Alfred,可以说是 Mac 必备软件,利用它我们可以快速地进行各种操作,大幅提高工作效率,如快速打开某个软件、快速打开某个链接、快速搜索某个文档,快速定位某个文件,快速查看本机 IP,快速定义某个色值,几乎我们能想到的都能对接实现。
其实 Mac 本身已经自带了软件搜索还有 Spotlight,但是其功能还是远远比不上 Alfred,有了它,所有的快捷操作几乎都能实现。
这些快速功能是怎么实现的呢?实际上是 Alfred 对接了很多 Workflow,我们可以使用 Workflow 方便地进行功能扩展,一些比较优秀的 Workflow 已经有人专门做过整理了,可以参见:https://github.com/zenorocha/alfred-workflows,大家可以安装自己所需要的 Workflow,大大提高效率。
复制粘贴
Mac 上默认只有一个粘贴板,当我们新复制了一段文字之后,如果我们想再找寻之前复制的历史记录就找不到了,这其实是很反人类的。
好在 Paste 这款软件帮我们解决了这个问题,它可以保存我们粘贴板的历史记录,等需要粘贴某个内容的时候只需要呼出 Paste 历史粘贴板,然后选择某个特定的内容粘贴就好了,另外它还支持文本格式调整粘贴板分类和搜索,还可以支持快速便捷粘贴。有了它,再也不用担心粘贴板丢失了!
另外使用 Mac 和 iPhone、iPad 之间也可以相互之间复制粘贴,可以在一台 Apple 设备上拷贝文本、图像、照片和视频,然后在另一台 Apple 设备上粘贴该内容。例如,可以拷贝在 Mac 上浏览网页时发现的食谱,然后将其粘贴到附近 iPhone 上“备忘录”中的购物清单。这是在 macOS Sierra 版本之后出来的功能,若要使用需要确保 Mac 的版本是 Sierra 及以后。若要使用,几个设备必须满足“连续互通”系统要求。它们还必须在“系统偏好设置”(在 Mac 上)和“设置”(在 iOS 设备上)中打开 Wi-Fi、蓝牙和 Handoff,另外必须在所有设备上使用同一 Apple ID登录 iCloud。
具体的操作流程可以参见苹果的官网说明:https://support.apple.com/kb/PH25168,有了这个功能,日常的一些操作便可以直接同步了,甚至不再需要 AirDrop,更不需要微信和邮件。
时间管理
现在这个时候,时间比什么都重要,每个人的时间都是公平的,如果我们能够合理规划好自己的时间和工作,这就跨出了成功的一步。
我曾经尝试用手写的方式来记录自己的一些任务,但总感觉它有一些并不方便的地方。比如某时某刻突然想起来,想要添加一件事情或者完成了一件事情,或者想要修改截止时间,或者想要划分优先级,其实都不怎么方便。最好的方式还是通过一些专用的时间管理软件来分配分配和管理自己的时间。
我曾经使用过非常多款时间管理工具,最终我选择的是 Todoist,这个是我感觉体验非常不错的一款。这个软件里面基本的任务添加与勾划功能当然必不可少,它也支持优先级管理,分类管理,时间设置,另外还有几个我觉得非常加分的几个点,比如:
-
添加时间时可以直接通过一句话来添加,比如”每隔两天晚上九点运动”,它会自动识别并设置为循环任务,并能在相应的时刻提醒你。
-
支持全部平台,不论是网页还是 Windows、Mac、Android、iPhone、iPad、Apple Watch、Chrome、Firefox,你能想到的平台,应有尽有。
-
它还支持事件同步,可以在 Mac 或者 iPhone 的日历中添加 Todoist 的同步,这样你所有的事情都会被定时同步到日历软件中,这样日历中就既包含了节日、生日等信息,又可以把每天我们需要做的事同步进来,日程信息一目了然。这样你就可以把日历变成一个提醒器,设置什么时候提醒就好了,现在我就在用 Mac 或者 iPhone 上的日历来提醒我什么时间该做什么事情了。
-
它还支持多人写作,就类似于 Worktile、Teambition、Trello,我曾经使用这款软件完成了多个项目的任务分配和多人协作开发,还是非常方便的。
-
另外它还支持过期智能重新安排任务,比如有一些任务没有完成,它还可以根据优先级来重新进行时间规划和安排,同时也有任务评分和目标评价机制,来反映我们任务完成情况。
另外关于时间管理还有一个非常重要的四象限法则,大家也可以了解一下。有了这个法则,大家可以合理安排优先级,合理分配每个任务的时间。有关于我的时间管理经验我后面还会详细写一篇相关的文章,介绍一下我平时会怎样进行时间规划和学习的。
另外我还尝试过番茄土豆这个软件,这个软件的缺点在于整体的功能还比较简陋,而且不能和我已有的 Todo List 进行同步。好处就是可以自己设置番茄,保持专注工作。但目前我尚未发现满意的产品,如有还希望大家可以留言推荐一下,谢谢。
笔记记录
在学习的时候来进行记录是非常非常重要的,强烈建议一边学习一边把所做所想记录下来,最后做一下整理成文。一方面方便查阅,另一方面加深印象和理解。
Markdown 想必大家都已经很耳熟了,现在我写文章或者笔记几乎全都用 Markdown 来写,现在很多云笔记也慢慢逐步支持 Markdown 的语法了,我的博客后台也自己配置了 Markdown 的支持。不过也有某些平台尚未支持 Markdown,比如知乎,忍不住吐槽一句,知乎的编辑器实在用得是心累,当然可以使用插件来解决,也当然也有所好,我就不再说什么了。不过我还是强烈推荐 Markdown 来进行写作和记录的,用过之后你可能就不再想用 Word 了。
言归正传,既然谈到笔记和写作。我的笔记本是 Mac,之前几乎所有的笔记,包括写书,都几乎是在 Mac 上完成的,但是确实有的时候是不方便的。比如 Mac 不在身边或者想用 iPhone 或者 iPad 来写点东西的时候,一个需要解决的问题就是云同步问题。有了云同步,我们如果在电脑上写了一部分内容,接着切换了另一台台式机,或者切换了手机的时候,照样能够接着在原来的基础上写,非常方便。
这时候可能就有小伙伴推荐有道云笔记、印象笔记等软件,它们支持 Markdown,但这并不是它们的主打支持方向,对 Makrdown 的支持当然没有一些专业的 Makrdown 编辑工具专业。对我个人而言,我不想因为它们自带了云同步而抛弃了纯粹的 Makrdown 写作环境,我只想要一个纯粹的 Makrdown 写作环境,而不想引入比如有道云里面的普通笔记、签到等冗余的功能,也不想看到里面的广告推荐等内容。所以对于云同步,我使用了另外的解决方案。对于写作软件,我也摸索出了自己的一套方案。
对于电脑端的 Markdown 写作软件,推荐两款,一款是 Typora,另一款是 MarkEditor。
对于 Makrdown 编辑器来说,我觉得有几个比较重要的点:
-
不能纯写 Makrdown,要实时地能够看到自己写完 Makrdown 之后最终呈现的效果是怎样的。
-
插入图片要方便,很多编辑器需要先将图片挪到某个文件夹下或者上传图片才可以插入图片,这是很不友好的,如果能够直接通过复制粘贴的形式插入图片,甚至能够自动将图片上传到云端,那就再好不过了。
-
能够打开一整个 Makrdown 文件夹,左侧显示文件列表,右侧进行写作编辑,不能仅仅支持一个 Markdown 文件的编辑。
-
如果需要用到公司,那么编辑器需要对 Markdown 公式支持比较好。
以上介绍的这两款软件都可以做到。
-
Typora 是免费的,更加轻量级,而且支持即写即得,界面支持和公式支持都比较好,图片的话可以结合 iPic 软件直接上传到图床,同时也可以直接将复制的图片直接粘贴到编辑器中,非常友好,目前我正在使用。
-
MarkEditor 是收费的,功能更为丰富,支持左右分栏模式、阅读模式等,它也支持直接复制和粘贴图片,另外还有强大的导出功能,还可以直接将文件发布为一个网站等等,也十分推荐。
不过目前由于 Typora 更轻量级,并且能和 iPic 而且功能配合使用,粘贴后的图片可以点击直接上传到云端,非常方便,我目前已经由 MarkEditor 切换到 Typora 了。
写作界面如下:
如图这是打开了一个文件夹,这个文件夹里面有好多 Makrdown 文件,都是我在研究和学习过程中所写的笔记。
然后需要解决的就是云同步问题,云同步其实使用网盘就足够了。由于我使用 Mac,所以我选用了 iCloud,开了 200G 的空间,足够了。这样我所记录的内容能够秒级同步到 iCloud Drive 中,这样我再使用 iPhone、iPad 就可以直接看到最新的内容了。当然还有一些推荐的,比如 OneDrive、谷歌云等多种云盘同步工具,哪个方便用哪个。Mac 和 iPhone 的好处就是已经内置了 iCloud Drive,所以不用再去在各个终端上配置了。
接下来就是在其他的电脑以及 iPhone、iPad 上进行写作的解决方案了。由于我的文件都已经存放在了 iCloud Drive,所以就需要一款 Makrdown 编辑软件可以直接读写 iCloud Drive 里面的内容,同时界面还要友好,功能完善一点。在这里我最终选择了 Markdown Pro,它的功能简洁但是又比较完善,打开之后直接选取 iCloud Drive 里面的 Makrdown 文件即可开始编辑,并且它是左右分栏的,即左侧编辑,右侧预览,非常方便简洁,另外它对公式的支持也很好,下图是我在 iPad 上对本文进行编辑的效果预览图。
对于图片的插入,在 iPhone 和 iPad 上我借助了另外一个工具,叫做 SM.MS,这个软件可以直接选取图片,然后上传到云端,点击复制即可得到链接和 Makrdown 图片链接,所以插图也不是什么问题了。
如图所示,上传照片之后,便会出现各种各样的图片链接形式,有纯链接、HTML、Markdown 等等,直接点击复制按钮即可复制,然后粘贴到文档中。
另外如果你用了 Windows 的话,只要下载一个 iCloud 云盘软件即可同步。如果使用的是其他的云盘软件,也只需要配置一下就好了。
有了这套,我们就可以实现随时随地写笔记,Mac、iPhone、iPad 无缝切换。
思维导图
很多时候我们在构思方案或者流程的时候需要对思维做梳理,或者在列方案呈现的时候也需要分门别类地进行呈现。这时候大多数情况下就需要用到一个工具,思维导图。
思维导图工具我个人使用的是 MindNode,在 Mac 上用它可以通过各种快捷键快速的增删思维导图节点,另外界面也非常绚丽多彩。
对于思维导图软件来说,我也希望能全平台同步,其实 MindNode 也有对应的移动端软件,同样是 MindNode,二者可以通过 iCloud Drive 进行同步,同样可以做到无缝衔接。
另外还有很多朋友也在用 XMind,功能同样很强大,大家也可以试试。
远程控制
我们经常会和各种服务器打交道,例如我们经常使用 SSH 来远程连接某台 Linux 服务器,原生 Terminal 是支持 SSH 的,但你会发现原生带的这个太难用了。可能很多小伙伴使用 iTerm,不得不说这确实是个神器,大大方便了远程管理流程。但我在这里还要推荐一个我经常使用的 SSH Shell,没错,它的名字就是 SSH Shell,它的页面操作简洁,同时管理和记录远程主机十分方便,另外还支持秘钥管理、自动重连、自定义主题等等功能,个人用起来十分顺手,强烈推荐!
当然除了电脑,当我们出去在外的时候,紧急情况也可能需要使用 SSH 来连接和管理我们的服务器,所以我也在 iPhone 和 iPad 上装了远程管理软件,叫做 Termius,同样功能十分强大,快捷操作十分便捷,有免费的试用期限,我觉得非常好用就订购了,推荐给大家。
代码记录
作为一名程序员,我们会经常写或者使用一些关键代码。
比如有一天我写了一些方法,这些方法可以完成非常重要的功能,后面的项目也会经常遇到,那么怎么办呢?很多情况下我们想把它保存起来,放到某个收藏夹里面备用,等到用的时候重新把它复制出来。或者有一些繁琐的命令,我实在是记不住,或许我们也想把它记录下来。
很多情况下,我们可能简单地使用文本文件,但并不方便同步和查找。或者云笔记保存下来,但这些并不是专门用来保存代码的。更高级一点,我们会联想到使用 GitHub Gists,但每次记录的这个流程也比较麻烦。
这里推荐一个专门用来记录代码片段的软件,叫做 SnippetsLab,适用于 Mac 系统,可以专门用来管理代码片段,还支持多种代码格式。比如我就将代码按照编程语言划分,划分为 Python、JavaScript 等等,分文件夹存储,有不错的代码就随手贴过来,另外它也支持搜索,管理代码非常方便。如果某一天想查某个代码了,直接打开它一搜就有了,可以大大提高开发效率。
以上就暂且总结这么多,其实还有不少好用的用具,后面再一一为大家总结分享。
另外再问下大家,你们买 iPad 了吗?是不是觉得比较鸡肋,或者平时都用不上,那这样就没有发挥 iPad 的最大效用,如果利用好了,它可以进一步方便我们的生活,后面我也会专门写一下 iPad 方面的一些用途。
由于水平和见识有限,如果大家有更好的软件或者方案推荐,欢迎大家留言!也希望我的一些方案对大家有所帮助,谢谢!